<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google Data &#187; Open Source Programs Office</title>
	<atom:link href="/author/open-source-programs-office/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Wed, 28 Dec 2016 21:09:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.13</generator>
	<item>
		<title>Open source down under: Linux.conf.au 2017</title>
		<link>https://googledata.org/google-open-source/open-source-down-under-linux-conf-au-2017/</link>
		<comments>https://googledata.org/google-open-source/open-source-down-under-linux-conf-au-2017/#comments</comments>
		<pubDate>Wed, 28 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=fc1c36e16ba67bd8b6fd768c3db9d889</guid>
		<description><![CDATA[It&#8217;s a new year and open source enthusiasts from around the globe are preparing to gather at <a href="https://linux.conf.au/about/hobart/">the edge of the world</a> for <a href="https://www.linux.conf.au/">Linux.conf.au</a> 2017. Among those preparing are Googlers, including some of us from the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a>.<br /><br />This year Linux.conf.au is returning to Hobart, the riverside capital of Tasmania, home of Australia&#8217;s famous <a href="https://en.wikipedia.org/wiki/Tasmanian_devil">Tasmanian devils</a>, running five days between January 16 and 20.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img alt="Circle_DevilTuz.png" height="239" src="https://lh4.googleusercontent.com/jlhckbPV-scnnfRhzTGjzXueV38u2ulmnJ3F9nYP0_VfjwA1zmepOZNgwjLPZbRgqeb01GB9yd95nGRoyG2rZ59GelmXEL7ndCnNofl_uiQRXL8Fk-MGsCz6VaVA1pBIj4n0ACyY" width="239"></td></tr><tr><td>Tuz, a Tasmanian devil sporting a penguin beak, is the Linux.conf.au mascot.<br />(Artwork by Tania Walker licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>.)</td></tr></tbody></table>The conference, which <a href="https://en.wikipedia.org/wiki/Linux.conf.au">began in 1999</a> and is community organized, is well equipped to explore the theme, "the Future of Open Source," which is reflected in the <a href="https://linux.conf.au/schedule/">program schedule</a> and <a href="https://linux.conf.au/schedule/miniconfs/list/">miniconfs</a>.<br /><br />You&#8217;ll find Googlers speaking throughout the week (listed below), as well as participating in the hallway track. Don&#8217;t miss our <a href="https://linux.conf.au/wiki/conference/birds_of_a_feather_sessions/student_outreach_bof/">Birds of a Feather</a> session if you&#8217;re a student, educator, project maintainer, or otherwise interested in talking about outreach and student programs like <a href="http://g.co/gsoc">Google Summer of Code</a> and <a href="http://g.co/gci">Google Code-in</a>.<br /><br /><b>Monday, January 16th</b><br />12:20pm <a href="https://linux.conf.au/schedule/presentation/164/">The Sound of Silencing</a> by <a href="https://twitter.com/laptop006">Julien Goodwin</a><br />4:35pm &#160; <a href="https://linux.conf.au/schedule/presentation/128/">Year of the Linux Desktop?</a> by <a href="https://twitter.com/jessfraz">Jessica Frazelle</a><br /><br /><b>Tuesday, January 17th</b><br />All day &#160; &#160;<a href="https://linux.conf.au/schedule/presentation/10/">Community Leadership Summit X at LCA</a><br /><br /><b>Wednesday, January 18th</b><br />2:15pm &#160; <a href="https://linux.conf.au/schedule/presentation/94/">Community Building Beyond the Black Stump</a> by <a href="https://twitter.com/joshsimmons">Josh Simmons</a><br />4:35pm &#160; <a href="https://linux.conf.au/schedule/presentation/93/">Contributing to and Maintaining Large Scale Open Source Projects</a> by <a href="https://twitter.com/jessfraz">Jessica Frazelle</a><br /><br /><b>Thursday, January 19th</b><br />4:35pm &#160; <a href="https://linux.conf.au/schedule/presentation/52/">Using Python for creating hardware to record FOSS conferences!</a> by <a href="https://twitter.com/mithro">Tim Ansell</a><br /><br /><b>Friday, January 20th</b><br />1:20pm &#160; <a href="https://linux.conf.au/schedule/presentation/89/">Linux meets Kubernetes</a> by <a href="https://twitter.com/vishnukanan">Vishnu Kannan</a><br /><br />Not able to make it to the conference? Keynotes and sessions will be <a href="https://linux.conf.au/stream/">livestreamed</a>, and you can always find the <a href="https://www.youtube.com/channel/UCDMo9DyACXG62ak5cVgs3TA">session recordings</a> online after the event.<br /><br />We&#8217;ll see you there!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[It’s a new year and open source enthusiasts from around the globe are preparing to gather at <a href="https://linux.conf.au/about/hobart/">the edge of the world</a> for <a href="https://www.linux.conf.au/">Linux.conf.au</a> 2017. Among those preparing are Googlers, including some of us from the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a>.<br /><br />This year Linux.conf.au is returning to Hobart, the riverside capital of Tasmania, home of Australia’s famous <a href="https://en.wikipedia.org/wiki/Tasmanian_devil">Tasmanian devils</a>, running five days between January 16 and 20.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img alt="Circle_DevilTuz.png" height="239" src="https://lh4.googleusercontent.com/jlhckbPV-scnnfRhzTGjzXueV38u2ulmnJ3F9nYP0_VfjwA1zmepOZNgwjLPZbRgqeb01GB9yd95nGRoyG2rZ59GelmXEL7ndCnNofl_uiQRXL8Fk-MGsCz6VaVA1pBIj4n0ACyY" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="239" /></td></tr><tr><td class="tr-caption" style="text-align: center;">Tuz, a Tasmanian devil sporting a penguin beak, is the Linux.conf.au mascot.<br />(Artwork by Tania Walker licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>.)</td></tr></tbody></table>The conference, which <a href="https://en.wikipedia.org/wiki/Linux.conf.au">began in 1999</a> and is community organized, is well equipped to explore the theme, "the Future of Open Source," which is reflected in the <a href="https://linux.conf.au/schedule/">program schedule</a> and <a href="https://linux.conf.au/schedule/miniconfs/list/">miniconfs</a>.<br /><br />You’ll find Googlers speaking throughout the week (listed below), as well as participating in the hallway track. Don’t miss our <a href="https://linux.conf.au/wiki/conference/birds_of_a_feather_sessions/student_outreach_bof/">Birds of a Feather</a> session if you’re a student, educator, project maintainer, or otherwise interested in talking about outreach and student programs like <a href="http://g.co/gsoc">Google Summer of Code</a> and <a href="http://g.co/gci">Google Code-in</a>.<br /><br /><b>Monday, January 16th</b><br />12:20pm <a href="https://linux.conf.au/schedule/presentation/164/">The Sound of Silencing</a> by <a href="https://twitter.com/laptop006">Julien Goodwin</a><br />4:35pm &nbsp; <a href="https://linux.conf.au/schedule/presentation/128/">Year of the Linux Desktop?</a> by <a href="https://twitter.com/jessfraz">Jessica Frazelle</a><br /><br /><b>Tuesday, January 17th</b><br />All day &nbsp; &nbsp;<a href="https://linux.conf.au/schedule/presentation/10/">Community Leadership Summit X at LCA</a><br /><br /><b>Wednesday, January 18th</b><br />2:15pm &nbsp; <a href="https://linux.conf.au/schedule/presentation/94/">Community Building Beyond the Black Stump</a> by <a href="https://twitter.com/joshsimmons">Josh Simmons</a><br />4:35pm &nbsp; <a href="https://linux.conf.au/schedule/presentation/93/">Contributing to and Maintaining Large Scale Open Source Projects</a> by <a href="https://twitter.com/jessfraz">Jessica Frazelle</a><br /><br /><b>Thursday, January 19th</b><br />4:35pm &nbsp; <a href="https://linux.conf.au/schedule/presentation/52/">Using Python for creating hardware to record FOSS conferences!</a> by <a href="https://twitter.com/mithro">Tim Ansell</a><br /><br /><b>Friday, January 20th</b><br />1:20pm &nbsp; <a href="https://linux.conf.au/schedule/presentation/89/">Linux meets Kubernetes</a> by <a href="https://twitter.com/vishnukanan">Vishnu Kannan</a><br /><br />Not able to make it to the conference? Keynotes and sessions will be <a href="https://linux.conf.au/stream/">livestreamed</a>, and you can always find the <a href="https://www.youtube.com/channel/UCDMo9DyACXG62ak5cVgs3TA">session recordings</a> online after the event.<br /><br />We’ll see you there!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/open-source-down-under-linux-conf-au-2017/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Taking the pulse of Google Code-in 2016</title>
		<link>https://googledata.org/google-open-source/taking-the-pulse-of-google-code-in-2016/</link>
		<comments>https://googledata.org/google-open-source/taking-the-pulse-of-google-code-in-2016/#comments</comments>
		<pubDate>Fri, 23 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=76ae3aa02aff51d89634d25a3ac093e2</guid>
		<description><![CDATA[<div><span><img alt="GCI official horizontal_1372x448dp.png" height="130" src="https://lh3.googleusercontent.com/kGMdiyUfOBUi1j7cz7SIsw5793MwZTKhj7IhabnKN2M8QvrSjUH0_m2DHGiEECYroSAl3RzrLu9Y0mLKu1O5b0rZU0AOVMkkujJqC7TWNRY9K19J9C77-IkPioCEXuFuOgMKxb_m" width="400"></span></div><br /><span></span>Today is the official midpoint of this year&#8217;s <a href="http://g.co/gci">Google Code-in</a> contest and we are delighted to announce this is our most popular year ever! <span>930</span>&#160;teenagers from 60 countries have completed <span>3,503</span>&#160;tasks with <a href="https://codein.withgoogle.com/organizations/">17 open source organizations</a>. The number of students successfully completing tasks has almost met the total number of students from the 2015 contest already.<br /><br />Tasks that the students have completed include:<br /><ul><li>writing test suites</li><li>improving mobile UI&#160;</li><li>writing documentation and creating videos to help new users&#160;</li><li>working on internationalization efforts</li><li>fixing and finding bugs in the organization's&#8217; software&#160;</li></ul><b>Participants from all over the world</b><br />In total, over <span>2,800</span> students from 87 countries have registered for the contest and we look forward to seeing great work from these (and more!) students over the next few weeks. 2016 has also seen a huge increase in student participation in places such as Indonesia, Vietnam and the Philippines.<br /><br /><table cellpadding="0" cellspacing="0"><tbody><tr><td><img height="376" src="https://lh4.googleusercontent.com/0a0bGplY-E5pfGqp64dhAimXCLfgOPUQP-Fv-4DqWskHCAT41r8AbXS9SmzX79UzHFfYF1f5Vxh32q7hJMngtvkJG4o4JWbcFoqXTF94tCD2IFnQXOjnHgdop30fKoCbl_YvHcl-" width="611"></td></tr><tr><td>Google Code-in participants by country</td></tr></tbody></table><div><br />Please welcome two new countries to the GCI family: Mauritius and Moldova! Mauritius made a very strong debut to the contest and currently has <span>13</span>&#160;registered students who have completed <span>31</span>&#160;tasks.</div><br />The top five countries with the most completed tasks are:<br /><ol><li><span>India: 982</span></li><li><span>United States: 801</span></li><li><span>Singapore: 202</span></li><li><span>Vietnam: 119</span></li><li><span>Canada: 117</span></li></ol>Students, there is still plenty of time to get started with Google Code-in. New tasks are being added daily to the <a href="http://g.co/gci">contest site</a> &#8212; there are over 1,500 tasks available for students to choose from right now! If you don&#8217;t see something that interests you today, check back again every couple of days for new tasks.<br /><br />The last day to register for the contest and claim a task is Friday, January 13, 2017 with all work being due on <a href="https://developers.google.com/open-source/gci/timeline">Monday, January 16, 2017</a> at 9:00 am PT.<br /><br />Good luck to all of the students participating this year in Google Code-in!<br /><br /><i>By Stephanie Taylor, Google Code-in Program Manager</i><br /><i><br /></i><i><span>All numbers reported as of 8:00 PM Pacific Time, December 22, 2016.</span></i>]]></description>
				<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; margin-left: 1em; margin-right: 1em; vertical-align: baseline; white-space: pre-wrap;"><img alt="GCI official horizontal_1372x448dp.png" height="130" src="https://lh3.googleusercontent.com/kGMdiyUfOBUi1j7cz7SIsw5793MwZTKhj7IhabnKN2M8QvrSjUH0_m2DHGiEECYroSAl3RzrLu9Y0mLKu1O5b0rZU0AOVMkkujJqC7TWNRY9K19J9C77-IkPioCEXuFuOgMKxb_m" style="border: none; transform: rotate(0rad);" width="400" /></span></div><br /><span id="docs-internal-guid-ed52377c-2847-1960-ad2b-c5d033cf80e1"></span>Today is the official midpoint of this year’s <a href="http://g.co/gci">Google Code-in</a> contest and we are delighted to announce this is our most popular year ever! <span style="background-color: white;">930</span>&nbsp;teenagers from 60 countries have completed <span style="background-color: white;">3,503</span>&nbsp;tasks with <a href="https://codein.withgoogle.com/organizations/">17 open source organizations</a>. The number of students successfully completing tasks has almost met the total number of students from the 2015 contest already.<br /><br />Tasks that the students have completed include:<br /><ul><li>writing test suites</li><li>improving mobile UI&nbsp;</li><li>writing documentation and creating videos to help new users&nbsp;</li><li>working on internationalization efforts</li><li>fixing and finding bugs in the organization's’ software&nbsp;</li></ul><b>Participants from all over the world</b><br />In total, over <span style="background-color: white;">2,800</span> students from 87 countries have registered for the contest and we look forward to seeing great work from these (and more!) students over the next few weeks. 2016 has also seen a huge increase in student participation in places such as Indonesia, Vietnam and the Philippines.<br /><br /><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img height="376" src="https://lh4.googleusercontent.com/0a0bGplY-E5pfGqp64dhAimXCLfgOPUQP-Fv-4DqWskHCAT41r8AbXS9SmzX79UzHFfYF1f5Vxh32q7hJMngtvkJG4o4JWbcFoqXTF94tCD2IFnQXOjnHgdop30fKoCbl_YvHcl-" width="611" /></td></tr><tr><td class="tr-caption" style="text-align: center;">Google Code-in participants by country</td></tr></tbody></table><div><br />Please welcome two new countries to the GCI family: Mauritius and Moldova! Mauritius made a very strong debut to the contest and currently has <span style="background-color: white;">13</span>&nbsp;registered students who have completed <span style="background-color: white;">31</span>&nbsp;tasks.</div><br />The top five countries with the most completed tasks are:<br /><ol><li><span style="background-color: white;">India: 982</span></li><li><span style="background-color: white;">United States: 801</span></li><li><span style="background-color: white;">Singapore: 202</span></li><li><span style="background-color: white;">Vietnam: 119</span></li><li><span style="background-color: white;">Canada: 117</span></li></ol>Students, there is still plenty of time to get started with Google Code-in. New tasks are being added daily to the <a href="http://g.co/gci">contest site</a> — there are over 1,500 tasks available for students to choose from right now! If you don’t see something that interests you today, check back again every couple of days for new tasks.<br /><br />The last day to register for the contest and claim a task is Friday, January 13, 2017 with all work being due on <a href="https://developers.google.com/open-source/gci/timeline">Monday, January 16, 2017</a> at 9:00 am PT.<br /><br />Good luck to all of the students participating this year in Google Code-in!<br /><br /><i>By Stephanie Taylor, Google Code-in Program Manager</i><br /><i><br /></i><i><span style="font-size: x-small;">All numbers reported as of 8:00 PM Pacific Time, December 22, 2016.</span></i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/taking-the-pulse-of-google-code-in-2016/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: Public Lab</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-public-lab/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-public-lab/#comments</comments>
		<pubDate>Wed, 21 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=cb1507701efeecf9653f175a7e1d49cc</guid>
		<description><![CDATA[<i>This post is part of our <a href="https://opensource.googleblog.com/search/label/wrap-up">series</a> of guest posts from students, mentors and organization administrators who participated in <a href="http://g.co/gsoc">Google Summer of Code</a> 2016.</i><br /><i><br /></i><br /><h2>How we made this our best Google Summer of Code ever</h2>This was our fourth year doing Google Summer of Code (GSoC), and <b>it was our best year ever</b> by a wide margin! We had five hard-working students who contributed over 17,000 new lines of (very useful) code to our high-priority projects.<br /><br />Students voluntarily started coding early and hit the ground running, with full development environments and a working knowledge of GitHub Flow-style pull request process. They communicated with one another and provided peer support. They wrote tests. Hundreds of them! They blogged about their work as they went, and chatted with other community members about how to design features.<br /><br />All of that was amazing, and it was made better by the fact that we were accepting pull requests with new code twice weekly. Tuesdays and Fridays, I went through new submissions, provided feedback, and pulled new code into our master branch, usually publishing it to our production site once a week.<br /><br />I don't know how other projects do things, but this was very new for us, and it's revolutionized how we work together. In past years, students would work on their forks, slowly building up features. Then in a mad dash at the end, we&#8217;d try to merge them into trunk, with lots of conflicts and many hours (weeks!) of work on the part of project maintainers.<br /><br /><div><span><img alt="Screenshot_2016-08-26_at_11.44.16_AM.png" height="409" src="https://lh3.googleusercontent.com/4zixrUPRfOowyvMhMxcRAXc4CdGHWB4hVAF-eKwOgliJLP_-ZTJG1r84cbrATY73CHx_44f-CCRjRN7hny9Gko2oskfCCOYMhN7Kc6eMEhU8rw1MRS3MC2OKkyHE3ws9WpiYPtQW" width="640"></span></div><b>What made this year so good?</b><br /><br />Many things aligned to make this summer great, and basically none of them are our ideas. I'm sure plenty of you are cringing at how we used to do things, but I also don't think that it's <i>that</i> unusual for projects not "born" in the fast-paced world of modern code collaboration.<br /><br />We used ideas and learned from Nicolas Bevacqua, author of <a href="https://ponyfoo.com/books/javascript-application-design">JavaScript Application Design</a> and of the <a href="https://bevacqua.github.io/woofmark/">woofmark</a> and <a href="https://bevacqua.github.io/horsey/">horsey</a> libraries which I've contributed to. We've also learned a great deal from the <a href="http://hood.ie/">Hoodie</a> community, particularly <a href="http://twitter.com/gr2m">Gregor Martynus</a>, who we ran into at a <a href="https://publiclab.org/notes/warren/03-04-2016/bostonjs-talks-focused-on-welcoming-new-coding-contributors">BostonJS meetup</a>. Lastly, <a href="https://github.com/publiclab/plots2/issues/427#issuecomment-198542704">we learned</a> from <a href="https://opensource.com/life/16/4/spinachcon">SpinachCon</a>, organized by <a href="http://shaunagm.net/">Shauna Gordon McKeon</a> and <a href="https://twitter.com/baconandcoconut">Deb Nicholson</a>, where people refine their install process by actually going through the process while sitting next to each other.<br /><br />Broadly, our strategies were:<br /><br /><ul><li>Good documentation for newcomers (duh)</li><li>Short and sweet install process that you've tried yourself (thanks, SpinachCon!)</li><li>Predictable, regular merge schedule</li><li>Thorough test suite, and requiring tests with each pull request</li><li>Modularity, insisting that projects be broken into small, independently testable parts and merged as they&#8217;re written</li></ul><br /><b>Installation and pull requests</b><br /><br />Most of the above sound kind of obvious or trivial, but we saw a lot of changes when we put it all together. Having a really fast install process, and guidance on getting it running in a completely consistent environment like the virtualized <a href="https://c9.io/">Cloud9</a> service, meant that many students were able to get the code running the same day they found the project. We aimed for an install time of 15 minutes max, and supplied <a href="https://publiclab.org/wiki/developers#Installation+videos">a video</a> of this for one of our codebases.<br /><br />We also asked students to make a small change (even just add a space to a file) and walk through the GitHub Flow pull request (PR) submission process. We had <a href="https://publiclab.org/wiki/contributing-to-public-lab-software">clear step-by-step guidance</a> for this, and we took it as a good sign when students were able to read through it and do this.<br /><br />Importantly, we really tried to make each step welcoming, not demanding or dismissive, of folks who weren&#8217;t familiar with this process. This ultimately meant that all five students already knew the PR process when they began coding.<br /><br /><b>Twice-weekly merge schedule</b><br /><br />We were concerned that, in past years, students only tried merging a few times and typically towards the end of the summer. This meant really big conflicts (with each other, often) and frustration.<br /><br />This year we decided that, even though we&#8217;re a <i>tiny</i> organization with just one staff coder, we&#8217;d try merging on Tuesday and Friday mornings, and we mostly succeeded. Any code that wasn&#8217;t clearly presented, commits squashed, passing tests, and submitting new tests, was reviewed and I left friendly comments and requests so it could be merged the following week.<br /><br />At first I felt bad rejecting PRs, but we had such great students that they got used to the strictness. They got really good at separating out features, demonstrating their features through clear tests, and some began submitting more than two PRs per week - always rebasing on top of the latest master to ensure a linear commit history. Sweet!<br /><br /><b>Wrap-up and next steps</b><br /><br />The last thing we did was to ask each student, essentially <i>as their documentation</i>, to write a series of new issues which clearly described the problem and/or desired behavior, leave suggestions and links to specific lines of code or example code, and mark them with the special &#8220;<a href="https://github.com/publiclab/plots2/labels/help-wanted">help-wanted</a>&#8221; tag which was so helpful to them when they first started out. We asked each to also make one extra-welcoming &#8220;<a href="https://github.com/publiclab/plots2/labels/first-timers-only">first-timers-only</a>&#8221; issue which walks a new contributor through every step of making a commit and even provides suggested code to be inserted.<br /><br />This final requirement was key. While I personally made each of the initial set of &#8220;help-wanted&#8221; and &#8220;first-timers-only&#8221; issues before GSoC, now <i>five students</i> were offloading their unfinished to-dos as very readable and inviting issues for others. The effect was immediate, in part because these special tags are <a href="http://up-for-grabs.net/">syndicated</a> on some sites. Newcomers began picking them up within <i>hours</i> and our students were very helpful in guiding them through their first contributions to open source.<br /><br />I want to thank everyone who made this past summer so great, from our champion mentors and community members, to our stellar students, to all our inspirations in this new process, to the dozen or so new contributors we&#8217;ve attracted since the end of August.<br /><br /><i>By Jeff Warren, Organization Administrator for PublicLab.org</i>]]></description>
				<content:encoded><![CDATA[<i>This post is part of our <a href="https://opensource.googleblog.com/search/label/wrap-up">series</a> of guest posts from students, mentors and organization administrators who participated in <a href="http://g.co/gsoc">Google Summer of Code</a> 2016.</i><br /><i><br /></i><br /><h2>How we made this our best Google Summer of Code ever</h2>This was our fourth year doing Google Summer of Code (GSoC), and <b>it was our best year ever</b> by a wide margin! We had five hard-working students who contributed over 17,000 new lines of (very useful) code to our high-priority projects.<br /><br />Students voluntarily started coding early and hit the ground running, with full development environments and a working knowledge of GitHub Flow-style pull request process. They communicated with one another and provided peer support. They wrote tests. Hundreds of them! They blogged about their work as they went, and chatted with other community members about how to design features.<br /><br />All of that was amazing, and it was made better by the fact that we were accepting pull requests with new code twice weekly. Tuesdays and Fridays, I went through new submissions, provided feedback, and pulled new code into our master branch, usually publishing it to our production site once a week.<br /><br />I don't know how other projects do things, but this was very new for us, and it's revolutionized how we work together. In past years, students would work on their forks, slowly building up features. Then in a mad dash at the end, we’d try to merge them into trunk, with lots of conflicts and many hours (weeks!) of work on the part of project maintainers.<br /><br /><div class="separator" style="clear: both; text-align: center;"><span id="docs-internal-guid-90b625a7-1de8-31ad-06bd-895b10616ab2" style="margin-left: 1em; margin-right: 1em;"><img alt="Screenshot_2016-08-26_at_11.44.16_AM.png" height="409" src="https://lh3.googleusercontent.com/4zixrUPRfOowyvMhMxcRAXc4CdGHWB4hVAF-eKwOgliJLP_-ZTJG1r84cbrATY73CHx_44f-CCRjRN7hny9Gko2oskfCCOYMhN7Kc6eMEhU8rw1MRS3MC2OKkyHE3ws9WpiYPtQW" style="border: none; transform: rotate(0rad);" width="640" /></span></div><b>What made this year so good?</b><br /><br />Many things aligned to make this summer great, and basically none of them are our ideas. I'm sure plenty of you are cringing at how we used to do things, but I also don't think that it's <i>that</i> unusual for projects not "born" in the fast-paced world of modern code collaboration.<br /><br />We used ideas and learned from Nicolas Bevacqua, author of <a href="https://ponyfoo.com/books/javascript-application-design">JavaScript Application Design</a> and of the <a href="https://bevacqua.github.io/woofmark/">woofmark</a> and <a href="https://bevacqua.github.io/horsey/">horsey</a> libraries which I've contributed to. We've also learned a great deal from the <a href="http://hood.ie/">Hoodie</a> community, particularly <a href="http://twitter.com/gr2m">Gregor Martynus</a>, who we ran into at a <a href="https://publiclab.org/notes/warren/03-04-2016/bostonjs-talks-focused-on-welcoming-new-coding-contributors">BostonJS meetup</a>. Lastly, <a href="https://github.com/publiclab/plots2/issues/427#issuecomment-198542704">we learned</a> from <a href="https://opensource.com/life/16/4/spinachcon">SpinachCon</a>, organized by <a href="http://shaunagm.net/">Shauna Gordon McKeon</a> and <a href="https://twitter.com/baconandcoconut">Deb Nicholson</a>, where people refine their install process by actually going through the process while sitting next to each other.<br /><br />Broadly, our strategies were:<br /><br /><ul><li>Good documentation for newcomers (duh)</li><li>Short and sweet install process that you've tried yourself (thanks, SpinachCon!)</li><li>Predictable, regular merge schedule</li><li>Thorough test suite, and requiring tests with each pull request</li><li>Modularity, insisting that projects be broken into small, independently testable parts and merged as they’re written</li></ul><br /><b>Installation and pull requests</b><br /><br />Most of the above sound kind of obvious or trivial, but we saw a lot of changes when we put it all together. Having a really fast install process, and guidance on getting it running in a completely consistent environment like the virtualized <a href="https://c9.io/">Cloud9</a> service, meant that many students were able to get the code running the same day they found the project. We aimed for an install time of 15 minutes max, and supplied <a href="https://publiclab.org/wiki/developers#Installation+videos">a video</a> of this for one of our codebases.<br /><br />We also asked students to make a small change (even just add a space to a file) and walk through the GitHub Flow pull request (PR) submission process. We had <a href="https://publiclab.org/wiki/contributing-to-public-lab-software">clear step-by-step guidance</a> for this, and we took it as a good sign when students were able to read through it and do this.<br /><br />Importantly, we really tried to make each step welcoming, not demanding or dismissive, of folks who weren’t familiar with this process. This ultimately meant that all five students already knew the PR process when they began coding.<br /><br /><b>Twice-weekly merge schedule</b><br /><br />We were concerned that, in past years, students only tried merging a few times and typically towards the end of the summer. This meant really big conflicts (with each other, often) and frustration.<br /><br />This year we decided that, even though we’re a <i>tiny</i> organization with just one staff coder, we’d try merging on Tuesday and Friday mornings, and we mostly succeeded. Any code that wasn’t clearly presented, commits squashed, passing tests, and submitting new tests, was reviewed and I left friendly comments and requests so it could be merged the following week.<br /><br />At first I felt bad rejecting PRs, but we had such great students that they got used to the strictness. They got really good at separating out features, demonstrating their features through clear tests, and some began submitting more than two PRs per week - always rebasing on top of the latest master to ensure a linear commit history. Sweet!<br /><br /><b>Wrap-up and next steps</b><br /><br />The last thing we did was to ask each student, essentially <i>as their documentation</i>, to write a series of new issues which clearly described the problem and/or desired behavior, leave suggestions and links to specific lines of code or example code, and mark them with the special “<a href="https://github.com/publiclab/plots2/labels/help-wanted">help-wanted</a>” tag which was so helpful to them when they first started out. We asked each to also make one extra-welcoming “<a href="https://github.com/publiclab/plots2/labels/first-timers-only">first-timers-only</a>” issue which walks a new contributor through every step of making a commit and even provides suggested code to be inserted.<br /><br />This final requirement was key. While I personally made each of the initial set of “help-wanted” and “first-timers-only” issues before GSoC, now <i>five students</i> were offloading their unfinished to-dos as very readable and inviting issues for others. The effect was immediate, in part because these special tags are <a href="http://up-for-grabs.net/">syndicated</a> on some sites. Newcomers began picking them up within <i>hours</i> and our students were very helpful in guiding them through their first contributions to open source.<br /><br />I want to thank everyone who made this past summer so great, from our champion mentors and community members, to our stellar students, to all our inspirations in this new process, to the dozen or so new contributors we’ve attracted since the end of August.<br /><br /><i>By Jeff Warren, Organization Administrator for PublicLab.org</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-public-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: CSE@TU Wien</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-csetu-wien/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-csetu-wien/#comments</comments>
		<pubDate>Wed, 14 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=f9e42ed53fd260631c61f610f018f177</guid>
		<description><![CDATA[<i>Every year over a thousand university students work with more than a hundred open source organizations as part of the <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC). This post is part of a <a href="https://opensource.googleblog.com/search/label/wrap-up">series</a> of guest posts from students, mentors and organization administrators reflecting on GSoC 2016.</i><br /><div><br /></div><div><span><img height="121" src="https://lh4.googleusercontent.com/MKgSRyY0ufLiZqRDK0EomyeYz_DG834Qfn8PisoNGl2Av_s4rieQDZ0AX9TiBVTm5676vCi_KWlYExglO9NZ8ynAHaxDCIru9Dqz_xmE043PyYghT8YwbP1lpNG7C3DjoletssbE" width="121"></span></div><div><div><a href="http://www.iue.tuwien.ac.at/cse/">CSE@TU Wien</a> is a loose interest group at the <a href="https://www.tuwien.ac.at/">Technische Universit&#228;t Wien</a>&#160;(TU Wien)&#160;focused on developing, providing and utilizing free and open source software for research. We&#8217;re an umbrella organization for several open source projects and we participate in Google Summer of Code (GSoC) to ensure that future generations continue building open source software for scientific computing.</div><div><br /></div><div>We&#8217;ve participated in GSoC most years since 2011, and in 2016 we had ten successful projects. The thematic areas are -- befitting an engineering-focused university -- very diverse. Let&#8217;s take a look at the projects and what students accomplished:</div><div><br /></div><div><b><a href="http://oiworld.github.io/CarbonFootprint/">Carbon Footprint for Google Maps</a></b> is a browser extension that calculates CO2 emissions that users would incur by driving on routes suggested by popular mapping services and displays this information alongside time and distance. The aim is to raise awareness of the environmental impact of driving cars.</div><div><br /></div><div><b>Kolya Opahle</b> brilliantly re-factored the extension, making it much more modular. This enabled expansion to include other map services and port to other browsers, with browser-specific implementations reduced to a minimum. Building for specific browsers was made easy through a <a href="https://gradle.org/">Gradle</a> build script. He took on the Firefox port himself, which turned out to be more challenging than expected due to incompatibilities between the extension API&#8217;s of Firefox and Chrome. Overcoming this challenge required ingenuity.&#160;</div><div><br /></div><div><b>Prateek Gupta</b> completely re-designed and reimplemented the extension&#8217;s user interface, optimizing the storage of user options and allowing localization. He added support for more mapping services and calculations of additional greenhouse gases. He added new features to give the user more information about greenhouse gas emissions, including:&#160;</div><div><ul><li>a page with air quality index using an API from the <a href="http://aqicn.org/">World Air Quality Index</a></li><li>a page with tips to reduce emissions; a calculator to compute CO2 absorption by trees</li><li>another calculator for the benefits of walking and cycling instead of driving</li></ul></div><div><b>Chirag Arora</b> ported the extension to the Safari web browser. Like the port to Firefox, this proved challenging due to discrepancies between the Chrome and Safari extension API&#8217;s. Chirag also implemented several new features, including:&#160;</div><div><ul><li>more unit systems in the options page</li><li>automatic configuration of fuel price based on location and the <a href="http://www.globalpetrolprices.com/">Global Petrol Prices</a> API</li><li>approximate calculation of CO2 emissions for public transportation</li></ul></div><div>The <b><a href="https://github.com/dschachinger/colibri">Colibri</a></b> project focuses on smart building energy management. Intelligent control strategies are becoming more and more important for efficiently operating residential and commercial buildings, as buildings are responsible for a significant amount of global energy consumption.</div><div><br /></div><div><b>Georg Faustmann</b> implemented a connector for <a href="http://www.openadr.org/">Open Automated Demand Response</a> (OpenADR) networks. OpenADR information and signals can now be processed and stored in the Colibri data store. One challenge for this student was comprehensive handling of the OpenADR specification. Based on the specification, Georg identified a set of relevant use cases which were finally realized in this Colibri component.</div><div><br /></div><div><b>Josef Wechselauer</b> worked on a connector for gateways based on the <a href="http://www.obix.org/">OASIS Open Building Information Exchange</a> (OBIX) standard. This connector links physical devices and data from building automation systems to Colibri. Josef was very enthusiastic and he implemented the connector with an additional graphical user interface for browsing through available OBIX objects. The system test with real hardware was challenging, but he solved all of the problems.</div><div><br /></div><div><b>Pratyush Talreja</b> implemented a connector that enables the integration of <a href="https://en.wikipedia.org/wiki/MATLAB">MATLAB</a> Simulink simulations. More precisely, the connector links to the MATLAB environment and can read and write data over interfaces provided by the simulation. Pratyush had some initial troubles with the system design and the role of the connector in the overall system. However, he tackled those challenges and succeeded in the end.</div><div><br /></div><div><b><a href="https://github.com/OiWorld/MindTheWord">Mind the Word</a></b> is a browser extension that helps users learn a new language. It randomly translates a few words per sentence on websites as the user browsers. Since the user sees the translated words in context, they can infer its meaning and thus gradually learns new vocabulary with minimal effort. The extension uses Google, Microsoft and Yandex translation APIs.</div><div><br /></div><div><b>Ankit Muchhala</b> re-factored and modernized the code base to <a href="https://en.wikipedia.org/wiki/ECMAScript#6th_Edition_-_ECMAScript_2015">ES6</a> using <a href="http://jspm.io/">JSPM</a>, fixing critical bugs in the process and setting up a test environment in <a href="https://karma-runner.github.io/">Karma</a> and <a href="https://jasmine.github.io/">Jasmine</a>. After that, he redesigned the user interface, making extensive use of <a href="http://getbootstrap.com/">Bootstrap 3</a> along with <a href="https://angularjs.org/">AngularJS</a>. He also implemented various features to make the extension more usable, such as:&#160;</div><div><ul><li>dispersed word translation</li><li>(automatic) blacklisting and easy whitelisting of words and websites</li><li>and the ability to backup and restore the user's configurations</li></ul></div><div><b>Rohan Katyal</b> ported the extension to Firefox and implemented several new features, including:&#160;</div><div><ul><li>speech of translated words</li><li>generation of quizzes with the translated words</li><li>search for visual hints, similar words and usage examples, and more.&#160;</li></ul></div><div><b><a href="https://cran.r-project.org/web/packages/sdcMicro/index.html">R/sdcMicro</a></b> is the state-of-the-art <a href="https://www.r-project.org/">R</a> package for data anonymization and is used by national and international institutions. Data privacy has become a hot topic in research and requires serious effort to ensure that individuals cannot be identified.</div><div><br /></div><div><b>Probhonjon Baruah</b> improved the code quality of sdcMicro. He wrote unit tests that should help other contributors keep the package consistent and free of bugs. The main challenge for the student was understanding the object-oriented implementation of sdcMicro that goes beyond typical R packages. The student learned that standardized tests are too general to be useful, and that more problem-oriented and specific tests are more effective.</div><div><br /></div><div><b><a href="https://katehara.github.io/classilist-site/">Classilist</a></b> is an open source visualization dashboard for probabilistic classification data.</div><div><br /></div><div><b>Medha Katehara</b> of LNMIIT India developed Classilist, an interactive system for visualizing the performance of probabilistic classifiers. Additionally, she developed plugins to pull classification data from machine learning frameworks such as <a href="https://rapidminer.com/">RapidMiner</a>, <a href="http://www.cs.waikato.ac.nz/ml/weka/">WEKA</a> and R.</div><div><br /></div><div>In conclusion, we are -- again -- very happy with Google Summer of Code. Students advanced themselves and our research software, a clear win-win. Our large team of experienced mentors performed well and we&#8217;re grateful for their continued dedication and the support of our university. We hope to participate again in 2017!</div><div><br /></div><div><i>By Josef Weinbub and Florian Rudolf, Organization Administrators for TU Wien, Austria</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>Every year over a thousand university students work with more than a hundred open source organizations as part of the <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC). This post is part of a <a href="https://opensource.googleblog.com/search/label/wrap-up">series</a> of guest posts from students, mentors and organization administrators reflecting on GSoC 2016.</i><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial; font-size: 14.6667px; margin-left: 1em; margin-right: 1em; vertical-align: baseline; white-space: pre-wrap;"><img height="121" src="https://lh4.googleusercontent.com/MKgSRyY0ufLiZqRDK0EomyeYz_DG834Qfn8PisoNGl2Av_s4rieQDZ0AX9TiBVTm5676vCi_KWlYExglO9NZ8ynAHaxDCIru9Dqz_xmE043PyYghT8YwbP1lpNG7C3DjoletssbE" style="border: none; transform: rotate(0rad);" width="121" /></span></div><div><div><a href="http://www.iue.tuwien.ac.at/cse/">CSE@TU Wien</a> is a loose interest group at the <a href="https://www.tuwien.ac.at/">Technische Universität Wien</a>&nbsp;(TU Wien)&nbsp;focused on developing, providing and utilizing free and open source software for research. We’re an umbrella organization for several open source projects and we participate in Google Summer of Code (GSoC) to ensure that future generations continue building open source software for scientific computing.</div><div><br /></div><div>We’ve participated in GSoC most years since 2011, and in 2016 we had ten successful projects. The thematic areas are -- befitting an engineering-focused university -- very diverse. Let’s take a look at the projects and what students accomplished:</div><div><br /></div><div><b><a href="http://oiworld.github.io/CarbonFootprint/">Carbon Footprint for Google Maps</a></b> is a browser extension that calculates CO2 emissions that users would incur by driving on routes suggested by popular mapping services and displays this information alongside time and distance. The aim is to raise awareness of the environmental impact of driving cars.</div><div><br /></div><div><b>Kolya Opahle</b> brilliantly re-factored the extension, making it much more modular. This enabled expansion to include other map services and port to other browsers, with browser-specific implementations reduced to a minimum. Building for specific browsers was made easy through a <a href="https://gradle.org/">Gradle</a> build script. He took on the Firefox port himself, which turned out to be more challenging than expected due to incompatibilities between the extension API’s of Firefox and Chrome. Overcoming this challenge required ingenuity.&nbsp;</div><div><br /></div><div><b>Prateek Gupta</b> completely re-designed and reimplemented the extension’s user interface, optimizing the storage of user options and allowing localization. He added support for more mapping services and calculations of additional greenhouse gases. He added new features to give the user more information about greenhouse gas emissions, including:&nbsp;</div><div><ul><li>a page with air quality index using an API from the <a href="http://aqicn.org/">World Air Quality Index</a></li><li>a page with tips to reduce emissions; a calculator to compute CO2 absorption by trees</li><li>another calculator for the benefits of walking and cycling instead of driving</li></ul></div><div><b>Chirag Arora</b> ported the extension to the Safari web browser. Like the port to Firefox, this proved challenging due to discrepancies between the Chrome and Safari extension API’s. Chirag also implemented several new features, including:&nbsp;</div><div><ul><li>more unit systems in the options page</li><li>automatic configuration of fuel price based on location and the <a href="http://www.globalpetrolprices.com/">Global Petrol Prices</a> API</li><li>approximate calculation of CO2 emissions for public transportation</li></ul></div><div>The <b><a href="https://github.com/dschachinger/colibri">Colibri</a></b> project focuses on smart building energy management. Intelligent control strategies are becoming more and more important for efficiently operating residential and commercial buildings, as buildings are responsible for a significant amount of global energy consumption.</div><div><br /></div><div><b>Georg Faustmann</b> implemented a connector for <a href="http://www.openadr.org/">Open Automated Demand Response</a> (OpenADR) networks. OpenADR information and signals can now be processed and stored in the Colibri data store. One challenge for this student was comprehensive handling of the OpenADR specification. Based on the specification, Georg identified a set of relevant use cases which were finally realized in this Colibri component.</div><div><br /></div><div><b>Josef Wechselauer</b> worked on a connector for gateways based on the <a href="http://www.obix.org/">OASIS Open Building Information Exchange</a> (OBIX) standard. This connector links physical devices and data from building automation systems to Colibri. Josef was very enthusiastic and he implemented the connector with an additional graphical user interface for browsing through available OBIX objects. The system test with real hardware was challenging, but he solved all of the problems.</div><div><br /></div><div><b>Pratyush Talreja</b> implemented a connector that enables the integration of <a href="https://en.wikipedia.org/wiki/MATLAB">MATLAB</a> Simulink simulations. More precisely, the connector links to the MATLAB environment and can read and write data over interfaces provided by the simulation. Pratyush had some initial troubles with the system design and the role of the connector in the overall system. However, he tackled those challenges and succeeded in the end.</div><div><br /></div><div><b><a href="https://github.com/OiWorld/MindTheWord">Mind the Word</a></b> is a browser extension that helps users learn a new language. It randomly translates a few words per sentence on websites as the user browsers. Since the user sees the translated words in context, they can infer its meaning and thus gradually learns new vocabulary with minimal effort. The extension uses Google, Microsoft and Yandex translation APIs.</div><div><br /></div><div><b>Ankit Muchhala</b> re-factored and modernized the code base to <a href="https://en.wikipedia.org/wiki/ECMAScript#6th_Edition_-_ECMAScript_2015">ES6</a> using <a href="http://jspm.io/">JSPM</a>, fixing critical bugs in the process and setting up a test environment in <a href="https://karma-runner.github.io/">Karma</a> and <a href="https://jasmine.github.io/">Jasmine</a>. After that, he redesigned the user interface, making extensive use of <a href="http://getbootstrap.com/">Bootstrap 3</a> along with <a href="https://angularjs.org/">AngularJS</a>. He also implemented various features to make the extension more usable, such as:&nbsp;</div><div><ul><li>dispersed word translation</li><li>(automatic) blacklisting and easy whitelisting of words and websites</li><li>and the ability to backup and restore the user's configurations</li></ul></div><div><b>Rohan Katyal</b> ported the extension to Firefox and implemented several new features, including:&nbsp;</div><div><ul><li>speech of translated words</li><li>generation of quizzes with the translated words</li><li>search for visual hints, similar words and usage examples, and more.&nbsp;</li></ul></div><div><b><a href="https://cran.r-project.org/web/packages/sdcMicro/index.html">R/sdcMicro</a></b> is the state-of-the-art <a href="https://www.r-project.org/">R</a> package for data anonymization and is used by national and international institutions. Data privacy has become a hot topic in research and requires serious effort to ensure that individuals cannot be identified.</div><div><br /></div><div><b>Probhonjon Baruah</b> improved the code quality of sdcMicro. He wrote unit tests that should help other contributors keep the package consistent and free of bugs. The main challenge for the student was understanding the object-oriented implementation of sdcMicro that goes beyond typical R packages. The student learned that standardized tests are too general to be useful, and that more problem-oriented and specific tests are more effective.</div><div><br /></div><div><b><a href="https://katehara.github.io/classilist-site/">Classilist</a></b> is an open source visualization dashboard for probabilistic classification data.</div><div><br /></div><div><b>Medha Katehara</b> of LNMIIT India developed Classilist, an interactive system for visualizing the performance of probabilistic classifiers. Additionally, she developed plugins to pull classification data from machine learning frameworks such as <a href="https://rapidminer.com/">RapidMiner</a>, <a href="http://www.cs.waikato.ac.nz/ml/weka/">WEKA</a> and R.</div><div><br /></div><div>In conclusion, we are -- again -- very happy with Google Summer of Code. Students advanced themselves and our research software, a clear win-win. Our large team of experienced mentors performed well and we’re grateful for their continued dedication and the support of our university. We hope to participate again in 2017!</div><div><br /></div><div><i>By Josef Weinbub and Florian Rudolf, Organization Administrators for TU Wien, Austria</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-csetu-wien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Open sourcing the Embedding Projector: a tool for visualizing high dimensional data</title>
		<link>https://googledata.org/google-open-source/open-sourcing-the-embedding-projector-a-tool-for-visualizing-high-dimensional-data-2/</link>
		<comments>https://googledata.org/google-open-source/open-sourcing-the-embedding-projector-a-tool-for-visualizing-high-dimensional-data-2/#comments</comments>
		<pubDate>Mon, 12 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=39a3fac4d7e70795ae0cc0c63a7ae7ca</guid>
		<description><![CDATA[<i>Originally posted on the <a href="https://research.googleblog.com/2016/12/open-sourcing-embedding-projector-tool.html">Google Research Blog</a></i><br /><br />Recent advances in machine learning (ML) have shown impressive results, with applications ranging from <a href="https://research.googleblog.com/2016/08/improving-inception-and-image.html">image recognition</a>, <a href="https://research.googleblog.com/2016/11/zero-shot-translation-with-googles.html">language translation</a>, <a href="https://research.googleblog.com/2016/11/deep-learning-for-detection-of-diabetic.html">medical diagnosis</a> and more. With the widespread adoption of ML systems, it is increasingly important for research scientists to be able to explore how the data is being interpreted by the models. However, one of the main challenges in exploring this data is that it often has hundreds or even thousands of dimensions, requiring special tools to investigate the space.<br /><div><br /></div><div><div>To enable a more intuitive exploration process, we are <a href="https://www.tensorflow.org/versions/master/how_tos/embedding_viz/index.html">open-sourcing the Embedding Projector</a>, a web application for interactive visualization and analysis of high-dimensional data recently shown as an <a href="https://aiexperiments.withgoogle.com/visualizing-high-dimensional-space">A.I. Experiment</a>, as part of <a href="https://www.tensorflow.org/">TensorFlow</a>. We are also releasing a standalone version at <a href="http://projector.tensorflow.org/">projector.tensorflow.org</a>, where users can visualize their high-dimensional data without the need to install and run TensorFlow.<br /><br /></div></div><div><a href="https://2.bp.blogspot.com/-yL_425HS2ck/WEDZLk5cq0I/AAAAAAAABcI/kwy4F4Cmfi4jyG_InIiYu6F7y2-BKTXWQCLcB/s1600/embedding-mnist.gif" target="_blank"><img border="0" height="324" src="https://2.bp.blogspot.com/-yL_425HS2ck/WEDZLk5cq0I/AAAAAAAABcI/kwy4F4Cmfi4jyG_InIiYu6F7y2-BKTXWQCLcB/s640/embedding-mnist.gif" width="640"></a></div><div><b><br /></b><b>Exploring Embeddings</b><br /><div><br /></div><div>The data needed to train machine learning systems comes in a form that computers don't immediately understand. To translate the things we understand naturally (e.g. words, sounds, or videos) to a form that the algorithms can process, we use <a href="https://en.wikipedia.org/wiki/Embedding"><i>embeddings</i></a>, a mathematical vector representation that captures different facets (dimensions) of the data. For example, in <a href="https://opensource.googleblog.com/2013/08/learning-meaning-behind-words.html">this language embedding</a>, similar words are mapped to points that are close to each other.</div><div><br /></div><div>With the Embedding Projector, you can navigate through views of data in either a 2D or a 3D mode, zooming, rotating, and panning using natural click-and-drag gestures. Below is a figure showing the nearest points to the embedding for the word &#8220;important&#8221; after training a TensorFlow model using the <a href="https://www.tensorflow.org/versions/r0.12/tutorials/word2vec/index.html">word2vec</a> tutorial. Clicking on any point (which represents the learned embedding for a given word) in this visualization, brings up a list of nearest points and distances, which shows which words the algorithm has learned to be semantically related. This type of interaction represents an important way in which one can explore how an algorithm is performing.<br /><br /></div></div><div><a href="https://2.bp.blogspot.com/-Uql7bl2KEYM/WEfQ4Kl_0YI/AAAAAAAABck/GkktuPM8KoMcMl2Tot6GzH3-NgwPNETMgCLcB/s1600/image03.png" target="_blank"><img border="0" height="424" src="https://2.bp.blogspot.com/-Uql7bl2KEYM/WEfQ4Kl_0YI/AAAAAAAABck/GkktuPM8KoMcMl2Tot6GzH3-NgwPNETMgCLcB/s640/image03.png" width="640"></a></div><div><b><br /></b><b>Methods of Dimensionality Reduction</b><br /><div><br /></div><div>The Embedding Projector offers three commonly used methods of data dimensionality reduction, which allow easier visualization of complex data: <a href="https://en.wikipedia.org/wiki/Principal_component_analysis">PCA</a>, <a href="https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding">t-SNE</a> and custom linear projections. PCA is often effective at exploring the internal structure of the embeddings, revealing the most influential dimensions in the data. t-SNE, on the other hand, is useful for exploring local neighborhoods and finding clusters, allowing developers to make sure that an embedding preserves the meaning in the data (e.g. in the <a href="https://en.wikipedia.org/wiki/MNIST_database">MNIST dataset</a>, seeing that the same digits are clustered together). Finally, custom linear projections can help discover meaningful "directions" in data sets - such as the distinction between a formal and casual tone in a language generation model - which would allow the design of more adaptable ML systems.<br /><br /></div></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="https://1.bp.blogspot.com/-5vEgY1mh1cA/WEfRAmER3iI/AAAAAAAABco/beMK-6LNq2M37QOUGQVwXMT1B6FIMLAxgCLcB/s1600/image00.png" target="_blank"><img border="0" height="468" src="https://1.bp.blogspot.com/-5vEgY1mh1cA/WEfRAmER3iI/AAAAAAAABco/beMK-6LNq2M37QOUGQVwXMT1B6FIMLAxgCLcB/s640/image00.png" width="640"></a></td></tr><tr><td>A custom linear projection of the 100 nearest points of "See attachments." onto the "yes" - "yeah" vector (&#8220;yes&#8221; is right, &#8220;yeah&#8221; is left) of a corpus of <a href="https://research.googleblog.com/2015/11/computer-respond-to-this-email.html">35k frequently used phrases in emails</a></td></tr></tbody></table><div><div>The Embedding Projector <a href="http://projector.tensorflow.org/">website</a> includes a few datasets to play with. We&#8217;ve also made it easy for users to publish and share their embeddings with others (just click on the &#8220;Publish&#8221; button on the left pane). It is our hope that the <a href="https://www.tensorflow.org/versions/master/how_tos/embedding_viz/index.html">Embedding Projector</a> will be a useful tool to help the research community explore and refine their ML applications, as well as enable anyone to better understand how ML algorithms interpret data. If you'd like to get the full details on the Embedding Projector, you can read the paper <a href="https://arxiv.org/pdf/1611.05469v1.pdf">here</a>. Have fun exploring the world of embeddings!</div></div><div><br /></div><i>By Daniel Smilkov and the Big Picture group</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="https://research.googleblog.com/2016/12/open-sourcing-embedding-projector-tool.html">Google Research Blog</a></i><br /><br />Recent advances in machine learning (ML) have shown impressive results, with applications ranging from <a href="https://research.googleblog.com/2016/08/improving-inception-and-image.html">image recognition</a>, <a href="https://research.googleblog.com/2016/11/zero-shot-translation-with-googles.html">language translation</a>, <a href="https://research.googleblog.com/2016/11/deep-learning-for-detection-of-diabetic.html">medical diagnosis</a> and more. With the widespread adoption of ML systems, it is increasingly important for research scientists to be able to explore how the data is being interpreted by the models. However, one of the main challenges in exploring this data is that it often has hundreds or even thousands of dimensions, requiring special tools to investigate the space.<br /><div><br /></div><div><div>To enable a more intuitive exploration process, we are <a href="https://www.tensorflow.org/versions/master/how_tos/embedding_viz/index.html">open-sourcing the Embedding Projector</a>, a web application for interactive visualization and analysis of high-dimensional data recently shown as an <a href="https://aiexperiments.withgoogle.com/visualizing-high-dimensional-space">A.I. Experiment</a>, as part of <a href="https://www.tensorflow.org/">TensorFlow</a>. We are also releasing a standalone version at <a href="http://projector.tensorflow.org/">projector.tensorflow.org</a>, where users can visualize their high-dimensional data without the need to install and run TensorFlow.<br /><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-yL_425HS2ck/WEDZLk5cq0I/AAAAAAAABcI/kwy4F4Cmfi4jyG_InIiYu6F7y2-BKTXWQCLcB/s1600/embedding-mnist.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="324" src="https://2.bp.blogspot.com/-yL_425HS2ck/WEDZLk5cq0I/AAAAAAAABcI/kwy4F4Cmfi4jyG_InIiYu6F7y2-BKTXWQCLcB/s640/embedding-mnist.gif" width="640" /></a></div><div><b><br /></b><b>Exploring Embeddings</b><br /><div><br /></div><div>The data needed to train machine learning systems comes in a form that computers don't immediately understand. To translate the things we understand naturally (e.g. words, sounds, or videos) to a form that the algorithms can process, we use <a href="https://en.wikipedia.org/wiki/Embedding"><i>embeddings</i></a>, a mathematical vector representation that captures different facets (dimensions) of the data. For example, in <a href="https://opensource.googleblog.com/2013/08/learning-meaning-behind-words.html">this language embedding</a>, similar words are mapped to points that are close to each other.</div><div><br /></div><div>With the Embedding Projector, you can navigate through views of data in either a 2D or a 3D mode, zooming, rotating, and panning using natural click-and-drag gestures. Below is a figure showing the nearest points to the embedding for the word “important” after training a TensorFlow model using the <a href="https://www.tensorflow.org/versions/r0.12/tutorials/word2vec/index.html">word2vec</a> tutorial. Clicking on any point (which represents the learned embedding for a given word) in this visualization, brings up a list of nearest points and distances, which shows which words the algorithm has learned to be semantically related. This type of interaction represents an important way in which one can explore how an algorithm is performing.<br /><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-Uql7bl2KEYM/WEfQ4Kl_0YI/AAAAAAAABck/GkktuPM8KoMcMl2Tot6GzH3-NgwPNETMgCLcB/s1600/image03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="424" src="https://2.bp.blogspot.com/-Uql7bl2KEYM/WEfQ4Kl_0YI/AAAAAAAABck/GkktuPM8KoMcMl2Tot6GzH3-NgwPNETMgCLcB/s640/image03.png" width="640" /></a></div><div><b><br /></b><b>Methods of Dimensionality Reduction</b><br /><div><br /></div><div>The Embedding Projector offers three commonly used methods of data dimensionality reduction, which allow easier visualization of complex data: <a href="https://en.wikipedia.org/wiki/Principal_component_analysis">PCA</a>, <a href="https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding">t-SNE</a> and custom linear projections. PCA is often effective at exploring the internal structure of the embeddings, revealing the most influential dimensions in the data. t-SNE, on the other hand, is useful for exploring local neighborhoods and finding clusters, allowing developers to make sure that an embedding preserves the meaning in the data (e.g. in the <a href="https://en.wikipedia.org/wiki/MNIST_database">MNIST dataset</a>, seeing that the same digits are clustered together). Finally, custom linear projections can help discover meaningful "directions" in data sets - such as the distinction between a formal and casual tone in a language generation model - which would allow the design of more adaptable ML systems.<br /><br /></div></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-5vEgY1mh1cA/WEfRAmER3iI/AAAAAAAABco/beMK-6LNq2M37QOUGQVwXMT1B6FIMLAxgCLcB/s1600/image00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;" ><img border="0" height="468" src="https://1.bp.blogspot.com/-5vEgY1mh1cA/WEfRAmER3iI/AAAAAAAABco/beMK-6LNq2M37QOUGQVwXMT1B6FIMLAxgCLcB/s640/image00.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A custom linear projection of the 100 nearest points of "See attachments." onto the "yes" - "yeah" vector (“yes” is right, “yeah” is left) of a corpus of <a href="https://research.googleblog.com/2015/11/computer-respond-to-this-email.html">35k frequently used phrases in emails</a></td></tr></tbody></table><div><div>The Embedding Projector <a href="http://projector.tensorflow.org/">website</a> includes a few datasets to play with. We’ve also made it easy for users to publish and share their embeddings with others (just click on the “Publish” button on the left pane). It is our hope that the <a href="https://www.tensorflow.org/versions/master/how_tos/embedding_viz/index.html">Embedding Projector</a> will be a useful tool to help the research community explore and refine their ML applications, as well as enable anyone to better understand how ML algorithms interpret data. If you'd like to get the full details on the Embedding Projector, you can read the paper <a href="https://arxiv.org/pdf/1611.05469v1.pdf">here</a>. Have fun exploring the world of embeddings!</div></div><div><br /></div><i>By Daniel Smilkov and the Big Picture group</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/open-sourcing-the-embedding-projector-a-tool-for-visualizing-high-dimensional-data-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: AOSSIE</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-aossie/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-aossie/#comments</comments>
		<pubDate>Fri, 09 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5557d8245d784f3b19ccdeac72349a21</guid>
		<description><![CDATA[<i>We&#8217;re sharing guest posts from students, mentors and organization administrators who participated in <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. This is the seventh post in the <a href="https://opensource.googleblog.com/search/label/gsoc">series</a>.</i><br /><br /><div><span><img height="110" src="https://lh5.googleusercontent.com/vpATtlvxONyVTIEwoMUzupXG56fGtWTMuqAVvaOeYUNBixv67nffMT-G5iRVxZAQnBMv7JESKWzwDHvjIyHKZIstepyjKhWLrcVdGOV0x9vzl1I-npRJXmgqD1TujutlGJvhtTOl" width="288"></span></div><br /><a href="https://cecs.anu.edu.au/current-students/student-opportunities/google-summer-code-anu">AOSSIE</a> (Australian Open Source Software Innovation and Education) is an organization created by the leaders of four research-oriented open source projects at the <a href="http://www.anu.edu.au/">Australian National University</a>. This was our first year in Google Summer of Code, but one of our projects had already participated three times as part of another organization.<br /><br />We had 6 students and they surpassed our expectations. It was a great experience to mentor these students and provide them the opportunity to get involved in our cutting-edge research. We expect that their projects will lead to several publications and will be the starting point for long term collaborations.<br /><br />Here are some highlights of their contributions:<br /><br /><i><a href="http://digego.github.io/extempore/">Extempore</a> is a programming language and runtime environment that supports live programming.</i><br /><i><br /></i><b>Joseph Penington</b> adapted some <a href="https://github.com/tunabrain/incremental-fluids">cpp fluid dynamics code</a> to show how live programming could be used to improve the workflow of scientific simulation. Joseph's project builds a series of increasingly complex fluid solvers in Extempore, allowing the programmer to make interesting and non-trivial changes to the simulation at runtime, including switching the way the fluids are solved in the middle of a simulation.<br /><br /><i><a href="https://github.com/Mathuv/PPSPM">PriMedLink</a> is software for matching similar patients in a way that preserves privacy (i.e. only using masked or encoded values of records without compromising privacy and confidentiality of patients) for health informatics applications such as clinical trials, advanced treatments and personalized patient care. The initial version of PPSPM software included masking and matching techniques for string, categorical and numerical (integer, floating point and modulus) data.</i><br /><i><br /></i><b>Mathu Mounasamy</b> developed a module for PPSPM for masking and matching textual data which commonly occur in patient records (such as clinical notes and medical reports containing text data). The <a href="https://bitbucket.org/mathuv/ppspm-textmm">TextMM</a> module developed by Mathu extends the functionality of PPSPM by allowing advanced privacy-preserving matching of similar patients based on various features containing textual data, thereby improving the quality and scope of PPSPM.<br /><br /><i><a href="https://github.com/CornucopiaRG/Rogas">Rogas</a> is a platform which integrates a collection of graph analysis tools and algorithms into a unified framework in order to support network analysis tasks.</i><br /><i><br /></i><b>Mojtaba Rezvani</b> added the <a href="https://github.com/orezvani/GSOC-Rogas/commits/local-community-search">local community search</a> (also known as local community detection) capability to Rogas. He has implemented several state-of-the-art algorithms proposed for local community detection, such as: k-core, k-truss, k-edge-connected, &#947;-quasi, and k-cliques. He has also designed a new algorithm for local community detection, which can efficiently identify local communities in large-scale networks.<br /><b><br /></b><b>Yan Xiao</b> redesigned the GUI of Rogas in order to improve usability. He also implemented several visualization techniques to support the graph primitives of Rogas, including cluster, rank and path finding. These <a href="https://github.com/shallyan/GSoC-Rogas">developments</a> support dynamic network analysis at different scales so as to predict trends and patterns.<br /><br /><i><a href="https://github.com/Paradoxika/Skeptik">Skeptik</a> is a Scala-based framework for proof theory and automated reasoning.</i><br /><i><br /></i><b>Ezequiel Postan</b> generalized a challenging proof compression algorithm (the Split algorithm) from propositional logic to first-order logic and <a href="https://github.com/Paradoxika/Skeptik/commits/develop?author=EzequielPostan">implemented it</a>. This enables Skeptik to execute this algorithm not only on proofs output by <a href="https://en.wikipedia.org/wiki/Boolean_satisfiability_problem">SAT</a>- and <a href="https://en.wikipedia.org/wiki/Satisfiability_modulo_theories">SMT</a>-solvers but also on proofs output by resolution-based <a href="https://en.wikipedia.org/wiki/Automated_theorem_proving">automated theorem provers</a>. Ezequiel also implemented parsers for the <a href="http://www.cs.miami.edu/~tptp/">TPTP</a> and <a href="http://www.cs.miami.edu/~tptp/TSTP/">TSTP</a> formats for theorem proving problems and proofs, and implemented a random proof generator to allow comprehensive experimental evaluation of the algorithms.<br /><b><br /></b><b>Daniyar Itegulov</b> implemented a theorem prover for classical first-order logic using Skeptik's data structures and based on a novel logical calculus recently proposed by his mentor. This new calculus, called Conflict Resolution, is inspired by the propositional <a href="https://en.wikipedia.org/wiki/Conflict-Driven_Clause_Learning">conflict-driven clause learning</a> procedure used by SAT- and SMT-solvers and generalizes it to first-order logic. Daniyar also went further, conceiving and developing a concurrent proof search strategy for this calculus using <a href="http://akka.io/">Akka</a> actors.<br /><br /><i>By Bruno Paleo, Organization Administrator for AOSSIE</i>]]></description>
				<content:encoded><![CDATA[<i>We’re sharing guest posts from students, mentors and organization administrators who participated in <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. This is the seventh post in the <a href="https://opensource.googleblog.com/search/label/gsoc">series</a>.</i><br /><br /><div class="separator" style="clear: both; text-align: center;"><span style="margin-left: 1em; margin-right: 1em; vertical-align: baseline; white-space: pre-wrap;"><img height="110" src="https://lh5.googleusercontent.com/vpATtlvxONyVTIEwoMUzupXG56fGtWTMuqAVvaOeYUNBixv67nffMT-G5iRVxZAQnBMv7JESKWzwDHvjIyHKZIstepyjKhWLrcVdGOV0x9vzl1I-npRJXmgqD1TujutlGJvhtTOl" width="288" /></span></div><br /><a href="https://cecs.anu.edu.au/current-students/student-opportunities/google-summer-code-anu">AOSSIE</a> (Australian Open Source Software Innovation and Education) is an organization created by the leaders of four research-oriented open source projects at the <a href="http://www.anu.edu.au/">Australian National University</a>. This was our first year in Google Summer of Code, but one of our projects had already participated three times as part of another organization.<br /><br />We had 6 students and they surpassed our expectations. It was a great experience to mentor these students and provide them the opportunity to get involved in our cutting-edge research. We expect that their projects will lead to several publications and will be the starting point for long term collaborations.<br /><br />Here are some highlights of their contributions:<br /><br /><i><a href="http://digego.github.io/extempore/">Extempore</a> is a programming language and runtime environment that supports live programming.</i><br /><i><br /></i><b>Joseph Penington</b> adapted some <a href="https://github.com/tunabrain/incremental-fluids">cpp fluid dynamics code</a> to show how live programming could be used to improve the workflow of scientific simulation. Joseph's project builds a series of increasingly complex fluid solvers in Extempore, allowing the programmer to make interesting and non-trivial changes to the simulation at runtime, including switching the way the fluids are solved in the middle of a simulation.<br /><br /><i><a href="https://github.com/Mathuv/PPSPM">PriMedLink</a> is software for matching similar patients in a way that preserves privacy (i.e. only using masked or encoded values of records without compromising privacy and confidentiality of patients) for health informatics applications such as clinical trials, advanced treatments and personalized patient care. The initial version of PPSPM software included masking and matching techniques for string, categorical and numerical (integer, floating point and modulus) data.</i><br /><i><br /></i><b>Mathu Mounasamy</b> developed a module for PPSPM for masking and matching textual data which commonly occur in patient records (such as clinical notes and medical reports containing text data). The <a href="https://bitbucket.org/mathuv/ppspm-textmm">TextMM</a> module developed by Mathu extends the functionality of PPSPM by allowing advanced privacy-preserving matching of similar patients based on various features containing textual data, thereby improving the quality and scope of PPSPM.<br /><br /><i><a href="https://github.com/CornucopiaRG/Rogas">Rogas</a> is a platform which integrates a collection of graph analysis tools and algorithms into a unified framework in order to support network analysis tasks.</i><br /><i><br /></i><b>Mojtaba Rezvani</b> added the <a href="https://github.com/orezvani/GSOC-Rogas/commits/local-community-search">local community search</a> (also known as local community detection) capability to Rogas. He has implemented several state-of-the-art algorithms proposed for local community detection, such as: k-core, k-truss, k-edge-connected, γ-quasi, and k-cliques. He has also designed a new algorithm for local community detection, which can efficiently identify local communities in large-scale networks.<br /><b><br /></b><b>Yan Xiao</b> redesigned the GUI of Rogas in order to improve usability. He also implemented several visualization techniques to support the graph primitives of Rogas, including cluster, rank and path finding. These <a href="https://github.com/shallyan/GSoC-Rogas">developments</a> support dynamic network analysis at different scales so as to predict trends and patterns.<br /><br /><i><a href="https://github.com/Paradoxika/Skeptik">Skeptik</a> is a Scala-based framework for proof theory and automated reasoning.</i><br /><i><br /></i><b>Ezequiel Postan</b> generalized a challenging proof compression algorithm (the Split algorithm) from propositional logic to first-order logic and <a href="https://github.com/Paradoxika/Skeptik/commits/develop?author=EzequielPostan">implemented it</a>. This enables Skeptik to execute this algorithm not only on proofs output by <a href="https://en.wikipedia.org/wiki/Boolean_satisfiability_problem">SAT</a>- and <a href="https://en.wikipedia.org/wiki/Satisfiability_modulo_theories">SMT</a>-solvers but also on proofs output by resolution-based <a href="https://en.wikipedia.org/wiki/Automated_theorem_proving">automated theorem provers</a>. Ezequiel also implemented parsers for the <a href="http://www.cs.miami.edu/~tptp/">TPTP</a> and <a href="http://www.cs.miami.edu/~tptp/TSTP/">TSTP</a> formats for theorem proving problems and proofs, and implemented a random proof generator to allow comprehensive experimental evaluation of the algorithms.<br /><b><br /></b><b>Daniyar Itegulov</b> implemented a theorem prover for classical first-order logic using Skeptik's data structures and based on a novel logical calculus recently proposed by his mentor. This new calculus, called Conflict Resolution, is inspired by the propositional <a href="https://en.wikipedia.org/wiki/Conflict-Driven_Clause_Learning">conflict-driven clause learning</a> procedure used by SAT- and SMT-solvers and generalizes it to first-order logic. Daniyar also went further, conceiving and developing a concurrent proof search strategy for this calculus using <a href="http://akka.io/">Akka</a> actors.<br /><br /><i>By Bruno Paleo, Organization Administrator for AOSSIE</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-aossie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Open-sourcing DeepMind Lab</title>
		<link>https://googledata.org/google-open-source/open-sourcing-deepmind-lab/</link>
		<comments>https://googledata.org/google-open-source/open-sourcing-deepmind-lab/#comments</comments>
		<pubDate>Wed, 07 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1a1492dc59f363940d5af67a43936cc5</guid>
		<description><![CDATA[<i>Originally posted on <a href="https://deepmind.com/blog/open-sourcing-deepmind-lab/">DeepMind Blog</a></i><br /><br />DeepMind's scientific mission is to push the boundaries of AI, developing systems that can learn to solve any complex problem without needing to be taught how. To achieve this, we work from the premise that AI needs to be general. Agents should operate across a wide range of tasks and be able to automatically adapt to changing circumstances. That is, they should not be pre-programmed, but rather, able to learn automatically from their raw inputs and reward signals from the environment. There are two parts to this research program: (1) &#160;designing ever-more intelligent agents capable of more-and-more sophisticated cognitive skills, and (2) building increasingly complex environments where agents can be trained and evaluated.<br /><br />The development of innovative agents goes hand in hand with the careful design and implementation of rationally selected, flexible and well-maintained environments. To that end, we at DeepMind have invested considerable effort toward building rich simulated environments to serve as &#160;&#8220;laboratories&#8221; for AI research. Now we are open-sourcing our flagship platform, &#160;DeepMind Lab, so the broader research community can make use of it.<br /><br />DeepMind Lab is a fully 3D game-like platform tailored for agent-based AI research. It is observed from a first-person viewpoint, through the eyes of the simulated agent. Scenes are rendered with rich science fiction-style visuals. The available actions allow agents to look around and move in 3D. The agent&#8217;s &#8220;body&#8221; is a floating orb. It levitates and moves by activating thrusters opposite its desired direction of movement, and it has a camera that moves around the main sphere as a ball-in-socket joint tracking the rotational look actions. Example tasks include collecting fruit, navigating in mazes, traversing dangerous passages while avoiding falling off cliffs, bouncing through space using launch pads to move between platforms, playing laser tag, and quickly learning and remembering random procedurally generated environments. An illustration of how agents in DeepMind Lab perceive and interact with the world can be seen below:<br /><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img height="287" src="https://lh6.googleusercontent.com/cXAac5PNvC_sEj2btKcVZ-JYbNRRtG1juulC6FqkHWwdZ94ulw7aTvlqBkwSWVUZNkyJhbbMwp9-giuwm9mu0lx25OWpbh3gdsAcUudhxdIBcMZ7dS60EYyZr0okELHZTuEZENM4" width="569"></td></tr><tr><td>At each moment in time, agents observe the world as an image, in pixels, rendered from their own first-person perspective. They also may receive a reward (or punishment!) signal. The agent can activate its thrusters to move in 3D and can also rotate its viewpoint along both horizontal and vertical axes.</td></tr></tbody></table><span><span></span></span><br /><br />Artificial general intelligence research in DeepMind Lab emphasizes navigation, memory, 3D vision from a first person viewpoint, motor control, planning, strategy, time, and fully autonomous agents that must learn for themselves what tasks to perform by exploring their environment. All these factors make learning difficult. Each are considered frontier research questions in their own right. Putting them all together in one platform, as we have, represents a significant new challenge for the field.<br /><br /><br />DeepMind Lab is highly customisable and extendable. New levels can be authored with off-the-shelf editor tools. In addition, DeepMind Lab includes an interface for programmatic level-creation. Levels can be customised with gameplay logic, item pickups, custom observations, level restarts, reward schemes, in-game messages and more. The interface can be used to create levels in which novel map layouts are generated on the fly while an agent trains. These features are useful in, for example, testing how an agent copes with unfamiliar environments. Users will be able to add custom levels to the platform via GitHub. The assets will be hosted on GitHub alongside all the code, maps and level scripts. Our hope is that the community will help us shape and develop the platform going forward.<br /><br /><span><span><img height="416" src="https://lh3.googleusercontent.com/ZoMFw4kI6314jhNGXRhq1l7sUl0-upV61rGDd3Ju_wIkCR0lc2AvDMAMG9PHMnzGPkmtWn3abzE4I0Kq2xy_iEWReZDdiM8mj_YcVSY86RvBgRM9XcAxoJ4zWK6ePk-YQnIOsgT0" width="624"></span></span><br /><br />DeepMind Lab has been used internally at DeepMind for some time (<a href="https://deepmind.com/blog/reinforcement-learning-unsupervised-auxiliary-tasks/">example</a>). We believe it has already had a significant impact on our thinking concerning numerous aspects of intelligence, both natural and artificial. However, our efforts so far have only barely scratched the surface of what is possible in DeepMind Lab. There are opportunities for significant contributions still to be made in a number of mostly still untouched research domains now available through DeepMind Lab, such as navigation, memory and exploration.<br /><br />As well as facilitating agent evaluation, there are compelling reasons to think that it may be fundamentally easier to develop intelligence in a 3D world, observed from a first-person viewpoint, like DeepMind Lab. After all, the only known examples of general-purpose intelligence in the natural world arose from a combination of evolution, development, and learning, grounded in physics and the sensory apparatus of animals. It is possible that a large fraction of animal and human intelligence is a direct consequence of the richness of our environment, and unlikely to arise without it. Consider the alternative: if you or I had grown up in a world that looked like Space Invaders or Pac-Man, it doesn&#8217;t seem likely we would have achieved much general intelligence!<br /><br />Read the <a href="https://deepmind.com/documents/deepmind_lab.pdf">full paper here</a>.<br /><br />Access DeepMind's GitHub repository <a href="https://github.com/deepmind/lab">here</a>.<br /><br /><i>By Charlie Beattie, Joel Leibo, Stig Petersen and Shane Legg, DeepMind Team</i><br /><br /><br />]]></description>
				<content:encoded><![CDATA[<i>Originally posted on <a href="https://deepmind.com/blog/open-sourcing-deepmind-lab/">DeepMind Blog</a></i><br /><br />DeepMind's scientific mission is to push the boundaries of AI, developing systems that can learn to solve any complex problem without needing to be taught how. To achieve this, we work from the premise that AI needs to be general. Agents should operate across a wide range of tasks and be able to automatically adapt to changing circumstances. That is, they should not be pre-programmed, but rather, able to learn automatically from their raw inputs and reward signals from the environment. There are two parts to this research program: (1) &nbsp;designing ever-more intelligent agents capable of more-and-more sophisticated cognitive skills, and (2) building increasingly complex environments where agents can be trained and evaluated.<br /><br />The development of innovative agents goes hand in hand with the careful design and implementation of rationally selected, flexible and well-maintained environments. To that end, we at DeepMind have invested considerable effort toward building rich simulated environments to serve as &nbsp;“laboratories” for AI research. Now we are open-sourcing our flagship platform, &nbsp;DeepMind Lab, so the broader research community can make use of it.<br /><br />DeepMind Lab is a fully 3D game-like platform tailored for agent-based AI research. It is observed from a first-person viewpoint, through the eyes of the simulated agent. Scenes are rendered with rich science fiction-style visuals. The available actions allow agents to look around and move in 3D. The agent’s “body” is a floating orb. It levitates and moves by activating thrusters opposite its desired direction of movement, and it has a camera that moves around the main sphere as a ball-in-socket joint tracking the rotational look actions. Example tasks include collecting fruit, navigating in mazes, traversing dangerous passages while avoiding falling off cliffs, bouncing through space using launch pads to move between platforms, playing laser tag, and quickly learning and remembering random procedurally generated environments. An illustration of how agents in DeepMind Lab perceive and interact with the world can be seen below:<br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img height="287" src="https://lh6.googleusercontent.com/cXAac5PNvC_sEj2btKcVZ-JYbNRRtG1juulC6FqkHWwdZ94ulw7aTvlqBkwSWVUZNkyJhbbMwp9-giuwm9mu0lx25OWpbh3gdsAcUudhxdIBcMZ7dS60EYyZr0okELHZTuEZENM4" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="569" /></td></tr><tr><td class="tr-caption" style="text-align: center;">At each moment in time, agents observe the world as an image, in pixels, rendered from their own first-person perspective. They also may receive a reward (or punishment!) signal. The agent can activate its thrusters to move in 3D and can also rotate its viewpoint along both horizontal and vertical axes.</td></tr></tbody></table><span id="docs-internal-guid-44a3f70a-d573-6075-77f1-bdc7df3adc56"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><br />Artificial general intelligence research in DeepMind Lab emphasizes navigation, memory, 3D vision from a first person viewpoint, motor control, planning, strategy, time, and fully autonomous agents that must learn for themselves what tasks to perform by exploring their environment. All these factors make learning difficult. Each are considered frontier research questions in their own right. Putting them all together in one platform, as we have, represents a significant new challenge for the field.<br /><br /><br />DeepMind Lab is highly customisable and extendable. New levels can be authored with off-the-shelf editor tools. In addition, DeepMind Lab includes an interface for programmatic level-creation. Levels can be customised with gameplay logic, item pickups, custom observations, level restarts, reward schemes, in-game messages and more. The interface can be used to create levels in which novel map layouts are generated on the fly while an agent trains. These features are useful in, for example, testing how an agent copes with unfamiliar environments. Users will be able to add custom levels to the platform via GitHub. The assets will be hosted on GitHub alongside all the code, maps and level scripts. Our hope is that the community will help us shape and develop the platform going forward.<br /><br /><span id="docs-internal-guid-44a3f70a-d573-a7d3-e684-51ea9e2e9d2e"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><img height="416" src="https://lh3.googleusercontent.com/ZoMFw4kI6314jhNGXRhq1l7sUl0-upV61rGDd3Ju_wIkCR0lc2AvDMAMG9PHMnzGPkmtWn3abzE4I0Kq2xy_iEWReZDdiM8mj_YcVSY86RvBgRM9XcAxoJ4zWK6ePk-YQnIOsgT0" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></span><br /><br />DeepMind Lab has been used internally at DeepMind for some time (<a href="https://deepmind.com/blog/reinforcement-learning-unsupervised-auxiliary-tasks/">example</a>). We believe it has already had a significant impact on our thinking concerning numerous aspects of intelligence, both natural and artificial. However, our efforts so far have only barely scratched the surface of what is possible in DeepMind Lab. There are opportunities for significant contributions still to be made in a number of mostly still untouched research domains now available through DeepMind Lab, such as navigation, memory and exploration.<br /><br />As well as facilitating agent evaluation, there are compelling reasons to think that it may be fundamentally easier to develop intelligence in a 3D world, observed from a first-person viewpoint, like DeepMind Lab. After all, the only known examples of general-purpose intelligence in the natural world arose from a combination of evolution, development, and learning, grounded in physics and the sensory apparatus of animals. It is possible that a large fraction of animal and human intelligence is a direct consequence of the richness of our environment, and unlikely to arise without it. Consider the alternative: if you or I had grown up in a world that looked like Space Invaders or Pac-Man, it doesn’t seem likely we would have achieved much general intelligence!<br /><br />Read the <a href="https://deepmind.com/documents/deepmind_lab.pdf">full paper here</a>.<br /><br />Access DeepMind's GitHub repository <a href="https://github.com/deepmind/lab">here</a>.<br /><br /><i>By Charlie Beattie, Joel Leibo, Stig Petersen and Shane Legg, DeepMind Team</i><br /><br /><br />]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/open-sourcing-deepmind-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Why I contribute to Chromium</title>
		<link>https://googledata.org/google-open-source/why-i-contribute-to-chromium/</link>
		<comments>https://googledata.org/google-open-source/why-i-contribute-to-chromium/#comments</comments>
		<pubDate>Mon, 05 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=90db966c51ace3e5568dc4357c4a0f1f</guid>
		<description><![CDATA[<i>This is a guest post by Yoav Weiss who was recently recognized through the <a href="https://opensource.googleblog.com/2016/09/google-open-source-peer-bonus-program.html">Google Open Source Peer Bonus Program</a>&#160;for his work on the Chromium project. We invited Yoav to share about his work on our blog.</i><br /><i><br /></i>I was recently recognized by Google for my contributions to <a href="https://www.chromium.org/Home">Chromium</a> and wanted to write a few words on why I contribute to the project, other rendering engines and the web platform in general. I also wanted to share how it helped me evolve as a developer and why more people should contribute to the web platform for their own benefit.<br /><h2>The web platform</h2>I&#8217;ve <a href="https://blog.yoav.ws/by_the_people/">written before</a> about why I think the web platform is an extremely important asset for humanity and why we should make sure it'll thrive for years to come. It enables the distribution of knowledge to the corners of the earth and has fundamentally changed our world. Yet, compared to the amount of users (billions!) and web developers (millions), there are only a few hundred engineers working on maintaining and improving the platform itself.<br /><br />That means that there are many aspects of the platform that are not as well maintained as they should be. We're at a real risk of a "<a href="https://en.wikipedia.org/wiki/Tragedy_of_the_commons">tragedy of the commons</a>" scenario, where despite usage and utility, the platform will collapse under its own weight because maintaining it is nobody's exclusive problem.<br /><h2>How I got started</h2>Personally, I had been working on web performance for well over a decade before I decided to get more involved and lend my hand in building the platform. For a large part of my professional life, browsers were black boxes. They were given to us by the browser gods and that's what we had to work with for the next few years. Their undocumented bugs and quirks became gospel, passed from senior engineers to their juniors.<br /><br />Then at some point, that situation changed. Slowly but surely, open source browsers started picking up market share. No longer black boxes, we can actually see what happens on the inside!<br /><br />I first got involved by joining the responsive images discussions and the <a href="http://responsiveimages.org/">Responsive Images Community Group</a>. Then, I saw a <a href="https://twitter.com/wilto/status/247030792851689472">tweet</a> from RICG's chair calling to develop a prototype of the current proposal to prove its feasibility and value. And I jumped in.<br /><br />I created a prototype using Chromium and <a href="https://webkit.org/">WebKit</a>, demoed it to anyone that was interested, worked on the proposals and argued the viability of the proposals' approach on the various mailing lists. Eventually, we were able to get some browser folks on board, improve the proposals and their fit to the rest of the platform, and I started working on an implementation.<br /><br />The amount of work this required was larger than I expected. Eventually I managed to ship the feature in Blink and Chromium, and complete large parts of the implementation in WebKit as well. WOOT!<br /><h2>Success! Now what?</h2>After that project was done, I started looking into what I should do next. I was determined to continue working on browsers and find a gig that would let me do that. So I searched for an employer with a vested interest in the web and in making it faster, who would be happy to let me work on the platform's client - the web browser.<br /><br />I found such an employer in <a href="https://www.akamai.com/">Akamai</a>, where I have been working as a Principal Architect ever since. As part of my job I'm working on our performance optimization features as well as performance-related browser features, making sure they make it into browsers in a timely fashion.<br /><h2>Why you should contribute, too</h2>Now, chances are that if you're reading this, you're also relying on the web platform for your job in one way or another. Which means that there's a chance that it also makes sense for your organization to contribute to the web platform. Let&#8217;s explore the reasons:<br /><h3>1. Make sure work is done on features you care about</h3>If you're like me, you love the web platform and the reach it provides you, but you're not necessarily happy with all of it. The web is great, but not perfect. Since browsers and web standards are no longer black boxes, you can help change that.<br /><br />You can work on standards and browsers to change them to include your use-case. That's immense power at your fingertips: put in the work and the platform evolves for all the billions of users out there.<br /><br />And you don&#8217;t have to wait years before new features can be used in production like with yesteryear's browser changes. With today&#8217;s browser update rates and progressive enhancement, you&#8217;ll probably be able to use changes in production within a few months.<br /><h3>2. Gain expertise that can help you do your job better</h3>Knowing browser internals better can also give you superpowers in other parts of your job. Whenever questions about browser behavior arrive, you can take a peek into the source code and have concrete answers rather than speculation.<br /><br />Keeping track of standards discussions give you visibility into new browser APIs that are coming along, so that you can opt to use those rather than settle for sub-optimal alternatives that are currently available.<br /><h3>3. Grow as an engineer</h3>Working on browsers teaches you a lot about how things work under the surface and enables you to understand the internals of modern browsers, which are extremely complex machines. Further, this work allows you to get code reviews from the world's leading experts on these subjects. What better way to grow than to interact with the experts?<br /><h3>4. It's a fun and welcoming community</h3>Contributing to the web platform has been a great experience for me. Working with the Chromium project, in particular, is always great fun. The project is Google backed, but there are many external contributors and the majority of work and decisions are being done in the open. The people I've worked with are super friendly and happy to help. All in all, it's really fun!<br /><h2>Join us</h2>The web needs more people working on it, and working on the web platform can be extremely beneficial to you, your career and your business.<br /><br />If you're interested in getting started with web standards, the <a href="https://discourse.wicg.io/">Discourse</a> instance of the web Platform Incubator Community Group (or <a href="https://wicg.io/">WICG</a> for short) is where it's at (disclaimer: I'm co-chairing that group). For getting started with Chromium development, <a href="https://meowni.ca/posts/chromium-101/">this is the post</a> for you.<br /><br />And most important, don't be afraid to ask the community. People on <a href="https://groups.google.com/a/chromium.org/forum/#!forum/blink-dev">blink-dev</a> and IRC are super friendly and will be happy to point you in the right direction.<br /><br />So come on over and join the good cause. We'll be happy to have you!<br /><br /><i>By Yoav Weiss, Chromium contributor</i>]]></description>
				<content:encoded><![CDATA[<i>This is a guest post by Yoav Weiss who was recently recognized through the <a href="https://opensource.googleblog.com/2016/09/google-open-source-peer-bonus-program.html">Google Open Source Peer Bonus Program</a>&nbsp;for his work on the Chromium project. We invited Yoav to share about his work on our blog.</i><br /><i><br /></i>I was recently recognized by Google for my contributions to <a href="https://www.chromium.org/Home">Chromium</a> and wanted to write a few words on why I contribute to the project, other rendering engines and the web platform in general. I also wanted to share how it helped me evolve as a developer and why more people should contribute to the web platform for their own benefit.<br /><h2>The web platform</h2>I’ve <a href="https://blog.yoav.ws/by_the_people/">written before</a> about why I think the web platform is an extremely important asset for humanity and why we should make sure it'll thrive for years to come. It enables the distribution of knowledge to the corners of the earth and has fundamentally changed our world. Yet, compared to the amount of users (billions!) and web developers (millions), there are only a few hundred engineers working on maintaining and improving the platform itself.<br /><br />That means that there are many aspects of the platform that are not as well maintained as they should be. We're at a real risk of a "<a href="https://en.wikipedia.org/wiki/Tragedy_of_the_commons">tragedy of the commons</a>" scenario, where despite usage and utility, the platform will collapse under its own weight because maintaining it is nobody's exclusive problem.<br /><h2>How I got started</h2>Personally, I had been working on web performance for well over a decade before I decided to get more involved and lend my hand in building the platform. For a large part of my professional life, browsers were black boxes. They were given to us by the browser gods and that's what we had to work with for the next few years. Their undocumented bugs and quirks became gospel, passed from senior engineers to their juniors.<br /><br />Then at some point, that situation changed. Slowly but surely, open source browsers started picking up market share. No longer black boxes, we can actually see what happens on the inside!<br /><br />I first got involved by joining the responsive images discussions and the <a href="http://responsiveimages.org/">Responsive Images Community Group</a>. Then, I saw a <a href="https://twitter.com/wilto/status/247030792851689472">tweet</a> from RICG's chair calling to develop a prototype of the current proposal to prove its feasibility and value. And I jumped in.<br /><br />I created a prototype using Chromium and <a href="https://webkit.org/">WebKit</a>, demoed it to anyone that was interested, worked on the proposals and argued the viability of the proposals' approach on the various mailing lists. Eventually, we were able to get some browser folks on board, improve the proposals and their fit to the rest of the platform, and I started working on an implementation.<br /><br />The amount of work this required was larger than I expected. Eventually I managed to ship the feature in Blink and Chromium, and complete large parts of the implementation in WebKit as well. WOOT!<br /><h2>Success! Now what?</h2>After that project was done, I started looking into what I should do next. I was determined to continue working on browsers and find a gig that would let me do that. So I searched for an employer with a vested interest in the web and in making it faster, who would be happy to let me work on the platform's client - the web browser.<br /><br />I found such an employer in <a href="https://www.akamai.com/">Akamai</a>, where I have been working as a Principal Architect ever since. As part of my job I'm working on our performance optimization features as well as performance-related browser features, making sure they make it into browsers in a timely fashion.<br /><h2>Why you should contribute, too</h2>Now, chances are that if you're reading this, you're also relying on the web platform for your job in one way or another. Which means that there's a chance that it also makes sense for your organization to contribute to the web platform. Let’s explore the reasons:<br /><h3>1. Make sure work is done on features you care about</h3>If you're like me, you love the web platform and the reach it provides you, but you're not necessarily happy with all of it. The web is great, but not perfect. Since browsers and web standards are no longer black boxes, you can help change that.<br /><br />You can work on standards and browsers to change them to include your use-case. That's immense power at your fingertips: put in the work and the platform evolves for all the billions of users out there.<br /><br />And you don’t have to wait years before new features can be used in production like with yesteryear's browser changes. With today’s browser update rates and progressive enhancement, you’ll probably be able to use changes in production within a few months.<br /><h3>2. Gain expertise that can help you do your job better</h3>Knowing browser internals better can also give you superpowers in other parts of your job. Whenever questions about browser behavior arrive, you can take a peek into the source code and have concrete answers rather than speculation.<br /><br />Keeping track of standards discussions give you visibility into new browser APIs that are coming along, so that you can opt to use those rather than settle for sub-optimal alternatives that are currently available.<br /><h3>3. Grow as an engineer</h3>Working on browsers teaches you a lot about how things work under the surface and enables you to understand the internals of modern browsers, which are extremely complex machines. Further, this work allows you to get code reviews from the world's leading experts on these subjects. What better way to grow than to interact with the experts?<br /><h3>4. It's a fun and welcoming community</h3>Contributing to the web platform has been a great experience for me. Working with the Chromium project, in particular, is always great fun. The project is Google backed, but there are many external contributors and the majority of work and decisions are being done in the open. The people I've worked with are super friendly and happy to help. All in all, it's really fun!<br /><h2>Join us</h2>The web needs more people working on it, and working on the web platform can be extremely beneficial to you, your career and your business.<br /><br />If you're interested in getting started with web standards, the <a href="https://discourse.wicg.io/">Discourse</a> instance of the web Platform Incubator Community Group (or <a href="https://wicg.io/">WICG</a> for short) is where it's at (disclaimer: I'm co-chairing that group). For getting started with Chromium development, <a href="https://meowni.ca/posts/chromium-101/">this is the post</a> for you.<br /><br />And most important, don't be afraid to ask the community. People on <a href="https://groups.google.com/a/chromium.org/forum/#!forum/blink-dev">blink-dev</a> and IRC are super friendly and will be happy to point you in the right direction.<br /><br />So come on over and join the good cause. We'll be happy to have you!<br /><br /><i>By Yoav Weiss, Chromium contributor</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/why-i-contribute-to-chromium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Announcing OSS-Fuzz: Continuous fuzzing for open source software</title>
		<link>https://googledata.org/google-open-source/announcing-oss-fuzz-continuous-fuzzing-for-open-source-software-2/</link>
		<comments>https://googledata.org/google-open-source/announcing-oss-fuzz-continuous-fuzzing-for-open-source-software-2/#comments</comments>
		<pubDate>Thu, 01 Dec 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=fb720dccc72d87d64e5010ae0d2f9f72</guid>
		<description><![CDATA[<b>We are happy to announce <a href="https://github.com/google/oss-fuzz">OSS-Fuzz</a>, a new Beta program developed over the past years with the <a href="https://www.coreinfrastructure.org/">Core Infrastructure Initiative</a> community. This program will provide continuous fuzzing for select core open source software.</b><br /><br />Open source software is the backbone of the many apps, sites, services, and networked things that make up &#8220;the internet.&#8221; It is important that the open source foundation be stable, secure, and reliable, as cracks and weaknesses impact all who build on it.<br /><br /><a href="https://en.wikipedia.org/wiki/Heartbleed">Recent</a> <a href="https://en.wikipedia.org/wiki/Stagefright_(bug)">security</a> <a href="https://googlechromereleases.blogspot.com/2016/09/stable-channel-updates-for-chrome-os.html">stories</a> confirm that errors like <a href="https://en.wikipedia.org/wiki/Buffer_overflow">buffer overflow</a> and <a href="https://en.wikipedia.org/wiki/Dangling_pointer">use-after-free</a> can have serious, widespread consequences when they occur in critical open source software. These errors are not only serious, but notoriously difficult to find via routine code audits, even for experienced developers. That's where <a href="https://en.wikipedia.org/wiki/Fuzz_testing">fuzz testing</a> comes in. By generating random inputs to a given program, fuzzing triggers and helps uncover errors quickly and thoroughly.<br /><br />In recent years, several efficient general purpose fuzzing engines have been implemented (e.g. <a href="http://lcamtuf.coredump.cx/afl/">AFL</a> and <a href="http://libfuzzer.info/">libFuzzer</a>), and we use them to <a href="https://security.googleblog.com/2016/08/guided-in-process-fuzzing-of-chrome.html">fuzz various components of the Chrome browser</a>. These fuzzers, when combined with <a href="https://github.com/google/sanitizers">Sanitizers</a>, can help find security vulnerabilities (e.g. buffer overflows, use-after-free, bad casts, integer overflows, etc), stability bugs (e.g. null dereferences, memory leaks, out-of-memory, assertion failures, etc) and <a href="https://blog.fuzzing-project.org/31-Fuzzing-Math-miscalculations-in-OpenSSLs-BN_mod_exp-CVE-2015-3193.html">sometimes</a> even logical bugs.<br /><br />OSS-Fuzz&#8217;s goal is to make common software infrastructure more secure and stable by combining modern fuzzing techniques with scalable distributed execution. OSS-Fuzz combines various fuzzing engines (initially, libFuzzer) with Sanitizers (initially, <a href="http://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a>) and provides a massive distributed execution environment powered by <a href="https://github.com/google/oss-fuzz/blob/master/docs/clusterfuzz.md">ClusterFuzz</a>.<br /><h2>Early successes</h2>Our initial trials with OSS-Fuzz have had good results. An example is the <a href="https://www.freetype.org/">FreeType</a> library, which is used on over a <a href="https://en.wikipedia.org/wiki/FreeType#Users">billion devices</a> to display text (and which might even be rendering the characters you are reading now). It is important for FreeType to be stable and secure in an age when fonts are loaded over the Internet. Werner Lemberg, one of the FreeType developers, <a href="https://savannah.nongnu.org/search/?type_of_search=bugs&#38;words=LibFuzzer&#38;offset=0&#38;max_rows=100#results">was</a> an early adopter of OSS-Fuzz. Recently the <a href="http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/tools/ftfuzzer/ftfuzzer.cc">FreeType fuzzer</a> found a <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53">new heap buffer overflow</a> only a few hours after the source change:<br /><br /><pre>ERROR: AddressSanitizer: <b>heap-buffer-overflow</b> on address 0x615000000ffa<br />READ of size 2 at 0x615000000ffa thread T0<br /><b>SCARINESS: 24 (2-byte-read-heap-buffer-overflow-far-from-bounds)</b><br />&#160; &#160;#0 0x885e06 in tt_face_vary_cvtsrc/truetype/ttgxvar.c:1556:31<br /></pre><br />OSS-Fuzz automatically <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53">notified</a> the maintainer, who <a href="http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=7eeaf986b5ebb43cbbc8368c6e528ac311d87805">fixed</a> the bug; then OSS-Fuzz automatically <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53#c3">confirmed</a> the fix. All in one day! You can see the <a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&#38;q=type=Bug-Security,Bug%20-component:Infra%20status:Fixed,Verified&#38;sort=-id&#38;colspec=ID%20Type%20Component%20Status%20Library%20Reported%20Owner%20Summary">full list</a> of fixed and disclosed bugs found by OSS-Fuzz so far.<br /><h2>Contributions and feedback are welcome</h2>OSS-Fuzz has already found <b><a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&#38;q=-component%3AInfra+-status%3ADuplicate%2CWontFix&#38;sort=-id&#38;colspec=ID+Type+Component+Status+Library+Reported+Owner+Summary&#38;cells=ids">150 bugs</a></b> in several widely used open source <a href="https://github.com/google/oss-fuzz/tree/master/projects">projects</a> (and churns <b>~4 trillion test cases</b> a week). With your help, we can make fuzzing a standard part of open source development, and work with the broader community of developers and security testers to ensure that bugs in critical open source applications, libraries, and APIs are discovered and fixed. We believe that this approach to automated security testing will result in real improvements to the security and stability of open source software.<br /><br />OSS-Fuzz is launching in Beta right now, and will be accepting suggestions for candidate open source projects. In order for a project to be accepted to OSS-Fuzz, it needs to have a large user base and/or be critical to Global IT infrastructure, a general heuristic that we are intentionally leaving open to interpretation at this early stage. See more details and instructions on how to apply <a href="https://github.com/google/oss-fuzz#accepting-new-projects">here</a>.<br /><br />Once a project is signed up for OSS-Fuzz, it is automatically subject to the 90-day disclosure deadline for newly reported bugs in our <a href="https://bugs.chromium.org/p/oss-fuzz/issues/list">tracker</a> (see details <a href="https://github.com/google/oss-fuzz#bug-disclosure-guidelines">here</a>). This matches industry&#8217;s <a href="https://googleprojectzero.blogspot.com/2015/02/feedback-and-data-driven-updates-to.html">best practices</a> and improves end-user security and stability by getting patches to users faster.<br /><br />Help us ensure this program is truly serving the open source community and the internet which relies on this critical software, contribute and leave your feedback on <a href="https://github.com/google/oss-fuzz">GitHub</a>.<br /><br /><i>By Mike Aizatsky, Kostya Serebryany (Software Engineers, Dynamic Tools); Oliver Chang, Abhishek Arya (Security Engineers, Google Chrome); and Meredith Whittaker (Open Research Lead).</i>]]></description>
				<content:encoded><![CDATA[<b>We are happy to announce <a href="https://github.com/google/oss-fuzz">OSS-Fuzz</a>, a new Beta program developed over the past years with the <a href="https://www.coreinfrastructure.org/">Core Infrastructure Initiative</a> community. This program will provide continuous fuzzing for select core open source software.</b><br /><br />Open source software is the backbone of the many apps, sites, services, and networked things that make up “the internet.” It is important that the open source foundation be stable, secure, and reliable, as cracks and weaknesses impact all who build on it.<br /><br /><a href="https://en.wikipedia.org/wiki/Heartbleed">Recent</a> <a href="https://en.wikipedia.org/wiki/Stagefright_(bug)">security</a> <a href="https://googlechromereleases.blogspot.com/2016/09/stable-channel-updates-for-chrome-os.html">stories</a> confirm that errors like <a href="https://en.wikipedia.org/wiki/Buffer_overflow">buffer overflow</a> and <a href="https://en.wikipedia.org/wiki/Dangling_pointer">use-after-free</a> can have serious, widespread consequences when they occur in critical open source software. These errors are not only serious, but notoriously difficult to find via routine code audits, even for experienced developers. That's where <a href="https://en.wikipedia.org/wiki/Fuzz_testing">fuzz testing</a> comes in. By generating random inputs to a given program, fuzzing triggers and helps uncover errors quickly and thoroughly.<br /><br />In recent years, several efficient general purpose fuzzing engines have been implemented (e.g. <a href="http://lcamtuf.coredump.cx/afl/">AFL</a> and <a href="http://libfuzzer.info/">libFuzzer</a>), and we use them to <a href="https://security.googleblog.com/2016/08/guided-in-process-fuzzing-of-chrome.html">fuzz various components of the Chrome browser</a>. These fuzzers, when combined with <a href="https://github.com/google/sanitizers">Sanitizers</a>, can help find security vulnerabilities (e.g. buffer overflows, use-after-free, bad casts, integer overflows, etc), stability bugs (e.g. null dereferences, memory leaks, out-of-memory, assertion failures, etc) and <a href="https://blog.fuzzing-project.org/31-Fuzzing-Math-miscalculations-in-OpenSSLs-BN_mod_exp-CVE-2015-3193.html">sometimes</a> even logical bugs.<br /><br />OSS-Fuzz’s goal is to make common software infrastructure more secure and stable by combining modern fuzzing techniques with scalable distributed execution. OSS-Fuzz combines various fuzzing engines (initially, libFuzzer) with Sanitizers (initially, <a href="http://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a>) and provides a massive distributed execution environment powered by <a href="https://github.com/google/oss-fuzz/blob/master/docs/clusterfuzz.md">ClusterFuzz</a>.<br /><h2>Early successes</h2>Our initial trials with OSS-Fuzz have had good results. An example is the <a href="https://www.freetype.org/">FreeType</a> library, which is used on over a <a href="https://en.wikipedia.org/wiki/FreeType#Users">billion devices</a> to display text (and which might even be rendering the characters you are reading now). It is important for FreeType to be stable and secure in an age when fonts are loaded over the Internet. Werner Lemberg, one of the FreeType developers, <a href="https://savannah.nongnu.org/search/?type_of_search=bugs&amp;words=LibFuzzer&amp;offset=0&amp;max_rows=100#results">was</a> an early adopter of OSS-Fuzz. Recently the <a href="http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/tools/ftfuzzer/ftfuzzer.cc">FreeType fuzzer</a> found a <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53">new heap buffer overflow</a> only a few hours after the source change:<br /><br /><pre>ERROR: AddressSanitizer: <b>heap-buffer-overflow</b> on address 0x615000000ffa<br />READ of size 2 at 0x615000000ffa thread T0<br /><b>SCARINESS: 24 (2-byte-read-heap-buffer-overflow-far-from-bounds)</b><br />&nbsp; &nbsp;#0 0x885e06 in tt_face_vary_cvtsrc/truetype/ttgxvar.c:1556:31<br /></pre><br />OSS-Fuzz automatically <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53">notified</a> the maintainer, who <a href="http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=7eeaf986b5ebb43cbbc8368c6e528ac311d87805">fixed</a> the bug; then OSS-Fuzz automatically <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53#c3">confirmed</a> the fix. All in one day! You can see the <a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&amp;q=type=Bug-Security,Bug%20-component:Infra%20status:Fixed,Verified&amp;sort=-id&amp;colspec=ID%20Type%20Component%20Status%20Library%20Reported%20Owner%20Summary">full list</a> of fixed and disclosed bugs found by OSS-Fuzz so far.<br /><h2>Contributions and feedback are welcome</h2>OSS-Fuzz has already found <b><a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&amp;q=-component%3AInfra+-status%3ADuplicate%2CWontFix&amp;sort=-id&amp;colspec=ID+Type+Component+Status+Library+Reported+Owner+Summary&amp;cells=ids">150 bugs</a></b> in several widely used open source <a href="https://github.com/google/oss-fuzz/tree/master/projects">projects</a> (and churns <b>~4 trillion test cases</b> a week). With your help, we can make fuzzing a standard part of open source development, and work with the broader community of developers and security testers to ensure that bugs in critical open source applications, libraries, and APIs are discovered and fixed. We believe that this approach to automated security testing will result in real improvements to the security and stability of open source software.<br /><br />OSS-Fuzz is launching in Beta right now, and will be accepting suggestions for candidate open source projects. In order for a project to be accepted to OSS-Fuzz, it needs to have a large user base and/or be critical to Global IT infrastructure, a general heuristic that we are intentionally leaving open to interpretation at this early stage. See more details and instructions on how to apply <a href="https://github.com/google/oss-fuzz#accepting-new-projects">here</a>.<br /><br />Once a project is signed up for OSS-Fuzz, it is automatically subject to the 90-day disclosure deadline for newly reported bugs in our <a href="https://bugs.chromium.org/p/oss-fuzz/issues/list">tracker</a> (see details <a href="https://github.com/google/oss-fuzz#bug-disclosure-guidelines">here</a>). This matches industry’s <a href="https://googleprojectzero.blogspot.com/2015/02/feedback-and-data-driven-updates-to.html">best practices</a> and improves end-user security and stability by getting patches to users faster.<br /><br />Help us ensure this program is truly serving the open source community and the internet which relies on this critical software, contribute and leave your feedback on <a href="https://github.com/google/oss-fuzz">GitHub</a>.<br /><br /><i>By Mike Aizatsky, Kostya Serebryany (Software Engineers, Dynamic Tools); Oliver Chang, Abhishek Arya (Security Engineers, Google Chrome); and Meredith Whittaker (Open Research Lead).</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/announcing-oss-fuzz-continuous-fuzzing-for-open-source-software-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Docker + Dataflow = happier workflows</title>
		<link>https://googledata.org/google-open-source/docker-dataflow-happier-workflows/</link>
		<comments>https://googledata.org/google-open-source/docker-dataflow-happier-workflows/#comments</comments>
		<pubDate>Wed, 30 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=35c1b807447627e67bfbd158162f0675</guid>
		<description><![CDATA[When I first saw the <a href="https://cloud.google.com/dataflow/">Google Cloud Dataflow</a> monitoring UI -- with its <a href="https://cloud.google.com/dataflow/pipelines/dataflow-monitoring-intf">visual flow execution graph</a> that updates as your job runs, and convenient links to the log messages -- the idea came to me. What if I could take that UI, and use it for something it was never built for? Could it be connected with open source projects aimed at promoting reproducible scientific analysis, like <a href="https://github.com/common-workflow-language/common-workflow-language">Common Workflow Language</a> (CWL) or <a href="https://github.com/broadinstitute/wdl">Workflow Definition Language</a> (WDL)?<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img height="360" src="https://lh5.googleusercontent.com/shn1h6dwzbyj_CkavT8nZthIANhVbWXDmUsdzzygonpetrFE77kfMMC6NPSqicmYn0-T3XcXjfK2o4qreRZ7rWiOMSQIHIYrh93UbZgNTTBHsAVvwpSj-RnCT6f5U9NCl7lodTBr" width="432"></td></tr><tr><td>Screenshot of a Dockerflow&#160;workflow for DNA sequence analysis.</td></tr></tbody></table><br />In scientific computing, it&#8217;s really common to submit jobs to a local high-performance computing (HPC) cluster. There are tools to do that in the cloud, like&#160;<a href="https://github.com/gc3-uzh-ch/elasticluster">Elasticluster</a>&#160;and&#160;<a href="http://star.mit.edu/cluster/">Starcluster</a>. They replicate the local way of doing things, which means they require a bunch of infrastructure setup and management that the university IT department would otherwise do. Even after you&#8217;re set up, you still have to ssh into the cluster to do anything. And then there are a million different choices for workflow managers, each unsatisfactory in its own special way.<br /><br />By day, I&#8217;m a product manager. I hadn&#8217;t done any serious coding in a few years. But I figured it shouldn&#8217;t be that hard to create a proof-of-concept, just to show that the&#160;<a href="http://beam.incubator.apache.org/">Apache Beam</a>&#160;API that Dataflow implements can be used for running scientific workflows. Now, Dataflow was created for a different purpose, namely, to support scalable data-parallel processing, like transforming giant data sets, or computing summary statistics, or indexing web pages. To use Dataflow for scientific workflows would require wrapping up shell steps that launch VMs, run some code, and shuttle data back and forth from an object store. It should be easy, right?<br /><br />It wasn&#8217;t so bad. Over the weekend, I downloaded the Dataflow SDK, ran the wordcount examples, and started modifying. I had a &#8220;Hello, world&#8221; proof-of-concept in a day.<br /><br />To really run scientific workflows would require more, of course. Varying VM shapes, a way to pass parameters from one step to the next, graph definition, scattering and gathering, retries. So I shifted into prototyping mode.<br /><br />I created a new GitHub project called <a href="https://github.com/googlegenomics/dockerflow">Dockerflow</a>. With Dockerflow, workflows can be defined in <a href="http://yaml.org/">YAML</a> files. They can also be written in pretty compact Java code. You can run a batch of workflows at once by providing a CSV file with one row per workflow to define the parameters.<br /><br />Dataflow and Docker complement each other nicely:<br /><br /><ul><li>Dataflow provides a fully managed service with a nice monitoring interface, retries, &#160;graph optimization and other niceties.</li><li>Docker provides portability of the tools themselves, and there's a large library of packaged tools already available as Docker images.</li></ul><br />While Dockerflow supports a simple YAML workflow definition, a similar approach could be taken to implement a runner for one of the open standards like CWL or WDL.<br /><div><br /></div>To get a sense of working with Dockerflow, here&#8217;s &#8220;Hello, World&#8221; written in YAML:<br /><div><br /></div><pre>defn:<br />&#160; name: HelloWorkflow<br />steps:<br />- defn:<br />&#160; &#160; name: Hello<br />&#160; &#160; inputParameters:<br />&#160; &#160; &#160; name: message<br />&#160; &#160; &#160; defaultValue: Hello, World!<br />&#160; &#160; docker:<br />&#160; &#160; &#160; imageName: ubuntu<br />&#160; &#160; &#160; cmd: echo $message<br /></pre><br />And here&#8217;s the same example written in Java:<br /><div><br /></div><pre>public class HelloWorkflow implements WorkflowDefn {<br />&#160; @Override<br />&#160; public Workflow createWorkflow(String[] args) throws IOException {<br />&#160; &#160; Task hello =<br />&#160; &#160; &#160; &#160; TaskBuilder.named("Hello").input("message", &#8220;Hello, World!&#8221;).docker(&#8220;ubuntu&#8221;).script("echo $message").build();<br />&#160; &#160; return TaskBuilder.named("HelloWorkflow").steps(hello).args(args).build();<br />&#160; }<br />}<br /></pre><br />Dockerflow is just a prototype at this stage, though it can run real workflows and includes many nice features, like dry runs, resuming failed runs from mid-workflow, and, of course, the nice UI. It uses Cloud Dataflow in a way that was never intended -- to run scientific batch workflows rather than large-scale data-parallel workloads. I wish I&#8217;d written it in Python rather than Java. The Dataflow Python SDK wasn&#8217;t quite as mature when I started.<br /><br />Which is all to say, it&#8217;s been a great 20% project, and the future really depends on whether it solves a problem people have, and if others are interested in improving on it. We welcome your contributions and comments! How do you run and monitor scientific workflows today?<br /><br /><i>By Jonathan Bingham, Google Genomics and Verily Life Sciences</i>]]></description>
				<content:encoded><![CDATA[When I first saw the <a href="https://cloud.google.com/dataflow/">Google Cloud Dataflow</a> monitoring UI -- with its <a href="https://cloud.google.com/dataflow/pipelines/dataflow-monitoring-intf">visual flow execution graph</a> that updates as your job runs, and convenient links to the log messages -- the idea came to me. What if I could take that UI, and use it for something it was never built for? Could it be connected with open source projects aimed at promoting reproducible scientific analysis, like <a href="https://github.com/common-workflow-language/common-workflow-language">Common Workflow Language</a> (CWL) or <a href="https://github.com/broadinstitute/wdl">Workflow Definition Language</a> (WDL)?<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img height="360" src="https://lh5.googleusercontent.com/shn1h6dwzbyj_CkavT8nZthIANhVbWXDmUsdzzygonpetrFE77kfMMC6NPSqicmYn0-T3XcXjfK2o4qreRZ7rWiOMSQIHIYrh93UbZgNTTBHsAVvwpSj-RnCT6f5U9NCl7lodTBr" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="432" /></td></tr><tr><td class="tr-caption" style="text-align: center;">Screenshot of a Dockerflow&nbsp;workflow for DNA sequence analysis.</td></tr></tbody></table><br />In scientific computing, it’s really common to submit jobs to a local high-performance computing (HPC) cluster. There are tools to do that in the cloud, like&nbsp;<a href="https://github.com/gc3-uzh-ch/elasticluster">Elasticluster</a>&nbsp;and&nbsp;<a href="http://star.mit.edu/cluster/">Starcluster</a>. They replicate the local way of doing things, which means they require a bunch of infrastructure setup and management that the university IT department would otherwise do. Even after you’re set up, you still have to ssh into the cluster to do anything. And then there are a million different choices for workflow managers, each unsatisfactory in its own special way.<br /><br />By day, I’m a product manager. I hadn’t done any serious coding in a few years. But I figured it shouldn’t be that hard to create a proof-of-concept, just to show that the&nbsp;<a href="http://beam.incubator.apache.org/">Apache Beam</a>&nbsp;API that Dataflow implements can be used for running scientific workflows. Now, Dataflow was created for a different purpose, namely, to support scalable data-parallel processing, like transforming giant data sets, or computing summary statistics, or indexing web pages. To use Dataflow for scientific workflows would require wrapping up shell steps that launch VMs, run some code, and shuttle data back and forth from an object store. It should be easy, right?<br /><br />It wasn’t so bad. Over the weekend, I downloaded the Dataflow SDK, ran the wordcount examples, and started modifying. I had a “Hello, world” proof-of-concept in a day.<br /><br />To really run scientific workflows would require more, of course. Varying VM shapes, a way to pass parameters from one step to the next, graph definition, scattering and gathering, retries. So I shifted into prototyping mode.<br /><br />I created a new GitHub project called <a href="https://github.com/googlegenomics/dockerflow">Dockerflow</a>. With Dockerflow, workflows can be defined in <a href="http://yaml.org/">YAML</a> files. They can also be written in pretty compact Java code. You can run a batch of workflows at once by providing a CSV file with one row per workflow to define the parameters.<br /><br />Dataflow and Docker complement each other nicely:<br /><br /><ul><li>Dataflow provides a fully managed service with a nice monitoring interface, retries, &nbsp;graph optimization and other niceties.</li><li>Docker provides portability of the tools themselves, and there's a large library of packaged tools already available as Docker images.</li></ul><br />While Dockerflow supports a simple YAML workflow definition, a similar approach could be taken to implement a runner for one of the open standards like CWL or WDL.<br /><div><br /></div>To get a sense of working with Dockerflow, here’s “Hello, World” written in YAML:<br /><div><br /></div><pre>defn:<br />&nbsp; name: HelloWorkflow<br />steps:<br />- defn:<br />&nbsp; &nbsp; name: Hello<br />&nbsp; &nbsp; inputParameters:<br />&nbsp; &nbsp; &nbsp; name: message<br />&nbsp; &nbsp; &nbsp; defaultValue: Hello, World!<br />&nbsp; &nbsp; docker:<br />&nbsp; &nbsp; &nbsp; imageName: ubuntu<br />&nbsp; &nbsp; &nbsp; cmd: echo $message<br /></pre><br />And here’s the same example written in Java:<br /><div><br /></div><pre>public class HelloWorkflow implements WorkflowDefn {<br />&nbsp; @Override<br />&nbsp; public Workflow createWorkflow(String[] args) throws IOException {<br />&nbsp; &nbsp; Task hello =<br />&nbsp; &nbsp; &nbsp; &nbsp; TaskBuilder.named("Hello").input("message", “Hello, World!”).docker(“ubuntu”).script("echo $message").build();<br />&nbsp; &nbsp; return TaskBuilder.named("HelloWorkflow").steps(hello).args(args).build();<br />&nbsp; }<br />}<br /></pre><br />Dockerflow is just a prototype at this stage, though it can run real workflows and includes many nice features, like dry runs, resuming failed runs from mid-workflow, and, of course, the nice UI. It uses Cloud Dataflow in a way that was never intended -- to run scientific batch workflows rather than large-scale data-parallel workloads. I wish I’d written it in Python rather than Java. The Dataflow Python SDK wasn’t quite as mature when I started.<br /><br />Which is all to say, it’s been a great 20% project, and the future really depends on whether it solves a problem people have, and if others are interested in improving on it. We welcome your contributions and comments! How do you run and monitor scientific workflows today?<br /><br /><i>By Jonathan Bingham, Google Genomics and Verily Life Sciences</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/docker-dataflow-happier-workflows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: STE&#124;&#124;AR</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-stear/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-stear/#comments</comments>
		<pubDate>Tue, 29 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ca8b7a4cb45e1c6448e3e81ffecfe322</guid>
		<description><![CDATA[<i>This is part of a series of guest posts from students, mentors and organization administrators who participated in <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. GSoC is an annual program which pairs university students with mentors to work on open source software.</i><br /><div><br /></div><div><img height="57" src="https://lh4.googleusercontent.com/93mYqCaPi0X-p9BAvwrjKxm_kHd8FzRywzZGTQc0HtDPDd6pTnL6qaj56k9CKZuXGzs990g6wveLfq91iSJnt1t4TzWX0KelkV9Pj-erKJ4YVP9o90G76DSpaFwMbf_ImCHkA6cJ" width="396"></div><br />This summer the <a href="http://stellar-group.org/">STE&#124;&#124;AR Group</a> was proud to mentor four students through Google Summer of Code. These students worked on a variety of projects which helped improve our software, <a href="http://stellar-group.org/libraries/hpx/">HPX</a>. This library is a distributed C++ runtime system which supports a standards compliant API and helps users scale their applications across thousands of machines.<br /><br />The improvements to the code base will help our team and users of HPX around the world. A summary of our students&#8217; projects:<br /><br /><b>Parsa Amini &#8211; <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5730450056151040/">HPX Debugger</a></b><br /><br /><img align="right" height="100" src="https://lh5.googleusercontent.com/X2u33cJ_T-bd_D92sEZjB08HqOqnIB3l97pu1jWdpphDDe35Few5LK6Z5_fEQh-_J1BOkShRNpKG0u0smL99RIBGP6gasIJotrEHJSVN4t-YAzb0p4f8ucoHJetVMGItU-QbTC_1">Developing a better distributed debugging tool is essential to increase the programmability of HPX. Parsa&#8217;s project, Scimitar, aims to facilitate the debugging process for HPX programmers by extending the features of <a href="https://en.wikipedia.org/wiki/GNU_Debugger">GDB</a>, an existing debugger. The project then complements it with new commands for easier switching between localities across clusters, HPX thread debugging, awareness of internal HPX data structures, and semi-automated preparation for distributed debugging sessions. Additional functionality such as locating an object and viewing the queue information on each core is provided through using API provided by HPX itself. His work can be found <a href="https://github.com/parsa/scimitar">on GitHub</a>.<br /><br /><b>Aalekh Nigam &#8211; <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5985974303588352/">Implement a Map/Reduce Framework</a></b><br /><br /><img align="right" height="100" src="https://lh3.googleusercontent.com/Rdnc9BHz_wMrfA65j75ieM7Q6jzqwxT1Wrgd7-gQAzmnzr4Xkq3m0Q6zE2KIWVFoSmModoHphprckf_1dCrqjeU1uiQMjqm7L-HwFxNqMKm-TSXOvU_MVQD5cMcDSmWxtY67qHpJ">This project aimed to expose a Map/Reduce programming model over HPX. During the summer, Aalekh was able to develop a single node implementation of HPXflow (<a href="https://github.com/STEllAR-GROUP/hpxflow">map/reduce programming model</a>) and laid the groundwork for the further multi-node version with database support. Although the initial task was limited to implementing the Map/Reduce model, he was also able to implement an improved dataflow model as well.<br /><br /><b>Minh-Khanh Do - <a href="https://summerofcode.withgoogle.com/archive/2016/projects/4816340623818752/">Working on Parallel Algorithms for HPX::Vector</a></b><br /><br /><img align="right" height="100" src="https://lh4.googleusercontent.com/HRj__hk9cwKjH2GSO1NCOvASyN5sHPcFfUpDoPiFWcqxi1UIX5jgMkYb9GzpBYWhVc3ZmW_NLXryEuTu-2aWXLSQZkG4SdEzEQvNKzVRP4etRrg0Bjq3KXnvfYheOVr8H2qRr6c0"><a href="https://github.com/STEllAR-GROUP/hpx/issues/1338">Minh-Khanh&#8217;s task</a> was to take the parallel algorithms and add the functionality required to work on the segmented hpx::vector. Under his mentor John Biddscombe, <a href="https://github.com/STEllAR-GROUP/hpx/pull/2202">he implemented</a> the segmented_fill algorithm, which was successfully merged into the main codebase. Additionally, Minh-Khanh implemented the segmented_scan algorithm which includes inclusive and exclusive_scan. <a href="https://github.com/STEllAR-GROUP/hpx/pull/2287">These changes</a> are included in a pull request and have been merged. Using the <a href="https://www.cs.cmu.edu/~guyb/papers/Ble93.pdf">segmented scan algorithm</a> it is possible to perform tasks such as evaluating polynomials and to implement other algorithms such as quicksort.<br /><br /><b>Satyaki Upadhyay - <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5058560136314880/">Plugin Mechanism for thread schedulers in HPX</a></b><br /><br /><img align="right" height="100" src="https://lh4.googleusercontent.com/H6aXxAom0j7GuqzV604iqTHsX9Dnn0ShnHvJRg3U9uuSdSBWqK-RXNvGfMTsghe0NaHv_fOlqXm9F1velApD7StZrnI64aV4Yzo9dFf-5rAR4WKaIfWZPsiR2F15t2ooIj1wi-0o">In HPX, schedulers are statically linked and must be built at compile-time. Satyaki&#8217;s project involved converting this statically linked scheme into a plugin system which would allow arbitrary schedulers to be dynamically loaded. These changes bring several benefits. They provide a layer of abstraction and follow the open/closed principle of software design as well as allowing developers to write their own custom schedulers while conforming to a uniform API. The project proceeded in two steps. The first involved the creation of plugin modules of the schedulers and registering them with HPX. The second step was to implement the loading and subsequent use of the chosen scheduler.<br /><br />We would like to thank our students and mentors for the time that they have contributed to HPX this summer. In addition, we would like to thank Google for the opportunity that they provided the STE&#124;&#124;AR Group to work with developers around the globe as well as the ability for students to interact with vibrant open source projects worldwide.<br /><br /><i>By Adrian Serio, Organization Administrator for The STE&#124;&#124;AR Group</i>]]></description>
				<content:encoded><![CDATA[<i>This is part of a series of guest posts from students, mentors and organization administrators who participated in <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. GSoC is an annual program which pairs university students with mentors to work on open source software.</i><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><img height="57" src="https://lh4.googleusercontent.com/93mYqCaPi0X-p9BAvwrjKxm_kHd8FzRywzZGTQc0HtDPDd6pTnL6qaj56k9CKZuXGzs990g6wveLfq91iSJnt1t4TzWX0KelkV9Pj-erKJ4YVP9o90G76DSpaFwMbf_ImCHkA6cJ" width="396" /></div><br />This summer the <a href="http://stellar-group.org/">STE||AR Group</a> was proud to mentor four students through Google Summer of Code. These students worked on a variety of projects which helped improve our software, <a href="http://stellar-group.org/libraries/hpx/">HPX</a>. This library is a distributed C++ runtime system which supports a standards compliant API and helps users scale their applications across thousands of machines.<br /><br />The improvements to the code base will help our team and users of HPX around the world. A summary of our students’ projects:<br /><br /><b>Parsa Amini – <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5730450056151040/">HPX Debugger</a></b><br /><br /><img align="right" height="100" src="https://lh5.googleusercontent.com/X2u33cJ_T-bd_D92sEZjB08HqOqnIB3l97pu1jWdpphDDe35Few5LK6Z5_fEQh-_J1BOkShRNpKG0u0smL99RIBGP6gasIJotrEHJSVN4t-YAzb0p4f8ucoHJetVMGItU-QbTC_1" style="margin: 1em;" />Developing a better distributed debugging tool is essential to increase the programmability of HPX. Parsa’s project, Scimitar, aims to facilitate the debugging process for HPX programmers by extending the features of <a href="https://en.wikipedia.org/wiki/GNU_Debugger">GDB</a>, an existing debugger. The project then complements it with new commands for easier switching between localities across clusters, HPX thread debugging, awareness of internal HPX data structures, and semi-automated preparation for distributed debugging sessions. Additional functionality such as locating an object and viewing the queue information on each core is provided through using API provided by HPX itself. His work can be found <a href="https://github.com/parsa/scimitar">on GitHub</a>.<br /><br /><b>Aalekh Nigam – <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5985974303588352/">Implement a Map/Reduce Framework</a></b><br /><br /><img align="right" height="100" src="https://lh3.googleusercontent.com/Rdnc9BHz_wMrfA65j75ieM7Q6jzqwxT1Wrgd7-gQAzmnzr4Xkq3m0Q6zE2KIWVFoSmModoHphprckf_1dCrqjeU1uiQMjqm7L-HwFxNqMKm-TSXOvU_MVQD5cMcDSmWxtY67qHpJ" style="margin: 1em;" />This project aimed to expose a Map/Reduce programming model over HPX. During the summer, Aalekh was able to develop a single node implementation of HPXflow (<a href="https://github.com/STEllAR-GROUP/hpxflow">map/reduce programming model</a>) and laid the groundwork for the further multi-node version with database support. Although the initial task was limited to implementing the Map/Reduce model, he was also able to implement an improved dataflow model as well.<br /><br /><b>Minh-Khanh Do - <a href="https://summerofcode.withgoogle.com/archive/2016/projects/4816340623818752/">Working on Parallel Algorithms for HPX::Vector</a></b><br /><br /><img align="right" height="100" src="https://lh4.googleusercontent.com/HRj__hk9cwKjH2GSO1NCOvASyN5sHPcFfUpDoPiFWcqxi1UIX5jgMkYb9GzpBYWhVc3ZmW_NLXryEuTu-2aWXLSQZkG4SdEzEQvNKzVRP4etRrg0Bjq3KXnvfYheOVr8H2qRr6c0" style="margin: 1em;" /><a href="https://github.com/STEllAR-GROUP/hpx/issues/1338">Minh-Khanh’s task</a> was to take the parallel algorithms and add the functionality required to work on the segmented hpx::vector. Under his mentor John Biddscombe, <a href="https://github.com/STEllAR-GROUP/hpx/pull/2202">he implemented</a> the segmented_fill algorithm, which was successfully merged into the main codebase. Additionally, Minh-Khanh implemented the segmented_scan algorithm which includes inclusive and exclusive_scan. <a href="https://github.com/STEllAR-GROUP/hpx/pull/2287">These changes</a> are included in a pull request and have been merged. Using the <a href="https://www.cs.cmu.edu/~guyb/papers/Ble93.pdf">segmented scan algorithm</a> it is possible to perform tasks such as evaluating polynomials and to implement other algorithms such as quicksort.<br /><br /><b>Satyaki Upadhyay - <a href="https://summerofcode.withgoogle.com/archive/2016/projects/5058560136314880/">Plugin Mechanism for thread schedulers in HPX</a></b><br /><br /><img align="right" height="100" src="https://lh4.googleusercontent.com/H6aXxAom0j7GuqzV604iqTHsX9Dnn0ShnHvJRg3U9uuSdSBWqK-RXNvGfMTsghe0NaHv_fOlqXm9F1velApD7StZrnI64aV4Yzo9dFf-5rAR4WKaIfWZPsiR2F15t2ooIj1wi-0o" style="margin: 1em;" />In HPX, schedulers are statically linked and must be built at compile-time. Satyaki’s project involved converting this statically linked scheme into a plugin system which would allow arbitrary schedulers to be dynamically loaded. These changes bring several benefits. They provide a layer of abstraction and follow the open/closed principle of software design as well as allowing developers to write their own custom schedulers while conforming to a uniform API. The project proceeded in two steps. The first involved the creation of plugin modules of the schedulers and registering them with HPX. The second step was to implement the loading and subsequent use of the chosen scheduler.<br /><br />We would like to thank our students and mentors for the time that they have contributed to HPX this summer. In addition, we would like to thank Google for the opportunity that they provided the STE||AR Group to work with developers around the globe as well as the ability for students to interact with vibrant open source projects worldwide.<br /><br /><i>By Adrian Serio, Organization Administrator for The STE||AR Group</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-stear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>It’s that time again: Google Code-in starts today!</title>
		<link>https://googledata.org/google-open-source/its-that-time-again-google-code-in-starts-today/</link>
		<comments>https://googledata.org/google-open-source/its-that-time-again-google-code-in-starts-today/#comments</comments>
		<pubDate>Mon, 28 Nov 2016 17:15:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1d75ec457db2dafd88dbec836572c8be</guid>
		<description><![CDATA[Today marks the start of the 7th year of Google Code-in (GCI), our pre-university contest introducing students to open source development. GCI takes place entirely online and is open to students between the ages of 13 and 17 around the globe.The concep...]]></description>
				<content:encoded><![CDATA[Today marks the start of the 7th year of <a href="https://developers.google.com/open-source/gci/">Google Code-in</a> (GCI), our pre-university contest introducing students to open source development. GCI takes place entirely online and is open to students between the ages of 13 and 17 around the globe.<br /><div class="separator" style="clear: both; text-align: center;"><img height="128" src="https://lh4.googleusercontent.com/7WtpR_m9uLUyFQtYVkb37R-S7MHcH-t8fwGbcTlfJBbLHtrPqGwdDfdglsQi_eYGL8mtkTTH8oPkldygp6wgG0ZH2AzXQj0BHnY-ffEsuoMRglOyHaZxfOFw4rXN-Q8KZ-EbtUf_" width="393" /></div><div class="separator" style="clear: both; text-align: center;"></div>The concept is simple: complete <a href="https://developers.google.com/open-source/gci/resources/example-tasks">bite-sized tasks</a> (at your own pace) created by 17 participating <a href="https://codein.withgoogle.com/organizations/">open source organizations</a> on topic areas <b>you</b> find interesting:<br /><br /><ul><li>Coding</li><li>Documentation/Training</li><li>Outreach/Research</li><li>Quality Assurance</li><li>User Interface</li></ul><br />Tasks take an average of 3-5 hours to complete and include the guidance of a mentor to help along the way. Complete one task? Get a digital certificate. Three tasks? Get a sweet Google t-shirt. Finalists get a hoodie. Grand Prize winners get a <a href="https://opensource.googleblog.com/2014/06/my-google-code-in-grand-prize-trip.html">trip</a> to Google headquarters in California.<br /><br />Over the last 6 years, 3213 students from 99 countries have successfully completed tasks in GCI. Intrigued? Learn more about GCI by checking out our <a href="https://developers.google.com/open-source/gci/resources/contest-rules">rules</a> and <a href="https://developers.google.com/open-source/gci/faq">FAQs</a>. And please visit our contest <a href="https://g.co/gci">site</a> and read the <a href="https://developers.google.com/open-source/gci/resources/getting-started">Getting Started Guide</a>.<br /><br />Teachers, if you are interested in getting your students involved in Google Code-in you can <a href="https://developers.google.com/open-source/gci/resources/media">find resources here</a> to help you get started.<br /><br /><i>By Mary Radomile, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/its-that-time-again-google-code-in-starts-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Stories from Google Code-in: Sugar Labs and Systers</title>
		<link>https://googledata.org/google-open-source/stories-from-google-code-in-sugar-labs-and-systers/</link>
		<comments>https://googledata.org/google-open-source/stories-from-google-code-in-sugar-labs-and-systers/#comments</comments>
		<pubDate>Wed, 23 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=36aabde80b35d482b240188dcb5ce40a</guid>
		<description><![CDATA[<i><a href="https://developers.google.com/open-source/gci/">Google Code-in</a> (GCI) is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the final installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html">Google Code-in 2015 grand prize winners</a>. Be sure to check out the <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html">first</a> <a href="http://google-opensource.blogspot.com/2016/08/stories-from-google-code-in-kde.html">three</a> <a href="https://opensource.googleblog.com/2016/08/stories-from-google-code-in-openmrs-and.html">posts</a>.</i><br /><br />The Google Code-in contest begins on <a href="https://developers.google.com/open-source/gci/timeline">Monday, November 28th at 9am PT</a> for students. Right now you can learn more about the <a href="https://codein.withgoogle.com/organizations/">17 mentoring organizations</a> that students will be able to work with by going to the contest site. To get students excited for GCI 2016, we&#8217;re sharing three more stories from GCI 2015 grand prize winners. These stories illustrate how global the competition is, the challenges students face and the valuable skills they learn working with these open source organizations.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img alt="IMG_20160614_152138.jpg" height="284" src="https://lh4.googleusercontent.com/BVKzjI9MT9ZcGsZGd9V1Q1HLcnhZX1MvUd1I_yPkp4uEw3bmuuMTY5dBLGkdbpKpF4QXd2rFXDW_6snvRW5vuMe3RIoY6Ylm1yV1Ej2_Bfl6mCiF8Ks_9C7nxmuBqKdokEwPzwvD" width="378"></td></tr><tr><td>A group of Google Code-in 2015 mentors joined grand prize winners for a day of exploring<br />San Francisco including the iconic Golden Gate Bridge.</td></tr></tbody></table><div><div><b>First up is the story of Ezequiel Pereira, a student from Uruguay who worked with <a href="https://www.sugarlabs.org/">Sugar Labs</a>.</b> Sugar Labs is the organization behind Sugar, the operating system for the <a href="https://en.wikipedia.org/wiki/OLPC_XO">OLPC XO-1</a> which the Uruguayan government has distributed to public primary schools. The XO-1 was Ezequiel&#8217;s first computer.</div><div><br /></div><div>Ezequiel&#8217;s curiosity in computer science was piqued when a technician came to his school to solve a simple bug that was affecting most XO&#8217;s. The technician used the command line which, up to that point, Ezequiel thought was useless. Realizing that the command line offered him a lot of power, Ezequiel began his exploration.</div><div><br /></div><div>He discovered Google Code-in by reading about another Uruguayan teenager, one who was a grand prize winner in Google Code-in 2012. Ezequiel jumped into the contest and participated for several years expanding his skills before finishing as a grand prize winner of Google Code-in 2015. Along the way Ezequiel got comfortable with <a href="https://developers.google.com/open-source/gci/resources/irc">IRC</a> and began helping other students, even finding new friends among along the way.</div></div><div><br /></div><div><br /></div><div><div><b>Next we have Sara Du from the United States. </b>Sara had been coding for six months when she discovered Google Code-in on Christmas Eve, halfway through the competition. She found lots of interesting tasks, but had trouble finding the right organization to focus on before selecting <a href="http://anitaborg.org/get-involved/systers/">Systers</a>.</div><div><br /></div><div>Like many students, Sara was able to quickly jump into code but spent a couple days just getting acquainted with Git and GitHub. This is something we hear from a lot of students and it&#8217;s just one of the skills that they pick up by working on real-world projects, along with testing and communication.</div><div><br /></div><div>Another challenge Sara faced was working with a mentor 16 time zones away from her, which meant that correspondence would often take a day or two. While this was a challenge, she found the long feedback loop encouraged her to get on the Slack channel and reach out to other contributors for help. Ultimately, this made her even more a part of the Systers community.</div><div><br /></div><div>Sara said Google Code-in was one of the most awesome experiences she&#8217;s had and has this advice to offer future participants:<i> &#8220;The organization you end up working with has a vibrant community of hackers from everywhere; try to interact with them and you will be sure to learn from others as they will from you!&#8221;</i></div></div><div><i><br /></i></div><div><i><br /></i></div><div><div><b>Last, but certainly not least, we have Ahmed Sabie, a student from Canada who also worked with Systers.</b> Ahmed started coding competitively several years ago, focusing on graph theory, dynamic programming and data structures. He loved the problem solving, but knew that these competitions took place in a sandbox. To grow, Ahmed would need to explore.</div><div><br /></div><div>Enter Google Code-in. Ahmed was most comfortable with Python and saw that the Systers Volunteer Management System used that language, so that&#8217;s where he started.</div><div><br /></div><div>Ahmed, like many students and even professional developers, spent much of his first week setting up his development environment. It was a grueling process but with the help of search and the people in the Systers Slack channel he was finally able to see the project&#8217;s login screen.</div><div><br /></div><div>As he completed easy tasks, Ahmed moved on to more difficult tasks and began to help other students, many who got stuck on the same issues he had encountered earlier. Ahmed found that each task provided an opportunity to stretch his skills a little bit more. He was excited about how quickly he was learning. Though Ahmed learned a lot on his own, he says the vast majority of what he learned was through the help of other people -- students, mentors and other project contributors -- and that he felt like he was truly a part of the Systers community by the end of the process.&#160;</div><div><br /></div><div>Ahmed&#8217;s favorite task was an appropriate finale for the competition: he added multilingual support to an application he had worked on and added the French translation.</div></div><blockquote><i>&#8220;Overall, Google Code-in was the experience of a lifetime. It set me up for the future, by teaching me relevant and critical skills necessary in software development. I have contributed to a good cause, and met fantastic mentors and friends along the way. Open source development is not a onetime thing, it is an ongoing process. I hope to continue to be part of it, and to me it is a form of volunteering and giving back to the community.&#8221; - Ahmed Sabie</i></blockquote><div><div><br /></div><div>With that, we conclude our series of posts reflecting on Google Code-in 2015. We thank Ezequiel, Sara, Ahmed and all the other participants for sharing their stories and contributing to the software we all rely on. We hope you will join us in carrying on the tradition with <a href="https://developers.google.com/open-source/gci/resources/getting-started">Google Code-in 2016</a>!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></description>
				<content:encoded><![CDATA[<i><a href="https://developers.google.com/open-source/gci/">Google Code-in</a> (GCI) is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the final installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html">Google Code-in 2015 grand prize winners</a>. Be sure to check out the <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html">first</a> <a href="http://google-opensource.blogspot.com/2016/08/stories-from-google-code-in-kde.html">three</a> <a href="https://opensource.googleblog.com/2016/08/stories-from-google-code-in-openmrs-and.html">posts</a>.</i><br /><br />The Google Code-in contest begins on <a href="https://developers.google.com/open-source/gci/timeline">Monday, November 28th at 9am PT</a> for students. Right now you can learn more about the <a href="https://codein.withgoogle.com/organizations/">17 mentoring organizations</a> that students will be able to work with by going to the contest site. To get students excited for GCI 2016, we’re sharing three more stories from GCI 2015 grand prize winners. These stories illustrate how global the competition is, the challenges students face and the valuable skills they learn working with these open source organizations.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img alt="IMG_20160614_152138.jpg" height="284" src="https://lh4.googleusercontent.com/BVKzjI9MT9ZcGsZGd9V1Q1HLcnhZX1MvUd1I_yPkp4uEw3bmuuMTY5dBLGkdbpKpF4QXd2rFXDW_6snvRW5vuMe3RIoY6Ylm1yV1Ej2_Bfl6mCiF8Ks_9C7nxmuBqKdokEwPzwvD" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="378" /></td></tr><tr><td class="tr-caption" style="text-align: center;">A group of Google Code-in 2015 mentors joined grand prize winners for a day of exploring<br />San Francisco including the iconic Golden Gate Bridge.</td></tr></tbody></table><div><div><b>First up is the story of Ezequiel Pereira, a student from Uruguay who worked with <a href="https://www.sugarlabs.org/">Sugar Labs</a>.</b> Sugar Labs is the organization behind Sugar, the operating system for the <a href="https://en.wikipedia.org/wiki/OLPC_XO">OLPC XO-1</a> which the Uruguayan government has distributed to public primary schools. The XO-1 was Ezequiel’s first computer.</div><div><br /></div><div>Ezequiel’s curiosity in computer science was piqued when a technician came to his school to solve a simple bug that was affecting most XO’s. The technician used the command line which, up to that point, Ezequiel thought was useless. Realizing that the command line offered him a lot of power, Ezequiel began his exploration.</div><div><br /></div><div>He discovered Google Code-in by reading about another Uruguayan teenager, one who was a grand prize winner in Google Code-in 2012. Ezequiel jumped into the contest and participated for several years expanding his skills before finishing as a grand prize winner of Google Code-in 2015. Along the way Ezequiel got comfortable with <a href="https://developers.google.com/open-source/gci/resources/irc">IRC</a> and began helping other students, even finding new friends among along the way.</div></div><div><br /></div><div><br /></div><div><div><b>Next we have Sara Du from the United States. </b>Sara had been coding for six months when she discovered Google Code-in on Christmas Eve, halfway through the competition. She found lots of interesting tasks, but had trouble finding the right organization to focus on before selecting <a href="http://anitaborg.org/get-involved/systers/">Systers</a>.</div><div><br /></div><div>Like many students, Sara was able to quickly jump into code but spent a couple days just getting acquainted with Git and GitHub. This is something we hear from a lot of students and it’s just one of the skills that they pick up by working on real-world projects, along with testing and communication.</div><div><br /></div><div>Another challenge Sara faced was working with a mentor 16 time zones away from her, which meant that correspondence would often take a day or two. While this was a challenge, she found the long feedback loop encouraged her to get on the Slack channel and reach out to other contributors for help. Ultimately, this made her even more a part of the Systers community.</div><div><br /></div><div>Sara said Google Code-in was one of the most awesome experiences she’s had and has this advice to offer future participants:<i> “The organization you end up working with has a vibrant community of hackers from everywhere; try to interact with them and you will be sure to learn from others as they will from you!”</i></div></div><div><i><br /></i></div><div><i><br /></i></div><div><div><b>Last, but certainly not least, we have Ahmed Sabie, a student from Canada who also worked with Systers.</b> Ahmed started coding competitively several years ago, focusing on graph theory, dynamic programming and data structures. He loved the problem solving, but knew that these competitions took place in a sandbox. To grow, Ahmed would need to explore.</div><div><br /></div><div>Enter Google Code-in. Ahmed was most comfortable with Python and saw that the Systers Volunteer Management System used that language, so that’s where he started.</div><div><br /></div><div>Ahmed, like many students and even professional developers, spent much of his first week setting up his development environment. It was a grueling process but with the help of search and the people in the Systers Slack channel he was finally able to see the project’s login screen.</div><div><br /></div><div>As he completed easy tasks, Ahmed moved on to more difficult tasks and began to help other students, many who got stuck on the same issues he had encountered earlier. Ahmed found that each task provided an opportunity to stretch his skills a little bit more. He was excited about how quickly he was learning. Though Ahmed learned a lot on his own, he says the vast majority of what he learned was through the help of other people -- students, mentors and other project contributors -- and that he felt like he was truly a part of the Systers community by the end of the process.&nbsp;</div><div><br /></div><div>Ahmed’s favorite task was an appropriate finale for the competition: he added multilingual support to an application he had worked on and added the French translation.</div></div><blockquote class="tr_bq"><i>“Overall, Google Code-in was the experience of a lifetime. It set me up for the future, by teaching me relevant and critical skills necessary in software development. I have contributed to a good cause, and met fantastic mentors and friends along the way. Open source development is not a onetime thing, it is an ongoing process. I hope to continue to be part of it, and to me it is a form of volunteering and giving back to the community.” - Ahmed Sabie</i></blockquote><div><div><br /></div><div>With that, we conclude our series of posts reflecting on Google Code-in 2015. We thank Ezequiel, Sara, Ahmed and all the other participants for sharing their stories and contributing to the software we all rely on. We hope you will join us in carrying on the tradition with <a href="https://developers.google.com/open-source/gci/resources/getting-started">Google Code-in 2016</a>!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/stories-from-google-code-in-sugar-labs-and-systers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: Linux XIA</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-linux-xia/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-linux-xia/#comments</comments>
		<pubDate>Fri, 18 Nov 2016 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=2056b88cad6d9978d14e1ffd93de06f8</guid>
		<description><![CDATA[<i>We're sharing guest posts from students, mentors and organization administrators who participated in <a href="http://g.co/gsoc">Google Summer of Code</a> 2016. This is the fifth post in that <a href="https://opensource.googleblog.com/search/label/gsoc">series</a>&#160;and there are more on the way.</i><br /><br /><a href="http://3.bp.blogspot.com/-eV5Wv2MHDa0/WAU5CTFmLOI/AAAAAAAAA8M/9NMEOm-z-rcbzNhgToLdpdwar4J1js0tgCK4B/s1600/image00.png"><img border="0" height="228" src="https://3.bp.blogspot.com/-eV5Wv2MHDa0/WAU5CTFmLOI/AAAAAAAAA8M/9NMEOm-z-rcbzNhgToLdpdwar4J1js0tgCK4B/s640/image00.png" width="640"></a><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki">Linux XIA</a> is the native implementation of XIA, a meta network architecture that supports evolution of all of its components, which we call &#8220;principals,&#8221; and promotes interoperability between these principals. It is the second year that our organization, <a href="https://summerofcode.withgoogle.com/organizations/6607653639815168/">Boston University / XIA</a>, has participated in Google Summer of Code (GSoC), and this year we received 31 proposals from 8 countries.<br /><br />Our ideas list this year focused on upgrading key forwarding data structures to their best known versions. Our group chose the most deserving students for each of the following projects:<br /><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki/Ideas-list#accelerating-the-forwarding-speed-of-the-lpm-principal-with-poptrie"><b>Accelerating the forwarding speed of the LPM principal with poptrie</b></a><br /><br />Student <a href="https://github.com/aeleuterio">Andr&#233; Ferreira Eleuterio</a> and mentor <a href="https://github.com/cjdoucette">Cody Doucette</a> implemented the first version of the <a href="https://eleuterioxia.wordpress.com/about/lpm-principal/">LPM principal</a> in Linux XIA for GSoC 2015. The LPM principal enables Linux XIA to leverage routing tables derived from <a href="https://en.wikipedia.org/wiki/Border_Gateway_Protocol">BGP</a>, <a href="https://en.wikipedia.org/wiki/Open_Shortest_Path_First">OSPF</a>, <a href="https://en.wikipedia.org/wiki/IS-IS">IS-IS</a> and any other IP routing protocol to forward XIA packets natively, that is, without encapsulation in IP. For GSoC 2016, student <a href="https://github.com/gvaibhavraj2">Vaibhav Raj Gupta</a> from India partnered with mentor Cody Doucette to speed up the LPM principal by employing a state-of-the-art data structure to find the longest prefix matching using general purpose processors: <a href="http://www.sigcomm.org/node/3783">poptrie</a>.<br /><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki/Ideas-list#upgrading-the-fib-hash-table-of-principals-to-the-relativistic-hash-table"><b>Upgrading the FIB hash table of principals to the relativistic hash table</b></a><br /><br />Principals that rely on routing flat names have used a resizable hash table that supports lockless readers since 2011. While this data structure was unique in 2011, in the same year, <a href="https://www.usenix.org/legacy/event/atc11/tech/final_files/Triplett.pdf">relativistic hash tables</a> were published. The appeal to upgrade to relativistic hash tables was twofold: reduced memory footprint per hashed element, and the fact they were implemented in the Linux kernel in 2014. Student <a href="https://github.com/sachinparyani">Sachin Paryani</a>, also from India, worked with mentor Qiaobin Fu to replace our resizable hash table with the relativistic hash table.<br /><br />Google Summer of Code nurtures a brighter future. Thanks to GSoC, our project has received important code contributions, and our community has been enlarged. It was rewarding to learn that two of our GSoC students have decided to pursue graduate school after their GSoC experience with us: <a href="https://github.com/prango">Pranav Goswami</a> (2015) and Sachin Paryani (2016). We hope these examples will motivate other students to do their best because the world is what we make of it.<br /><br /><i>By <a href="https://github.com/AltraMayor">Michel Machado</a>, Boston University / XIA organization administrator</i>]]></description>
				<content:encoded><![CDATA[<i>We're sharing guest posts from students, mentors and organization administrators who participated in <a href="http://g.co/gsoc">Google Summer of Code</a> 2016. This is the fifth post in that <a href="https://opensource.googleblog.com/search/label/gsoc">series</a>&nbsp;and there are more on the way.</i><br /><br /><a href="http://3.bp.blogspot.com/-eV5Wv2MHDa0/WAU5CTFmLOI/AAAAAAAAA8M/9NMEOm-z-rcbzNhgToLdpdwar4J1js0tgCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="228" src="https://3.bp.blogspot.com/-eV5Wv2MHDa0/WAU5CTFmLOI/AAAAAAAAA8M/9NMEOm-z-rcbzNhgToLdpdwar4J1js0tgCK4B/s640/image00.png" width="640" /></a><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki">Linux XIA</a> is the native implementation of XIA, a meta network architecture that supports evolution of all of its components, which we call “principals,” and promotes interoperability between these principals. It is the second year that our organization, <a href="https://summerofcode.withgoogle.com/organizations/6607653639815168/">Boston University / XIA</a>, has participated in Google Summer of Code (GSoC), and this year we received 31 proposals from 8 countries.<br /><br />Our ideas list this year focused on upgrading key forwarding data structures to their best known versions. Our group chose the most deserving students for each of the following projects:<br /><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki/Ideas-list#accelerating-the-forwarding-speed-of-the-lpm-principal-with-poptrie"><b>Accelerating the forwarding speed of the LPM principal with poptrie</b></a><br /><br />Student <a href="https://github.com/aeleuterio">André Ferreira Eleuterio</a> and mentor <a href="https://github.com/cjdoucette">Cody Doucette</a> implemented the first version of the <a href="https://eleuterioxia.wordpress.com/about/lpm-principal/">LPM principal</a> in Linux XIA for GSoC 2015. The LPM principal enables Linux XIA to leverage routing tables derived from <a href="https://en.wikipedia.org/wiki/Border_Gateway_Protocol">BGP</a>, <a href="https://en.wikipedia.org/wiki/Open_Shortest_Path_First">OSPF</a>, <a href="https://en.wikipedia.org/wiki/IS-IS">IS-IS</a> and any other IP routing protocol to forward XIA packets natively, that is, without encapsulation in IP. For GSoC 2016, student <a href="https://github.com/gvaibhavraj2">Vaibhav Raj Gupta</a> from India partnered with mentor Cody Doucette to speed up the LPM principal by employing a state-of-the-art data structure to find the longest prefix matching using general purpose processors: <a href="http://www.sigcomm.org/node/3783">poptrie</a>.<br /><br /><a href="https://github.com/AltraMayor/XIA-for-Linux/wiki/Ideas-list#upgrading-the-fib-hash-table-of-principals-to-the-relativistic-hash-table"><b>Upgrading the FIB hash table of principals to the relativistic hash table</b></a><br /><br />Principals that rely on routing flat names have used a resizable hash table that supports lockless readers since 2011. While this data structure was unique in 2011, in the same year, <a href="https://www.usenix.org/legacy/event/atc11/tech/final_files/Triplett.pdf">relativistic hash tables</a> were published. The appeal to upgrade to relativistic hash tables was twofold: reduced memory footprint per hashed element, and the fact they were implemented in the Linux kernel in 2014. Student <a href="https://github.com/sachinparyani">Sachin Paryani</a>, also from India, worked with mentor Qiaobin Fu to replace our resizable hash table with the relativistic hash table.<br /><br />Google Summer of Code nurtures a brighter future. Thanks to GSoC, our project has received important code contributions, and our community has been enlarged. It was rewarding to learn that two of our GSoC students have decided to pursue graduate school after their GSoC experience with us: <a href="https://github.com/prango">Pranav Goswami</a> (2015) and Sachin Paryani (2016). We hope these examples will motivate other students to do their best because the world is what we make of it.<br /><br /><i>By <a href="https://github.com/AltraMayor">Michel Machado</a>, Boston University / XIA organization administrator</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-linux-xia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: Debian</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-debian/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-debian/#comments</comments>
		<pubDate>Wed, 16 Nov 2016 17:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=6f368f9dd074ae2ea45b67339da6dfcd</guid>
		<description><![CDATA[<i>This is the fourth post in our series of wrap-ups and guest posts from participants reflecting on <a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. Explore the <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first</a> <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-nrnb.html">three</a> <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-gnu.html">posts</a> and <a href="https://opensource.googleblog.com/search/label/gsoc">stay tuned</a> for more wrap-ups and announcements.</i><br /><i></i><br /><div><i><a href="http://4.bp.blogspot.com/-W58CdtCaBic/WBJb3TtWsWI/AAAAAAAAA9s/A1MIwGbOEm0uzKJA0CUSbzah0p7-fxx_QCK4B/s1600/image00.png"><img border="0" src="https://4.bp.blogspot.com/-W58CdtCaBic/WBJb3TtWsWI/AAAAAAAAA9s/A1MIwGbOEm0uzKJA0CUSbzah0p7-fxx_QCK4B/s400/image00.png"></a></i></div><br /><br /><a href="https://www.debian.org/">Debian</a>, founded in 1993, is a project aimed at building a 100% <a href="https://en.wikipedia.org/wiki/Debian_Free_Software_Guidelines">free</a> and open source &#8220;Universal Operating System.&#8221; It&#8217;s a volunteer-driven project based on Linux, FreeBSD<br />and Hurd kernels for devices ranging from mobile phones to large clusters.<br /><br />Being a wide umbrella project, Debian offered <a href="https://wiki.debian.org/SummerOfCode2016/Projects">a diverse array of opportunities for Google Summer of Code (GSoC) students</a>. For example, students worked on making our distribution more trustworthy (<a href="https://reproducible-builds.org/">reproducible builds</a>), <a href="https://guardianproject.info/code/lildebi/">porting our OS to Android devices</a> and improving infrastructure for developers. This year I joined the <a href="https://wiki.debian.org/SummerOfCode2016/Projects#SummerOfCode2016.2FProjects.2FVoice_Webcam_and_Chat_Communication.Mentoring_team">Debian Real-Time Communications (RTC) mentoring team</a> which engaged <a href="https://wiki.debian.org/SummerOfCode2016/RTCProjects">13 students</a> to <a href="https://summerofcode.withgoogle.com/archive/2016/projects/6570957976109056/">improve voice, video and chat communication with free software</a>.<br /><br /><a href="http://rtcquickstart.org/guide/multi/webrtc.html">WebRTC</a>, an open standard enabling real-time video and audio communication in the browser, is central to this work. It was used to create <a href="http://jscommunicator.org/">JSCommunicator</a>, an embeddable WebRTC phone developed in HTML, CSS and JavaScript, supporting voice, video and chat using <a href="http://rtcquickstart.org/guide/multi/webrtc-technical-overview.html#webrtc-tech-signalling">SIP over WebSockets</a>. A GSoC 2014 student, <a href="http://julianalouback.com/">Juliana Louback</a>, significantly enhanced JSCommunicator during her summer with Debian.<br /><br />JSCommunicator is now being adapted for use with content management systems (CMS) and blogging platforms, making it easy to embed rich communication features in existing systems. It was this work that our current GSoC students built on.<br /><br />This year I mentored GSoC student <a href="https://wiki.debian.org/SummerOfCode2016/StudentApplications/MesutCanGurle">Mesut Can Gurle</a> who used <a href="https://www.drupal.org/project/drucall">DruCall</a>, a <a href="http://drupal.org/">Drupal</a> module for integrating JSCommunicator, as inspiration for building <a href="https://github.com/mesutcang/wpcall">WPCall</a> for <a href="http://wordpress.org/">WordPress</a>. With this new plug-in, standards-based voice, video and chat is now available on the world&#8217;s two most popular CMS without the need for browser plugins.<br /><br />The way WPCall was extrapolated from the DruCall plugin provides a pattern that other communities can follow to rapidly create WebRTC plugins for their own web frameworks. The <a href="https://github.com/opentelecoms-org/jscommunicator/blob/master/INTEGRATION.md">JSCommunicator Integration Guide</a> provides step-by-step instructions that developers and future students can follow. If you&#8217;re interested in learning more about significant developments in this space, please subscribe to the <a href="http://lists.freertc.org/mailman/listinfo/announce">Free-RTC Announce</a> mailing list and follow <a href="http://planet.freertc.org/">planet.freertc.org</a>.<br /><br />This was my first year as a GSoC mentor and I had such a great experience. It was rewarding working with Mesut on achieving his goals and we learned a lot along the way. Despite some setbacks (he narrowly missed a bombing as his country experienced an attempted coup), Mesut has made valuable contributions to free software.<br /><br />As the summer wound down, I received an invitation to participate in a t-shirt design contest for the annual Mentor Summit. I thought it would be fun to try and put together a design focusing on GSoC&#8217;s key values.<br /><br />The front of the t-shirt shows developers from all over the world collaborating on free software, representing the amazing scope and diversity of the projects. On the back, above the clouds, a space shuttle symbolizes what&#8217;s achieved through GSoC.<br /><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="https://3.bp.blogspot.com/-iNAan2-QlXk/WBphpSooLvI/AAAAAAAAA_I/C0KfLRaIHMgfGm_DG8JQGqXZMJbLoqyMwCLcB/s1600/2016-10-30%2B14.38.12.jpg"><img border="0" height="225" src="https://3.bp.blogspot.com/-iNAan2-QlXk/WBphpSooLvI/AAAAAAAAA_I/C0KfLRaIHMgfGm_DG8JQGqXZMJbLoqyMwCLcB/s400/2016-10-30%2B14.38.12.jpg" width="400"></a></td></tr><tr><td>A group of attendees wearing the Google Summer of Code 2016 Mentor Summit t-shirt.</td></tr></tbody></table><br />Happily, my design was selected and it was great seeing all the attendees wearing it at the Mentor Summit!<br /><br /><i>By Bruno Magalh&#227;es, Mentor for Debian</i>]]></description>
				<content:encoded><![CDATA[<i>This is the fourth post in our series of wrap-ups and guest posts from participants reflecting on <a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) 2016. Explore the <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first</a> <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-nrnb.html">three</a> <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-gnu.html">posts</a> and <a href="https://opensource.googleblog.com/search/label/gsoc">stay tuned</a> for more wrap-ups and announcements.</i><br /><i></i><br /><div style="text-align: center;"><i><a href="http://4.bp.blogspot.com/-W58CdtCaBic/WBJb3TtWsWI/AAAAAAAAA9s/A1MIwGbOEm0uzKJA0CUSbzah0p7-fxx_QCK4B/s1600/image00.png" imageanchor="1"><img border="0" src="https://4.bp.blogspot.com/-W58CdtCaBic/WBJb3TtWsWI/AAAAAAAAA9s/A1MIwGbOEm0uzKJA0CUSbzah0p7-fxx_QCK4B/s400/image00.png" /></a></i></div><br /><br /><a href="https://www.debian.org/">Debian</a>, founded in 1993, is a project aimed at building a 100% <a href="https://en.wikipedia.org/wiki/Debian_Free_Software_Guidelines">free</a> and open source “Universal Operating System.” It’s a volunteer-driven project based on Linux, FreeBSD<br />and Hurd kernels for devices ranging from mobile phones to large clusters.<br /><br />Being a wide umbrella project, Debian offered <a href="https://wiki.debian.org/SummerOfCode2016/Projects">a diverse array of opportunities for Google Summer of Code (GSoC) students</a>. For example, students worked on making our distribution more trustworthy (<a href="https://reproducible-builds.org/">reproducible builds</a>), <a href="https://guardianproject.info/code/lildebi/">porting our OS to Android devices</a> and improving infrastructure for developers. This year I joined the <a href="https://wiki.debian.org/SummerOfCode2016/Projects#SummerOfCode2016.2FProjects.2FVoice_Webcam_and_Chat_Communication.Mentoring_team">Debian Real-Time Communications (RTC) mentoring team</a> which engaged <a href="https://wiki.debian.org/SummerOfCode2016/RTCProjects">13 students</a> to <a href="https://summerofcode.withgoogle.com/archive/2016/projects/6570957976109056/">improve voice, video and chat communication with free software</a>.<br /><br /><a href="http://rtcquickstart.org/guide/multi/webrtc.html">WebRTC</a>, an open standard enabling real-time video and audio communication in the browser, is central to this work. It was used to create <a href="http://jscommunicator.org/">JSCommunicator</a>, an embeddable WebRTC phone developed in HTML, CSS and JavaScript, supporting voice, video and chat using <a href="http://rtcquickstart.org/guide/multi/webrtc-technical-overview.html#webrtc-tech-signalling">SIP over WebSockets</a>. A GSoC 2014 student, <a href="http://julianalouback.com/">Juliana Louback</a>, significantly enhanced JSCommunicator during her summer with Debian.<br /><br />JSCommunicator is now being adapted for use with content management systems (CMS) and blogging platforms, making it easy to embed rich communication features in existing systems. It was this work that our current GSoC students built on.<br /><br />This year I mentored GSoC student <a href="https://wiki.debian.org/SummerOfCode2016/StudentApplications/MesutCanGurle">Mesut Can Gurle</a> who used <a href="https://www.drupal.org/project/drucall">DruCall</a>, a <a href="http://drupal.org/">Drupal</a> module for integrating JSCommunicator, as inspiration for building <a href="https://github.com/mesutcang/wpcall">WPCall</a> for <a href="http://wordpress.org/">WordPress</a>. With this new plug-in, standards-based voice, video and chat is now available on the world’s two most popular CMS without the need for browser plugins.<br /><br />The way WPCall was extrapolated from the DruCall plugin provides a pattern that other communities can follow to rapidly create WebRTC plugins for their own web frameworks. The <a href="https://github.com/opentelecoms-org/jscommunicator/blob/master/INTEGRATION.md">JSCommunicator Integration Guide</a> provides step-by-step instructions that developers and future students can follow. If you’re interested in learning more about significant developments in this space, please subscribe to the <a href="http://lists.freertc.org/mailman/listinfo/announce">Free-RTC Announce</a> mailing list and follow <a href="http://planet.freertc.org/">planet.freertc.org</a>.<br /><br />This was my first year as a GSoC mentor and I had such a great experience. It was rewarding working with Mesut on achieving his goals and we learned a lot along the way. Despite some setbacks (he narrowly missed a bombing as his country experienced an attempted coup), Mesut has made valuable contributions to free software.<br /><br />As the summer wound down, I received an invitation to participate in a t-shirt design contest for the annual Mentor Summit. I thought it would be fun to try and put together a design focusing on GSoC’s key values.<br /><br />The front of the t-shirt shows developers from all over the world collaborating on free software, representing the amazing scope and diversity of the projects. On the back, above the clouds, a space shuttle symbolizes what’s achieved through GSoC.<br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-iNAan2-QlXk/WBphpSooLvI/AAAAAAAAA_I/C0KfLRaIHMgfGm_DG8JQGqXZMJbLoqyMwCLcB/s1600/2016-10-30%2B14.38.12.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="225" src="https://3.bp.blogspot.com/-iNAan2-QlXk/WBphpSooLvI/AAAAAAAAA_I/C0KfLRaIHMgfGm_DG8JQGqXZMJbLoqyMwCLcB/s400/2016-10-30%2B14.38.12.jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A group of attendees wearing the Google Summer of Code 2016 Mentor Summit t-shirt.</td></tr></tbody></table><br />Happily, my design was selected and it was great seeing all the attendees wearing it at the Mentor Summit!<br /><br /><i>By Bruno Magalhães, Mentor for Debian</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>ETC2Comp: fast texture compression for games and VR</title>
		<link>https://googledata.org/google-open-source/etc2comp-fast-texture-compression-for-games-and-vr/</link>
		<comments>https://googledata.org/google-open-source/etc2comp-fast-texture-compression-for-games-and-vr/#comments</comments>
		<pubDate>Mon, 14 Nov 2016 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0b43cb73036d254022b3728c06825ccb</guid>
		<description><![CDATA[For mobile game and VR developers the <a href="https://en.wikipedia.org/wiki/Ericsson_Texture_Compression">ETC2 texture format</a> has become an increasingly valuable tool for texture compression. It produces good on-GPU sizes (it stays compressed in memory) and higher quality textures (compared to its ETC1 counterpart).<br /><br />These benefits come with a significant downside, however: ETC2 textures take significantly longer to compress than their ETC1 counterparts. As adoption of the ETC2 format increases in a project, so do build times. As such, developers have had to make the classic choice between quality and time.<br /><br />We wanted to eliminate the need for developers to make that choice, so we&#8217;ve released <a href="https://github.com/google/etc2comp">ETC2Comp</a>, a fast and high quality ETC2 encoder for games and VR developers.<br /><br />ETC2 takes a long time to compress textures because the format defines <a href="http://www.graphicshardware.org/previous/www_2007/presentations/strom-etc2-gh07.pdf">a large number of possible combinations for encoding a block in the texture</a>. To find the most perfect, highest quality compressed image means brute-forcing this incredibly large number of combinations, which clearly is not a time efficient option. <br /><br />We designed ETC2Comp to get the same visual results at much faster speeds by deploying a few optimization techniques:<br /><br /><b>Directed Block Search. </b>Rather than a brute-force search, ETC2Comp uses a much more limited, targeted search for the best encoding for a given block. ETC2Comp comes with a precomputed set of archetype blocks, where each archetype is associated with a sorted list of the ETC2 block format types that provide its best encodings. During the actual compression of a texture, each block is initially assigned an archetype, and multiple passes are done to test the block against its block format list to find the best encoding. As a result, the best option can be found much quicker than with a brute-force method.<br /><br /><b>Full effort setting.</b> During each pass of the encoding process, all the blocks of the image are sorted by their visual quality (worst-looking to best-looking). ETC2Comp takes an effort parameter whose value specifies what percentage of the blocks to update during each pass of encoding. An effort value of 25, for instance, means that on each pass, only the 25% worst looking blocks are tested against the next format in their archetypes' format-chains. The result is a tradeoff between optimizing blocks that already look good, and the time it takes to do it.<br /><br /><b>Highly multi-threaded code. </b>Since blocks can be evaluated independently during each pass, it&#8217;s straightforward to apply multithreading to the work. During encoding ETC2comp can take advantage of available parallel threads, and it even accepts a jobs parameter, where you can define exactly the number of threads you&#8217;d like it to use... in case you have a 256 core machine.<br /><br />Check out the code on <a href="https://github.com/google/etc2comp">GitHub</a> to get started with ETC2Comp and let us know what you think. You can use the tool from the command line or embed the C++ library in your project. If you want to know more about what&#8217;s going on under the hood, check out this <a href="https://medium.com/@duhroach/building-a-blazing-fast-etc2-compressor-307f3e9aad99#.acqks0pzc">blog post</a>.<br /><br /><i>By Colt McAnlis, Developer Advocate</i>]]></description>
				<content:encoded><![CDATA[For mobile game and VR developers the <a href="https://en.wikipedia.org/wiki/Ericsson_Texture_Compression">ETC2 texture format</a> has become an increasingly valuable tool for texture compression. It produces good on-GPU sizes (it stays compressed in memory) and higher quality textures (compared to its ETC1 counterpart).<br /><br />These benefits come with a significant downside, however: ETC2 textures take significantly longer to compress than their ETC1 counterparts. As adoption of the ETC2 format increases in a project, so do build times. As such, developers have had to make the classic choice between quality and time.<br /><br />We wanted to eliminate the need for developers to make that choice, so we’ve released <a href="https://github.com/google/etc2comp">ETC2Comp</a>, a fast and high quality ETC2 encoder for games and VR developers.<br /><br />ETC2 takes a long time to compress textures because the format defines <a href="http://www.graphicshardware.org/previous/www_2007/presentations/strom-etc2-gh07.pdf">a large number of possible combinations for encoding a block in the texture</a>. To find the most perfect, highest quality compressed image means brute-forcing this incredibly large number of combinations, which clearly is not a time efficient option. <br /><br />We designed ETC2Comp to get the same visual results at much faster speeds by deploying a few optimization techniques:<br /><br /><b>Directed Block Search. </b>Rather than a brute-force search, ETC2Comp uses a much more limited, targeted search for the best encoding for a given block. ETC2Comp comes with a precomputed set of archetype blocks, where each archetype is associated with a sorted list of the ETC2 block format types that provide its best encodings. During the actual compression of a texture, each block is initially assigned an archetype, and multiple passes are done to test the block against its block format list to find the best encoding. As a result, the best option can be found much quicker than with a brute-force method.<br /><br /><b>Full effort setting.</b> During each pass of the encoding process, all the blocks of the image are sorted by their visual quality (worst-looking to best-looking). ETC2Comp takes an effort parameter whose value specifies what percentage of the blocks to update during each pass of encoding. An effort value of 25, for instance, means that on each pass, only the 25% worst looking blocks are tested against the next format in their archetypes' format-chains. The result is a tradeoff between optimizing blocks that already look good, and the time it takes to do it.<br /><br /><b>Highly multi-threaded code. </b>Since blocks can be evaluated independently during each pass, it’s straightforward to apply multithreading to the work. During encoding ETC2comp can take advantage of available parallel threads, and it even accepts a jobs parameter, where you can define exactly the number of threads you’d like it to use... in case you have a 256 core machine.<br /><br />Check out the code on <a href="https://github.com/google/etc2comp">GitHub</a> to get started with ETC2Comp and let us know what you think. You can use the tool from the command line or embed the C++ library in your project. If you want to know more about what’s going on under the hood, check out this <a href="https://medium.com/@duhroach/building-a-blazing-fast-etc2-compressor-307f3e9aad99#.acqks0pzc">blog post</a>.<br /><br /><i>By Colt McAnlis, Developer Advocate</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/etc2comp-fast-texture-compression-for-games-and-vr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Open source visualization of GPS displacements for earthquake cycle physics</title>
		<link>https://googledata.org/google-open-source/open-source-visualization-of-gps-displacements-for-earthquake-cycle-physics/</link>
		<comments>https://googledata.org/google-open-source/open-source-visualization-of-gps-displacements-for-earthquake-cycle-physics/#comments</comments>
		<pubDate>Thu, 10 Nov 2016 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=65ba8f80d9042b547e99735e2055bf73</guid>
		<description><![CDATA[The <a href="https://en.wikipedia.org/wiki/Plate_tectonics">Earth&#8217;s surface is moving</a>, ever so slightly, all the time. This slow, small, but persistent movement of the Earth's crust is responsible for the formation of mountain ranges, sudden earthquakes, and even the positions of the continents. Scientists around the world measure these almost imperceptible movements using arrays of <a href="https://en.wikipedia.org/wiki/Satellite_navigation">Global Navigation Satellite System</a> (GNSS) receivers to better understand all phases of an earthquake cycle&#8212;both how the surface responds after an earthquake, and the storage of <a href="https://en.wikipedia.org/wiki/Elastic-rebound_theory">strain energy</a> between earthquakes.<br /><br />To help researchers explore this data and better understand the Earthquake cycle, we are releasing a new, interactive data visualization which draws geodetic velocity lines on top of a relief map by amplifying position estimates relative to their true positions. Unlike existing approaches, which focus on small time slices or individual stations, our visualization can show all the data for a whole array of stations at once. Open sourced under an <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2 license</a>, and <a href="https://github.com/google/geovelo">available on GitHub</a>, this visualization technique is a collaboration between Harvard&#8217;s <a href="http://eps.harvard.edu/">Department of Earth and Planetary Sciences</a> and Google's <a href="http://research.google.com/pubs/MachinePerception.html">Machine Perception</a> and <a href="https://research.google.com/bigpicture/">Big Picture</a> teams.<br /><br />Our approach helps scientists quickly assess deformations across all phases of the earthquake cycle&#8212;both during earthquakes (coseismic) and the time between (interseismic). For example, we can see azimuth (direction) reversals of stations as they relate to topographic structures and active faults. Digging into these movements will help scientists vet their models and their data, both of which are crucial for developing accurate computer representations that may help predict future earthquakes.<br /><br />Classical approaches to visualizing these data have fallen into two general categories: 1) a map view of velocity/displacement vectors over a fixed time interval and 2) time versus position plots of each GNSS component (longitude, latitude and altitude).<br /><br /><table><tbody><tr><td></td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-_5SVgsF0dJQ/WBpOQLywysI/AAAAAAAAA-M/PuiNdZLSC1oiNT6Nt6kXKEEZ9gXjG9dfQCK4B/s1600/image02.png"><img border="0" height="320" src="https://1.bp.blogspot.com/-_5SVgsF0dJQ/WBpOQLywysI/AAAAAAAAA-M/PuiNdZLSC1oiNT6Nt6kXKEEZ9gXjG9dfQCK4B/s320/image02.png" width="287"></a><a href="http://4.bp.blogspot.com/-w12QSP15sdc/WBpOOmTRPvI/AAAAAAAAA-E/MxBxWsya8jA8y7pgXgx5mCGCXPG89bpzgCK4B/s1600/image01.png"><img border="0" height="224" src="https://4.bp.blogspot.com/-w12QSP15sdc/WBpOOmTRPvI/AAAAAAAAA-E/MxBxWsya8jA8y7pgXgx5mCGCXPG89bpzgCK4B/s320/image01.png" width="320"></a></td></tr><tr><td>Examples of classical approaches. On the left is a map view showing average velocity vectors over the period from 1997 to 2001[1]. On the right you can see a time versus eastward (longitudinal) position plot for a single station.</td></tr></tbody></table><br />Each of these approaches have proved to be informative ways to understand the spatial distribution of crustal movements and the time evolution of solid earth deformation. However, because geodetic shifts happen in almost imperceptible distances (mm) and over long timescales, both approaches can only show a small subset of the data at any time&#8212;a condensed average velocity per station, or a detailed view of a single station, respectively. Our visualization enables a scientist to see all the data at once, then interactively drill down to a specific subset of interest.<br /><br />Our visualization approach is straightforward; by magnifying the daily longitude and latitude position changes, we show tracks of the evolution of the position of each station. These magnified position tracks are shown as trails on top of a shaded relief topography to provide a sense of position evolution in geographic context.<br /><br />To see how it works in practice, let&#8217;s step through an an example. Consider this tiny set of longitude/latitude pairs for a single GNSS station, with the differing digits shown in bold:<br /><br /><br /><table><tbody><tr><td>Day Index</td><td>Longitude</td><td>Latitude</td></tr><tr><td>0</td><td>139.069904<b>07</b></td><td>34.949757<b>897</b></td></tr><tr><td>1</td><td>139.069904<b>00</b></td><td>34.949757<b>882</b></td></tr><tr><td>2</td><td>139.069904<b>13</b></td><td>34.949757<b>941</b></td></tr><tr><td>3</td><td>139.069904<b>09</b></td><td>34.949757<b>921</b></td></tr><tr><td>4</td><td>139.069904<b>13</b></td><td>34.949757<b>904</b></td></tr></tbody></table><br />If we were to draw line segments between these points directly on a map, they&#8217;d be much too small to see at any reasonable scale. So we take these minute differences and multiply them by a user-controlled scaling factor. By default this factor is 10<sup>5.5</sup> (about 316,000x).<br /><br /><a href="http://4.bp.blogspot.com/-AW7MaHC-mRM/WBpOUdpmt9I/AAAAAAAAA-U/sNA-LRdew_wrhxX9utTGRaATQungSSnnACK4B/s1600/image05.png"><img border="0" height="285" src="https://4.bp.blogspot.com/-AW7MaHC-mRM/WBpOUdpmt9I/AAAAAAAAA-U/sNA-LRdew_wrhxX9utTGRaATQungSSnnACK4B/s400/image05.png" width="400"></a><br />To help the user identify which end is the start of the line, we give the start and end points different colors and interpolate between them. Blue and red are the default colors, but they&#8217;re user-configurable. Although day-to-day movement of stations may seem erratic, by using this method, one can make out a general trend in the relative motion of a station.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-PtXdWDJNZIc/WBpOWptDb9I/AAAAAAAAA-c/kJQ6956-_ogRmcTGBcHqVSj2AaOsYl4CACK4B/s1600/image00.png"><img border="0" height="448" src="https://2.bp.blogspot.com/-PtXdWDJNZIc/WBpOWptDb9I/AAAAAAAAA-c/kJQ6956-_ogRmcTGBcHqVSj2AaOsYl4CACK4B/s640/image00.png" width="640"></a></td></tr><tr><td>Close-up of a single station&#8217;s movement during the three year period from 2003 to 2006.</td></tr></tbody></table>However, static renderings of this sort suffer from the same problem that velocity vector images do; in regions with a high density of GNSS stations, tracks overlap significantly with one another, obscuring details. To solve this problem, our visualization lets the user interactively control the time range of interest, the amount of amplification and other settings. In addition, by animating the lines from start to finish, the user gets a real sense of motion that&#8217;s difficult to achieve in a static image.<br /><br />We&#8217;ve applied our new visualization to the ~20 years of data from the <a href="https://www.geospatialworld.net/article/geonet-nationwide-gps-array-of-japan/">GEONET array in Japan</a>. Through it, we can see small but coherent changes in direction before and after the great 2011 Tohoku earthquake.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-m8zsWqOXZ3Q/WBpOdQw4vMI/AAAAAAAAA-s/NE_LMuITj447ONr6MKHqw5gokMew0VdagCK4B/s1600/image03.gif"><img border="0" height="348" src="https://2.bp.blogspot.com/-m8zsWqOXZ3Q/WBpOdQw4vMI/AAAAAAAAA-s/NE_LMuITj447ONr6MKHqw5gokMew0VdagCK4B/s640/image03.gif" width="640"></a></td></tr><tr><td>GPS data sets (in .json format) for both the GEONET data in Japan and the Plate Boundary Observatory (PBO) data in the western US are available at <a href="http://earthquake.rc.fas.harvard.edu/">earthquake.rc.fas.harvard.edu</a>.</td></tr></tbody></table>This short animation shows many of the visualization&#8217;s interactive features. In order:<br /><ol><li>Modifying the multiplier adjusts how significantly the movements are magnified.</li><li>We can adjust the time slider nubs to select a particular time range of interest.</li><li>Using the map controls provided by the <a href="https://developers.google.com/maps/documentation/javascript/">Google Maps JavaScript API</a>, we can zoom into a tiny region of the map.</li><li>By enabling map markers, we can see information about individual GNSS stations.</li></ol>By focusing on a stations of interest, we can even see curvature changes in the time periods before and after the event.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://4.bp.blogspot.com/-ZjyjdNkEUCQ/WBpOj-8AeuI/AAAAAAAAA-8/ntma7-BSL2YA-Nbm8EDRY0K1XDO7AvQxQCK4B/s1600/image04.png"><img border="0" height="347" src="https://4.bp.blogspot.com/-ZjyjdNkEUCQ/WBpOj-8AeuI/AAAAAAAAA-8/ntma7-BSL2YA-Nbm8EDRY0K1XDO7AvQxQCK4B/s640/image04.png" width="640"></a></td></tr><tr><td>Station designated 960601 of Japan&#8217;s GEONET array is located on the island of Mikura-jima. Here we see the period from 2006 to 2012, with movement magnified 10<sup>5.1</sup> times (126,000x).</td></tr></tbody></table>To achieve fast rendering of the line segments, we created a custom overlay using <a href="https://threejs.org/">THREE.js</a> to render the lines in WebGL. Data for the GNSS stations is passed to the GPU in a data texture, which allows our vertex shader to position each point on-screen dynamically based on user settings and animation.<br /><br />We&#8217;re excited to continue this productive collaboration between Harvard and Google as we explore opportunities for groundbreaking, new earthquake visualizations. If you&#8217;d like to try out the visualization yourself, follow the instructions at <a href="http://earthquake.rc.fas.harvard.edu/">earthquake.rc.fas.harvard.edu</a>. It will walk you through the setup steps, including how to download the available data sets. If you&#8217;d like to report issues, great! Please submit them through the GitHub project page.<br /><br /><b>Acknowledgments</b><br /><br />We wish to thank Bill Freeman, a researcher on <a href="http://research.google.com/pubs/MachinePerception.html">Machine Perception</a>, who hatched the idea and developed the initial prototypes, and Fernanda Vi&#233;gas and Martin Wattenberg of the <a href="https://research.google.com/bigpicture/">Big Picture Team</a> for their visualization design guidance.<br /><br /><b>References</b><br /><br />[1] Loveless, J. P., and Meade, B. J. (2010). <a href="http://onlinelibrary.wiley.com/doi/10.1029/2008JB006248/abstract">Geodetic imaging of plate motions, slip rates, and partitioning of deformation in Japan</a>, <i>Journal of Geophysical Research</i>.<br /><br /><i>By Jimbo Wilson, Software Engineer, Big Picture Team and Brendan Meade, Professor, Harvard Department of Earth and Planetary Sciences</i><br /><br />]]></description>
				<content:encoded><![CDATA[The <a href="https://en.wikipedia.org/wiki/Plate_tectonics">Earth’s surface is moving</a>, ever so slightly, all the time. This slow, small, but persistent movement of the Earth's crust is responsible for the formation of mountain ranges, sudden earthquakes, and even the positions of the continents. Scientists around the world measure these almost imperceptible movements using arrays of <a href="https://en.wikipedia.org/wiki/Satellite_navigation">Global Navigation Satellite System</a> (GNSS) receivers to better understand all phases of an earthquake cycle—both how the surface responds after an earthquake, and the storage of <a href="https://en.wikipedia.org/wiki/Elastic-rebound_theory">strain energy</a> between earthquakes.<br /><br />To help researchers explore this data and better understand the Earthquake cycle, we are releasing a new, interactive data visualization which draws geodetic velocity lines on top of a relief map by amplifying position estimates relative to their true positions. Unlike existing approaches, which focus on small time slices or individual stations, our visualization can show all the data for a whole array of stations at once. Open sourced under an <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2 license</a>, and <a href="https://github.com/google/geovelo">available on GitHub</a>, this visualization technique is a collaboration between Harvard’s <a href="http://eps.harvard.edu/">Department of Earth and Planetary Sciences</a> and Google's <a href="http://research.google.com/pubs/MachinePerception.html">Machine Perception</a> and <a href="https://research.google.com/bigpicture/">Big Picture</a> teams.<br /><br />Our approach helps scientists quickly assess deformations across all phases of the earthquake cycle—both during earthquakes (coseismic) and the time between (interseismic). For example, we can see azimuth (direction) reversals of stations as they relate to topographic structures and active faults. Digging into these movements will help scientists vet their models and their data, both of which are crucial for developing accurate computer representations that may help predict future earthquakes.<br /><br />Classical approaches to visualizing these data have fallen into two general categories: 1) a map view of velocity/displacement vectors over a fixed time interval and 2) time versus position plots of each GNSS component (longitude, latitude and altitude).<br /><br /><table><tbody><tr><td></td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-_5SVgsF0dJQ/WBpOQLywysI/AAAAAAAAA-M/PuiNdZLSC1oiNT6Nt6kXKEEZ9gXjG9dfQCK4B/s1600/image02.png" imageanchor="1"><img border="0" height="320" src="https://1.bp.blogspot.com/-_5SVgsF0dJQ/WBpOQLywysI/AAAAAAAAA-M/PuiNdZLSC1oiNT6Nt6kXKEEZ9gXjG9dfQCK4B/s320/image02.png" width="287" /></a><a href="http://4.bp.blogspot.com/-w12QSP15sdc/WBpOOmTRPvI/AAAAAAAAA-E/MxBxWsya8jA8y7pgXgx5mCGCXPG89bpzgCK4B/s1600/image01.png" imageanchor="1"><img border="0" height="224" src="https://4.bp.blogspot.com/-w12QSP15sdc/WBpOOmTRPvI/AAAAAAAAA-E/MxBxWsya8jA8y7pgXgx5mCGCXPG89bpzgCK4B/s320/image01.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Examples of classical approaches. On the left is a map view showing average velocity vectors over the period from 1997 to 2001[1]. On the right you can see a time versus eastward (longitudinal) position plot for a single station.</td></tr></tbody></table><br />Each of these approaches have proved to be informative ways to understand the spatial distribution of crustal movements and the time evolution of solid earth deformation. However, because geodetic shifts happen in almost imperceptible distances (mm) and over long timescales, both approaches can only show a small subset of the data at any time—a condensed average velocity per station, or a detailed view of a single station, respectively. Our visualization enables a scientist to see all the data at once, then interactively drill down to a specific subset of interest.<br /><br />Our visualization approach is straightforward; by magnifying the daily longitude and latitude position changes, we show tracks of the evolution of the position of each station. These magnified position tracks are shown as trails on top of a shaded relief topography to provide a sense of position evolution in geographic context.<br /><br />To see how it works in practice, let’s step through an an example. Consider this tiny set of longitude/latitude pairs for a single GNSS station, with the differing digits shown in bold:<br /><br /><style type="text/css">.table_with_border, .table_with_border tr, .table_with_border td { border: 1px solid black; } .table_with_border td { padding: 0.5em; } </style> <br /><table class="table_with_border"><tbody><tr><td>Day Index</td><td>Longitude</td><td>Latitude</td></tr><tr><td>0</td><td>139.069904<b>07</b></td><td>34.949757<b>897</b></td></tr><tr><td>1</td><td>139.069904<b>00</b></td><td>34.949757<b>882</b></td></tr><tr><td>2</td><td>139.069904<b>13</b></td><td>34.949757<b>941</b></td></tr><tr><td>3</td><td>139.069904<b>09</b></td><td>34.949757<b>921</b></td></tr><tr><td>4</td><td>139.069904<b>13</b></td><td>34.949757<b>904</b></td></tr></tbody></table><br />If we were to draw line segments between these points directly on a map, they’d be much too small to see at any reasonable scale. So we take these minute differences and multiply them by a user-controlled scaling factor. By default this factor is 10<sup>5.5</sup> (about 316,000x).<br /><br /><a href="http://4.bp.blogspot.com/-AW7MaHC-mRM/WBpOUdpmt9I/AAAAAAAAA-U/sNA-LRdew_wrhxX9utTGRaATQungSSnnACK4B/s1600/image05.png" imageanchor="1"><img border="0" height="285" src="https://4.bp.blogspot.com/-AW7MaHC-mRM/WBpOUdpmt9I/AAAAAAAAA-U/sNA-LRdew_wrhxX9utTGRaATQungSSnnACK4B/s400/image05.png" width="400" /></a><br />To help the user identify which end is the start of the line, we give the start and end points different colors and interpolate between them. Blue and red are the default colors, but they’re user-configurable. Although day-to-day movement of stations may seem erratic, by using this method, one can make out a general trend in the relative motion of a station.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-PtXdWDJNZIc/WBpOWptDb9I/AAAAAAAAA-c/kJQ6956-_ogRmcTGBcHqVSj2AaOsYl4CACK4B/s1600/image00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="448" src="https://2.bp.blogspot.com/-PtXdWDJNZIc/WBpOWptDb9I/AAAAAAAAA-c/kJQ6956-_ogRmcTGBcHqVSj2AaOsYl4CACK4B/s640/image00.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Close-up of a single station’s movement during the three year period from 2003 to 2006.</td></tr></tbody></table>However, static renderings of this sort suffer from the same problem that velocity vector images do; in regions with a high density of GNSS stations, tracks overlap significantly with one another, obscuring details. To solve this problem, our visualization lets the user interactively control the time range of interest, the amount of amplification and other settings. In addition, by animating the lines from start to finish, the user gets a real sense of motion that’s difficult to achieve in a static image.<br /><br />We’ve applied our new visualization to the ~20 years of data from the <a href="https://www.geospatialworld.net/article/geonet-nationwide-gps-array-of-japan/">GEONET array in Japan</a>. Through it, we can see small but coherent changes in direction before and after the great 2011 Tohoku earthquake.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-m8zsWqOXZ3Q/WBpOdQw4vMI/AAAAAAAAA-s/NE_LMuITj447ONr6MKHqw5gokMew0VdagCK4B/s1600/image03.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="348" src="https://2.bp.blogspot.com/-m8zsWqOXZ3Q/WBpOdQw4vMI/AAAAAAAAA-s/NE_LMuITj447ONr6MKHqw5gokMew0VdagCK4B/s640/image03.gif" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">GPS data sets (in .json format) for both the GEONET data in Japan and the Plate Boundary Observatory (PBO) data in the western US are available at <a href="http://earthquake.rc.fas.harvard.edu/">earthquake.rc.fas.harvard.edu</a>.</td></tr></tbody></table>This short animation shows many of the visualization’s interactive features. In order:<br /><ol><li>Modifying the multiplier adjusts how significantly the movements are magnified.</li><li>We can adjust the time slider nubs to select a particular time range of interest.</li><li>Using the map controls provided by the <a href="https://developers.google.com/maps/documentation/javascript/">Google Maps JavaScript API</a>, we can zoom into a tiny region of the map.</li><li>By enabling map markers, we can see information about individual GNSS stations.</li></ol>By focusing on a stations of interest, we can even see curvature changes in the time periods before and after the event.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-ZjyjdNkEUCQ/WBpOj-8AeuI/AAAAAAAAA-8/ntma7-BSL2YA-Nbm8EDRY0K1XDO7AvQxQCK4B/s1600/image04.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="347" src="https://4.bp.blogspot.com/-ZjyjdNkEUCQ/WBpOj-8AeuI/AAAAAAAAA-8/ntma7-BSL2YA-Nbm8EDRY0K1XDO7AvQxQCK4B/s640/image04.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Station designated 960601 of Japan’s GEONET array is located on the island of Mikura-jima. Here we see the period from 2006 to 2012, with movement magnified 10<sup>5.1</sup> times (126,000x).</td></tr></tbody></table>To achieve fast rendering of the line segments, we created a custom overlay using <a href="https://threejs.org/">THREE.js</a> to render the lines in WebGL. Data for the GNSS stations is passed to the GPU in a data texture, which allows our vertex shader to position each point on-screen dynamically based on user settings and animation.<br /><br />We’re excited to continue this productive collaboration between Harvard and Google as we explore opportunities for groundbreaking, new earthquake visualizations. If you’d like to try out the visualization yourself, follow the instructions at <a href="http://earthquake.rc.fas.harvard.edu/">earthquake.rc.fas.harvard.edu</a>. It will walk you through the setup steps, including how to download the available data sets. If you’d like to report issues, great! Please submit them through the GitHub project page.<br /><br /><b>Acknowledgments</b><br /><br />We wish to thank Bill Freeman, a researcher on <a href="http://research.google.com/pubs/MachinePerception.html">Machine Perception</a>, who hatched the idea and developed the initial prototypes, and Fernanda Viégas and Martin Wattenberg of the <a href="https://research.google.com/bigpicture/">Big Picture Team</a> for their visualization design guidance.<br /><br /><b>References</b><br /><br />[1] Loveless, J. P., and Meade, B. J. (2010). <a href="http://onlinelibrary.wiley.com/doi/10.1029/2008JB006248/abstract">Geodetic imaging of plate motions, slip rates, and partitioning of deformation in Japan</a>, <i>Journal of Geophysical Research</i>.<br /><br /><i>By Jimbo Wilson, Software Engineer, Big Picture Team and Brendan Meade, Professor, Harvard Department of Earth and Planetary Sciences</i><br /><br />]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/open-source-visualization-of-gps-displacements-for-earthquake-cycle-physics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Celebrating TensorFlow’s First Year</title>
		<link>https://googledata.org/google-open-source/celebrating-tensorflows-first-year-2/</link>
		<comments>https://googledata.org/google-open-source/celebrating-tensorflows-first-year-2/#comments</comments>
		<pubDate>Wed, 09 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=880792a9ba423e61bca86346fab86db5</guid>
		<description><![CDATA[<i>Originally posted on <a href="http://research.googleblog.com/2016/11/celebrating-tensorflows-first-year.html">Google Research blog</a></i><br /><br />It has been an eventful year since the <a href="http://g.co/brain">Google Brain Team</a> <a href="https://research.googleblog.com/2015/11/tensorflow-googles-latest-machine_9.html">open-sourced TensorFlow</a> to accelerate machine learning research and <a href="https://blog.google/topics/machine-learning/tensorflow-smarter-machine-learning-for/">make technology work better for everyone</a>. There has been an amazing amount of activity around the project: more than 480 people have contributed directly to <a href="https://www.tensorflow.org/">TensorFlow</a>, including Googlers, external researchers, independent programmers, students, and senior developers at other large companies. TensorFlow is now <a href="https://github.com/tensorflow/tensorflow">the most popular</a> machine learning project on GitHub.<br /><br /><div><span><span><img height="229" src="https://lh5.googleusercontent.com/m_heR-G7thDkz-TxfaW93pvi8T-bJ6Wepfrc4tLf1Sw-6bVGr9GLTBV5HigtRqj9Viz7X24nI6JHiT7feKHPgq7QHruoULpJ-xadYlz5vfXZSqFvJsvADDoJpi2is2eU_GaGPUi5" width="359"></span></span></div><br />With more than 10,000 commits in just twelve months, we&#8217;ve made <a href="https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md">numerous performance improvements</a>, <a href="https://research.googleblog.com/2016/04/announcing-tensorflow-08-now-with.html">added support for distributed training</a>, <a href="https://petewarden.com/2016/09/27/tensorflow-for-mobile-poets/">brought TensorFlow to iOS</a> and <a href="https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/pi_examples/">Raspberry Pi</a>, and integrated TensorFlow with widely-used <a href="https://github.com/tensorflow/ecosystem">big data infrastructure</a>. We&#8217;ve also made TensorFlow accessible from <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/go/README.md">Go</a>, <a href="https://github.com/tensorflow/rust/blob/master/README.md">Rust</a>, and <a href="https://github.com/tensorflow/haskell/blob/master/README.md">Haskell</a>, <a href="https://research.googleblog.com/2016/08/improving-inception-and-image.html">released state-of-the-art image classification models</a>&#160;&#8211; and answered thousands of questions on <a href="https://github.com/tensorflow/tensorflow/issues">GitHub</a>, <a href="http://stackoverflow.com/questions/tagged/tensorflow">StackOverflow</a>, and <a href="https://groups.google.com/a/tensorflow.org/forum/#!forum/discuss">the TensorFlow mailing list</a> along the way.<br /><br />At Google, TensorFlow supports everything from large-scale product features to exploratory research. We recently launched <a href="https://research.googleblog.com/2016/09/a-neural-network-for-machine.html">major improvements to Google Translate</a> using TensorFlow (and <a href="https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html">Tensor Processing Units</a>, which are special hardware accelerators for TensorFlow). <a href="https://magenta.tensorflow.org/welcome-to-magenta">Project Magenta</a> is working on new reinforcement learning-based models that can <a href="https://magenta.tensorflow.org/2016/11/09/tuning-recurrent-networks-with-reinforcement-learning/">produce melodies</a>, and a visiting PhD student recently worked with the Google Brain team to build a TensorFlow model that can <a href="https://research.googleblog.com/2016/10/supercharging-style-transfer.html">automatically interpolate between artistic styles</a>. <a href="https://deepmind.com/">DeepMind</a> has also <a href="https://research.googleblog.com/2016/04/deepmind-moves-to-tensorflow.html">decided to use TensorFlow</a> to power all of their research &#8211; for example, they recently produced <a href="https://deepmind.com/blog/wavenet-generative-model-raw-audio/">fascinating generative models</a> of speech and music based on raw audio.<br /><br />We&#8217;re especially excited to see how people all over the world are using TensorFlow. For example:<br /><br /><ul><li>Australian marine biologists are using TensorFlow to <a href="https://blog.google/topics/machine-learning/could-machine-learning-save-sea-cow">find sea cows</a> in tens of thousands of hi-res photos to better understand their populations, which are under threat of extinction.&#160;</li><li>An enterprising Japanese cucumber farmer trained a model with TensorFlow to <a href="https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow">sort cucumbers</a> by size, shape, and other characteristics.</li><li>Radiologists have adapted TensorFlow to identify <a href="https://www.ncbi.nlm.nih.gov/pubmed/27730415">signs of Parkinson&#8217;s disease</a> in medical scans.</li><li>Data scientists in the Bay Area have rigged up TensorFlow and the Raspberry Pi to <a href="https://svds.com/introduction-to-trainspotting/">keep track of the Caltrain</a>.</li></ul><br />We&#8217;re committed to making sure TensorFlow scales all the way from research to production and from the tiniest Raspberry Pi all the way up to server farms filled with GPUs or TPUs. But TensorFlow is more than a single open-source project &#8211; we&#8217;re doing our best to foster an open-source ecosystem of related software and machine learning models around it:<br /><br /><ul><li>The <a href="https://research.googleblog.com/2016/02/running-your-models-in-production-with.html">TensorFlow Serving</a> project simplifies the process of serving TensorFlow models in production.</li><li>TensorFlow &#8220;<a href="https://research.googleblog.com/2016/06/wide-deep-learning-better-together-with.html">Wide and Deep</a>&#8221; models combine the strengths of traditional linear models and modern deep neural networks.&#160;</li><li>For those who are interested in working with TensorFlow in the cloud, <a href="https://cloud.google.com/">Google Cloud Platform</a> recently launched <a href="https://cloud.google.com/ml/">Cloud Machine Learning</a>, which offers TensorFlow as a managed service.</li></ul><br />Furthermore, <a href="https://github.com/tensorflow/models">TensorFlow&#8217;s repository of models</a> continues to grow with contributions from the community, with&#160;<a href="https://github.com/search?q=tensorflow">more than 3000 TensorFlow-related repositories</a> are listed on GitHub alone! To participate in the TensorFlow community, you can follow our new Twitter account (<a href="https://twitter.com/tensorflow">@tensorflow</a>), <a href="https://github.com/tensorflow/tensorflow">find us on GitHub</a>, <a href="http://stackoverflow.com/questions/tagged/tensorflow">ask and answer questions on StackOverflow</a>, and join the <a href="https://groups.google.com/a/tensorflow.org/forum/#!forum/discuss">community discussion list</a>.<br /><br />Thanks very much to all of you who have already adopted TensorFlow in your cutting-edge products, your ambitious research, your fast-growing startups, and your school projects; special thanks to everyone who has <a href="https://github.com/tensorflow/tensorflow">contributed directly</a> to the codebase. In collaboration with the global machine learning community, we look forward to making TensorFlow even better in the years to come!<br /><br /><i>By Zak Stone, Product Manager for TensorFlow</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on <a href="http://research.googleblog.com/2016/11/celebrating-tensorflows-first-year.html">Google Research blog</a></i><br /><br />It has been an eventful year since the <a href="http://g.co/brain">Google Brain Team</a> <a href="https://research.googleblog.com/2015/11/tensorflow-googles-latest-machine_9.html">open-sourced TensorFlow</a> to accelerate machine learning research and <a href="https://blog.google/topics/machine-learning/tensorflow-smarter-machine-learning-for/">make technology work better for everyone</a>. There has been an amazing amount of activity around the project: more than 480 people have contributed directly to <a href="https://www.tensorflow.org/">TensorFlow</a>, including Googlers, external researchers, independent programmers, students, and senior developers at other large companies. TensorFlow is now <a href="https://github.com/tensorflow/tensorflow">the most popular</a> machine learning project on GitHub.<br /><br /><div style="text-align: center;"><span id="docs-internal-guid-6ab6d6b1-499d-1d19-edda-caa174b0b1cc"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><img height="229" src="https://lh5.googleusercontent.com/m_heR-G7thDkz-TxfaW93pvi8T-bJ6Wepfrc4tLf1Sw-6bVGr9GLTBV5HigtRqj9Viz7X24nI6JHiT7feKHPgq7QHruoULpJ-xadYlz5vfXZSqFvJsvADDoJpi2is2eU_GaGPUi5" style="border: none; transform: rotate(0rad);" width="359" /></span></span></div><br />With more than 10,000 commits in just twelve months, we’ve made <a href="https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md">numerous performance improvements</a>, <a href="https://research.googleblog.com/2016/04/announcing-tensorflow-08-now-with.html">added support for distributed training</a>, <a href="https://petewarden.com/2016/09/27/tensorflow-for-mobile-poets/">brought TensorFlow to iOS</a> and <a href="https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/pi_examples/">Raspberry Pi</a>, and integrated TensorFlow with widely-used <a href="https://github.com/tensorflow/ecosystem">big data infrastructure</a>. We’ve also made TensorFlow accessible from <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/go/README.md">Go</a>, <a href="https://github.com/tensorflow/rust/blob/master/README.md">Rust</a>, and <a href="https://github.com/tensorflow/haskell/blob/master/README.md">Haskell</a>, <a href="https://research.googleblog.com/2016/08/improving-inception-and-image.html">released state-of-the-art image classification models</a>&nbsp;– and answered thousands of questions on <a href="https://github.com/tensorflow/tensorflow/issues">GitHub</a>, <a href="http://stackoverflow.com/questions/tagged/tensorflow">StackOverflow</a>, and <a href="https://groups.google.com/a/tensorflow.org/forum/#!forum/discuss">the TensorFlow mailing list</a> along the way.<br /><br />At Google, TensorFlow supports everything from large-scale product features to exploratory research. We recently launched <a href="https://research.googleblog.com/2016/09/a-neural-network-for-machine.html">major improvements to Google Translate</a> using TensorFlow (and <a href="https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html">Tensor Processing Units</a>, which are special hardware accelerators for TensorFlow). <a href="https://magenta.tensorflow.org/welcome-to-magenta">Project Magenta</a> is working on new reinforcement learning-based models that can <a href="https://magenta.tensorflow.org/2016/11/09/tuning-recurrent-networks-with-reinforcement-learning/">produce melodies</a>, and a visiting PhD student recently worked with the Google Brain team to build a TensorFlow model that can <a href="https://research.googleblog.com/2016/10/supercharging-style-transfer.html">automatically interpolate between artistic styles</a>. <a href="https://deepmind.com/">DeepMind</a> has also <a href="https://research.googleblog.com/2016/04/deepmind-moves-to-tensorflow.html">decided to use TensorFlow</a> to power all of their research – for example, they recently produced <a href="https://deepmind.com/blog/wavenet-generative-model-raw-audio/">fascinating generative models</a> of speech and music based on raw audio.<br /><br />We’re especially excited to see how people all over the world are using TensorFlow. For example:<br /><br /><ul><li>Australian marine biologists are using TensorFlow to <a href="https://blog.google/topics/machine-learning/could-machine-learning-save-sea-cow">find sea cows</a> in tens of thousands of hi-res photos to better understand their populations, which are under threat of extinction.&nbsp;</li><li>An enterprising Japanese cucumber farmer trained a model with TensorFlow to <a href="https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow">sort cucumbers</a> by size, shape, and other characteristics.</li><li>Radiologists have adapted TensorFlow to identify <a href="https://www.ncbi.nlm.nih.gov/pubmed/27730415">signs of Parkinson’s disease</a> in medical scans.</li><li>Data scientists in the Bay Area have rigged up TensorFlow and the Raspberry Pi to <a href="https://svds.com/introduction-to-trainspotting/">keep track of the Caltrain</a>.</li></ul><br />We’re committed to making sure TensorFlow scales all the way from research to production and from the tiniest Raspberry Pi all the way up to server farms filled with GPUs or TPUs. But TensorFlow is more than a single open-source project – we’re doing our best to foster an open-source ecosystem of related software and machine learning models around it:<br /><br /><ul><li>The <a href="https://research.googleblog.com/2016/02/running-your-models-in-production-with.html">TensorFlow Serving</a> project simplifies the process of serving TensorFlow models in production.</li><li>TensorFlow “<a href="https://research.googleblog.com/2016/06/wide-deep-learning-better-together-with.html">Wide and Deep</a>” models combine the strengths of traditional linear models and modern deep neural networks.&nbsp;</li><li>For those who are interested in working with TensorFlow in the cloud, <a href="https://cloud.google.com/">Google Cloud Platform</a> recently launched <a href="https://cloud.google.com/ml/">Cloud Machine Learning</a>, which offers TensorFlow as a managed service.</li></ul><br />Furthermore, <a href="https://github.com/tensorflow/models">TensorFlow’s repository of models</a> continues to grow with contributions from the community, with&nbsp;<a href="https://github.com/search?q=tensorflow">more than 3000 TensorFlow-related repositories</a> are listed on GitHub alone! To participate in the TensorFlow community, you can follow our new Twitter account (<a href="https://twitter.com/tensorflow">@tensorflow</a>), <a href="https://github.com/tensorflow/tensorflow">find us on GitHub</a>, <a href="http://stackoverflow.com/questions/tagged/tensorflow">ask and answer questions on StackOverflow</a>, and join the <a href="https://groups.google.com/a/tensorflow.org/forum/#!forum/discuss">community discussion list</a>.<br /><br />Thanks very much to all of you who have already adopted TensorFlow in your cutting-edge products, your ambitious research, your fast-growing startups, and your school projects; special thanks to everyone who has <a href="https://github.com/tensorflow/tensorflow">contributed directly</a> to the codebase. In collaboration with the global machine learning community, we look forward to making TensorFlow even better in the years to come!<br /><br /><i>By Zak Stone, Product Manager for TensorFlow</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/celebrating-tensorflows-first-year-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 blog post round-up</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-blog-post-round-up/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-blog-post-round-up/#comments</comments>
		<pubDate>Tue, 08 Nov 2016 15:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=305a56aa725771b2c00c39aca8774ede</guid>
		<description><![CDATA[We&#8217;re publishing guest posts from <a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) students, mentors and organizations every week and more are coming. Many have already written GSoC wrap-up posts on their own blogs, so we&#8217;ve rounded them up for you to explore.<br /><br /><br />&#8220;<a href="http://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy/">Static types in Python, oh my(py)!</a>&#8221; by <a href="https://github.com/timabbott">Tim Abbott</a>, org admin for <a href="https://zulip.org/">Zulip</a><br /><i>&#8220;We posted mypy annotations as one of our project ideas for Google Summer of Code (GSoC). We found an incredible student, <a href="https://github.com/sharmaeklavya2">Eklavya Sharma</a>, for the project. Eklavya did the vast majority of the hard work of annotating Zulip. Amazingly, he also found the time during the summer to migrate Zulip to use virtualenvs and then upgrade Zulip to Python 3!&#8221;</i><br /><br /><br />&#8220;<a href="https://abishov.com/2016/09/28/google-summer-of-code.html">A road from Google Summer of Code student to organization administrator</a>&#8221; by&#160;<a href="https://github.com/ArazAbishov">Araz Abishov</a>, org admin for&#160;<a href="http://www.hisp.org/">HISP</a><br /><i>&#8220;Google has created unprecedented opportunity both for young developers and open source communities, which I think everyone should take advantage of. GSoC is more than just a three months internship, and I hope that this post will be a good example of how it can change anyone&#8217;s life.&#8221;</i><br /><br /><br />&#8220;<a href="http://gnuradio.org/blog/summer-of-code-2016-wrapping-it-up/">Summer of Code 2016: Wrapping it up</a>&#8221; by&#160;<a href="https://twitter.com/braun_noise">Martin Braun</a>, org admin for&#160;<a href="http://gnuradio.org/">GNU Radio</a><br /><i>&#8220;This summer was a great summer in terms of student participation. All three students will be presenting their work (either in person, or via poster) at this year&#8217;s GNU Radio Conference in Boulder, Colorado.&#8221;</i><br /><br /><br />&#8220;<a href="http://mifos.org/2016/09/09/2016-google-summer-code-wrap/">2016 Google Summer of Code Wrap-Up</a>&#8221; by&#160;<a href="https://twitter.com/edcable">Ed Cable</a>, org admin for&#160;<a href="http://mifos.org/">Mifos Initiative</a><br /><i>&#8220;Each year GSoC continues to unite and grow our community in different ways. Once again, we received incredibly valuable contributions to our Mifos X web and mobile clients this summer; most importantly we have cultivated numerous passionate contributors that will be a part of our community long into the future.&#8221;</i><br /><br /><br />&#8220;<a href="https://scsilver.wordpress.com/2016/10/19/road-to-gsoc-2016/">Road to GSoC 2016</a>&#8221; by&#160;<a href="https://scsilver.wordpress.com/">Minh Chu</a>, student who worked on&#160;<a href="https://community.kde.org/KDE.org/Neverland">Neverland</a>&#160;for&#160;<a href="https://www.kde.org/">KDE</a><br /><i>&#8220;I was nervous about choosing a project. So many projects and requirements! After many hours, I finally decided to write a proposal for KDE&#8217;s Neverland Theme Builder and was accepted.&#8221;</i><br /><br /><br />&#8220;<a href="https://git.github.io/rev_news/2016/10/19/edition-20/">Git Rev News</a>&#8221; by <a href="https://github.com/chriscool">Christian Couder</a>, mentor for <a href="https://git-scm.com/">Git</a><br /><i>&#8220;Such performance improvements as well as the code consolidations around the sequencer are of course very nice. It is interesting and satisfying to see that they are the result of building on top of previous work over the years by GSoC students, mentors and reviewers.&#8221;</i><br /><br /><br />&#8220;<a href="https://www.reactos.org/blogs/google-summer-code-2016-conclusion">Google Summer of Code 2016 Conclusion</a>&#8221; by <a href="https://github.com/AmineKhaldi">Amine Khaldi</a>, org admin for <a href="https://www.reactos.org/">ReactOS</a><br /><i>&#8220;Students stumble upon many of the same difficulties ReactOS' own senior developers encountered during their early days, including that ever painful but necessary step to using a proper debugger instead of relying on printf statements in the code.&#8221;</i><br /><br /><br />&#8220;<a href="http://blog.nelsonliu.me/2016/09/03/my-journey-in-open-source-how-to-get-started-contributing/">My Journey in Open Source / How to Get Started Contributing</a>&#8221; by&#160;<a href="http://nelsonliu.me/">Nelson Liu</a>, student who worked on&#160;<a href="http://scikit-learn.org/">scikit-learn</a>&#160;for&#160;<a href="https://www.python.org/psf/">PSF</a><br /><i>&#8220;The best way to get started is to simply jump in! There are a myriad of ways to contribute to an open source project. Obviously, writing code to fix bugs, add new features, or enhance existing ones are useful. However, you don't have to write code to help out!&#8221;</i><br /><br /><br />&#8220;<a href="https://ergl.github.io/gsoc2016.html">Lasp and the Google Summer of Code</a>&#8221; by <a href="https://twitter.com/brocooks">Borja o&#8217;Cook</a>, student who worked on <a href="http://lasp-lang.org/">Lasp</a> for <a href="http://beamcommunity.github.io/">BEAM Community</a><br /><i>&#8220;All in all, it's been an amazing experience. I've received a lot of support from my mentors and teammates; the Lasp team is full of incredible people.&#8221;</i><br /><br /><br />&#8220;<a href="http://teammatesonline.blogspot.sg/2016/10/gsoc-2016-students-in-teammates.html">GSoC 2016 Students in TEAMMATES</a>&#8221; by&#160;<a href="http://www.comp.nus.edu.sg/~damithch/">Damith C. Rajapakse</a>, org admin for&#160;<a href="http://teammatesv4.appspot.com/">TEAMMATES</a><br /><i>&#8220;We had our biggest batch of students (7 students) in GSoC 2016, selected from 93 proposals, and representing 4 countries and 4 universities, working on TEAMMATES (an online feedback management system for education) and related sub projects.&#8221;</i><br /><br /><br />&#8220;<a href="https://colan.consulting/blog/user-friendly-encryption-now-drupal-8">User-friendly encryption now in Drupal 8!</a>&#8221; by <a href="https://colan.consulting/">Colan Schwartz</a>, mentor for <a href="http://drupal.org/">Drupal</a><br /><i>&#8220;There were several students interested in the topic, and wrote proposals to match. <a href="http://talhaparacha.com/">Talha Paracha's</a> excellent proposal was accepted, and he began in earnest. With <a href="http://nerdstein.net/">Adam Bergstein</a> (nerdstein) and I mentoring him, Talha successfully worked through all phases of the project.&#8221;</i><br /><br /><br />&#8220;<a href="https://sanuj.github.io/gsoc-with-shogun.html">GSoC with Shogun</a>&#8221; by <a href="https://twitter.com/sanuj_sharma">Sanuj Sharma</a>, student who worked on <a href="http://www.shogun-toolbox.org/">Shogun</a><br /><i>&#8220;This was an excellent learning experience for me and I got to work with people from different countries (UK, Russia, Singapore, Germany) and cultures. I highly recommend students to participate in Google Summer of Code by looking for projects that interest them because having open source experience is highly beneficial, especially for programmers.&#8221;</i><br /><br /><br />We have <a href="https://opensource.googleblog.com/search/label/wrap-up">wrap-up posts</a> coming out every week so stay tuned for more. If you&#8217;re interested in participating in Google Summer of Code 2017, you can find <a href="https://goo.gl/3i75lA">details here</a>.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[We’re publishing guest posts from <a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) students, mentors and organizations every week and more are coming. Many have already written GSoC wrap-up posts on their own blogs, so we’ve rounded them up for you to explore.<br /><br /><br />“<a href="http://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy/">Static types in Python, oh my(py)!</a>” by <a href="https://github.com/timabbott">Tim Abbott</a>, org admin for <a href="https://zulip.org/">Zulip</a><br /><i>“We posted mypy annotations as one of our project ideas for Google Summer of Code (GSoC). We found an incredible student, <a href="https://github.com/sharmaeklavya2">Eklavya Sharma</a>, for the project. Eklavya did the vast majority of the hard work of annotating Zulip. Amazingly, he also found the time during the summer to migrate Zulip to use virtualenvs and then upgrade Zulip to Python 3!”</i><br /><br /><br class="Apple-interchange-newline" />“<a href="https://abishov.com/2016/09/28/google-summer-of-code.html">A road from Google Summer of Code student to organization administrator</a>” by&nbsp;<a href="https://github.com/ArazAbishov">Araz Abishov</a>, org admin for&nbsp;<a href="http://www.hisp.org/">HISP</a><br /><i>“Google has created unprecedented opportunity both for young developers and open source communities, which I think everyone should take advantage of. GSoC is more than just a three months internship, and I hope that this post will be a good example of how it can change anyone’s life.”</i><br /><br /><br />“<a href="http://gnuradio.org/blog/summer-of-code-2016-wrapping-it-up/">Summer of Code 2016: Wrapping it up</a>” by&nbsp;<a href="https://twitter.com/braun_noise">Martin Braun</a>, org admin for&nbsp;<a href="http://gnuradio.org/">GNU Radio</a><br /><i>“This summer was a great summer in terms of student participation. All three students will be presenting their work (either in person, or via poster) at this year’s GNU Radio Conference in Boulder, Colorado.”</i><br /><br /><br />“<a href="http://mifos.org/2016/09/09/2016-google-summer-code-wrap/">2016 Google Summer of Code Wrap-Up</a>” by&nbsp;<a href="https://twitter.com/edcable">Ed Cable</a>, org admin for&nbsp;<a href="http://mifos.org/">Mifos Initiative</a><br /><i>“Each year GSoC continues to unite and grow our community in different ways. Once again, we received incredibly valuable contributions to our Mifos X web and mobile clients this summer; most importantly we have cultivated numerous passionate contributors that will be a part of our community long into the future.”</i><br /><br /><br />“<a href="https://scsilver.wordpress.com/2016/10/19/road-to-gsoc-2016/">Road to GSoC 2016</a>” by&nbsp;<a href="https://scsilver.wordpress.com/">Minh Chu</a>, student who worked on&nbsp;<a href="https://community.kde.org/KDE.org/Neverland">Neverland</a>&nbsp;for&nbsp;<a href="https://www.kde.org/">KDE</a><br /><i>“I was nervous about choosing a project. So many projects and requirements! After many hours, I finally decided to write a proposal for KDE’s Neverland Theme Builder and was accepted.”</i><br /><br /><br />“<a href="https://git.github.io/rev_news/2016/10/19/edition-20/">Git Rev News</a>” by <a href="https://github.com/chriscool">Christian Couder</a>, mentor for <a href="https://git-scm.com/">Git</a><br /><i>“Such performance improvements as well as the code consolidations around the sequencer are of course very nice. It is interesting and satisfying to see that they are the result of building on top of previous work over the years by GSoC students, mentors and reviewers.”</i><br /><br /><br />“<a href="https://www.reactos.org/blogs/google-summer-code-2016-conclusion">Google Summer of Code 2016 Conclusion</a>” by <a href="https://github.com/AmineKhaldi">Amine Khaldi</a>, org admin for <a href="https://www.reactos.org/">ReactOS</a><br /><i>“Students stumble upon many of the same difficulties ReactOS' own senior developers encountered during their early days, including that ever painful but necessary step to using a proper debugger instead of relying on printf statements in the code.”</i><br /><br /><br />“<a href="http://blog.nelsonliu.me/2016/09/03/my-journey-in-open-source-how-to-get-started-contributing/">My Journey in Open Source / How to Get Started Contributing</a>” by&nbsp;<a href="http://nelsonliu.me/">Nelson Liu</a>, student who worked on&nbsp;<a href="http://scikit-learn.org/">scikit-learn</a>&nbsp;for&nbsp;<a href="https://www.python.org/psf/">PSF</a><br /><i>“The best way to get started is to simply jump in! There are a myriad of ways to contribute to an open source project. Obviously, writing code to fix bugs, add new features, or enhance existing ones are useful. However, you don't have to write code to help out!”</i><br /><br /><br />“<a href="https://ergl.github.io/gsoc2016.html">Lasp and the Google Summer of Code</a>” by <a href="https://twitter.com/brocooks">Borja o’Cook</a>, student who worked on <a href="http://lasp-lang.org/">Lasp</a> for <a href="http://beamcommunity.github.io/">BEAM Community</a><br /><i>“All in all, it's been an amazing experience. I've received a lot of support from my mentors and teammates; the Lasp team is full of incredible people.”</i><br /><br /><br />“<a href="http://teammatesonline.blogspot.sg/2016/10/gsoc-2016-students-in-teammates.html">GSoC 2016 Students in TEAMMATES</a>” by&nbsp;<a href="http://www.comp.nus.edu.sg/~damithch/">Damith C. Rajapakse</a>, org admin for&nbsp;<a href="http://teammatesv4.appspot.com/">TEAMMATES</a><br /><i>“We had our biggest batch of students (7 students) in GSoC 2016, selected from 93 proposals, and representing 4 countries and 4 universities, working on TEAMMATES (an online feedback management system for education) and related sub projects.”</i><br /><br /><br />“<a href="https://colan.consulting/blog/user-friendly-encryption-now-drupal-8">User-friendly encryption now in Drupal 8!</a>” by <a href="https://colan.consulting/">Colan Schwartz</a>, mentor for <a href="http://drupal.org/">Drupal</a><br /><i>“There were several students interested in the topic, and wrote proposals to match. <a href="http://talhaparacha.com/">Talha Paracha's</a> excellent proposal was accepted, and he began in earnest. With <a href="http://nerdstein.net/">Adam Bergstein</a> (nerdstein) and I mentoring him, Talha successfully worked through all phases of the project.”</i><br /><br /><br />“<a href="https://sanuj.github.io/gsoc-with-shogun.html">GSoC with Shogun</a>” by <a href="https://twitter.com/sanuj_sharma">Sanuj Sharma</a>, student who worked on <a href="http://www.shogun-toolbox.org/">Shogun</a><br /><i>“This was an excellent learning experience for me and I got to work with people from different countries (UK, Russia, Singapore, Germany) and cultures. I highly recommend students to participate in Google Summer of Code by looking for projects that interest them because having open source experience is highly beneficial, especially for programmers.”</i><br /><br /><br />We have <a href="https://opensource.googleblog.com/search/label/wrap-up">wrap-up posts</a> coming out every week so stay tuned for more. If you’re interested in participating in Google Summer of Code 2017, you can find <a href="https://goo.gl/3i75lA">details here</a>.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-blog-post-round-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Announcing the Google Code-in 2016 mentor organizations</title>
		<link>https://googledata.org/google-open-source/announcing-the-google-code-in-2016-mentor-organizations/</link>
		<comments>https://googledata.org/google-open-source/announcing-the-google-code-in-2016-mentor-organizations/#comments</comments>
		<pubDate>Mon, 07 Nov 2016 17:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=47e5387e993d2632a0793357aebf0174</guid>
		<description><![CDATA[We&#8217;re excited to introduce the 17 open source organizations that are participating as mentor organizations for <a href="http://g.co/gci">Google Code-in 2016</a>. The contest, now in its seventh year, gives 13-17 year old pre-university students the opportunity to learn under the guidance of mentors by using their skills on real world applications, that is, open source projects.<br /><div><br /></div><div><div><b>Google Code-in officially starts for students on November 28</b>, but students are encouraged to learn about the mentor organizations ahead of time and can get started by clicking on the links below.</div></div><div><br /></div><div><a href="https://2.bp.blogspot.com/-jCFyrYmDGwk/WBzX2ctOeOI/AAAAAAAAA_g/-WUQo7lWdsUgC8bfrE-S0z_0jGs5Qcf_wCLcB/s1600/GCI%2Bofficial%2Bvertical_1142x994dp.png"><img border="0" height="173" src="https://2.bp.blogspot.com/-jCFyrYmDGwk/WBzX2ctOeOI/AAAAAAAAA_g/-WUQo7lWdsUgC8bfrE-S0z_0jGs5Qcf_wCLcB/s200/GCI%2Bofficial%2Bvertical_1142x994dp.png" width="200"></a></div><div><br /></div><div><ul><li><a href="http://www.apertium.org/">Apertium</a> - rule-based machine translation platform</li><li><a href="https://brlcad.org/">BRL-CAD</a> - computer graphics, 2D and 3D geometry modeling, and computer-aided design (CAD)</li><li><a href="http://www.ccextractor.org/">CCExtractor</a> - open source tools for subtitle generation</li><li><a href="http://www.copyleftgames.org/">Copyleft Games</a> - building game development platforms for tomorrow</li><li><a href="https://drupal.org/">Drupal</a> - content management platform</li><li><a href="http://fossasia.org/">FOSSASIA</a> - developing communities across all ages and borders to form a better future with Open Technologies and ICT</li><li><a href="https://www.haiku-os.org/">Haiku</a> - operating system specifically targeting personal computing</li><li><a href="http://www.kde.org/">KDE</a> - team that creates Free Software for desktop and portable computing</li><li><a href="https://metabrainz.org/">MetaBrainz</a> - builds community maintained databases</li><li><a href="http://mifos.org/">Mifos Initiative</a> - transforming the delivery of financial services to the poor and the unbanked</li><li><a href="http://www.terasology.org/">MovingBlocks</a> - like an open source Minecraft</li><li><a href="http://openmrs.org/">OpenMRS</a> - open source medical records system for the world</li><li><a href="http://www.scorelab.org/">SCoRe</a> - research lab that seeks sustainable solutions for problems faced by developing countries</li><li><a href="http://www.sugarlabs.org/">Sugar Labs</a> - learning platform and activities for elementary education</li><li><a href="http://systers.org/">Systers</a> - community for women involved in the technical aspects of computing</li><li><a href="http://wikimediafoundation.org/">Wikimedia</a> - non-profit foundation dedicated to bringing free content to the world, operating Wikipedia</li><li><a href="https://zulip.org/">Zulip</a> - powerful, threaded open source group chat with apps for every major platform</li></ul></div><div><div>Mentor organizations are currently creating thousands of tasks for students covering code, documentation, user interface, quality assurance, outreach, research and training. The contest officially starts for students on <b>Monday, November 28th at 9:00am PST</b>.</div><div><br /></div><div>You can learn more about Google Code-in on the <a href="http://g.co/gci">contest site</a> where you&#8217;ll find <a href="https://developers.google.com/open-source/gci/resources/contest-rules">Contest Rules</a>, <a href="https://developers.google.com/open-source/gci/faq">Frequently Asked Questions</a> and <a href="https://developers.google.com/open-source/gci/timeline">Important Dates</a>. There you&#8217;ll also find flyers and other helpful information including the <a href="https://developers.google.com/open-source/gci/resources/getting-started">Getting Started Guide</a>. Our <a href="https://groups.google.com/forum/#!forum/gci-discuss">discussion</a> mailing list is a great way to talk with other students, mentors and organization administrators about the contest. For questions about eligibility or other general questions, you can contact us at <a href="mailto:gci-support@google.com">gci-support@google.com</a>.</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div><div><br /></div>]]></description>
				<content:encoded><![CDATA[We’re excited to introduce the 17 open source organizations that are participating as mentor organizations for <a href="http://g.co/gci">Google Code-in 2016</a>. The contest, now in its seventh year, gives 13-17 year old pre-university students the opportunity to learn under the guidance of mentors by using their skills on real world applications, that is, open source projects.<br /><div><br /></div><div><div><b>Google Code-in officially starts for students on November 28</b>, but students are encouraged to learn about the mentor organizations ahead of time and can get started by clicking on the links below.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-jCFyrYmDGwk/WBzX2ctOeOI/AAAAAAAAA_g/-WUQo7lWdsUgC8bfrE-S0z_0jGs5Qcf_wCLcB/s1600/GCI%2Bofficial%2Bvertical_1142x994dp.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="173" src="https://2.bp.blogspot.com/-jCFyrYmDGwk/WBzX2ctOeOI/AAAAAAAAA_g/-WUQo7lWdsUgC8bfrE-S0z_0jGs5Qcf_wCLcB/s200/GCI%2Bofficial%2Bvertical_1142x994dp.png" width="200" /></a></div><div><br /></div><div><ul><li><a href="http://www.apertium.org/">Apertium</a> - rule-based machine translation platform</li><li><a href="https://brlcad.org/">BRL-CAD</a> - computer graphics, 2D and 3D geometry modeling, and computer-aided design (CAD)</li><li><a href="http://www.ccextractor.org/">CCExtractor</a> - open source tools for subtitle generation</li><li><a href="http://www.copyleftgames.org/">Copyleft Games</a> - building game development platforms for tomorrow</li><li><a href="https://drupal.org/">Drupal</a> - content management platform</li><li><a href="http://fossasia.org/">FOSSASIA</a> - developing communities across all ages and borders to form a better future with Open Technologies and ICT</li><li><a href="https://www.haiku-os.org/">Haiku</a> - operating system specifically targeting personal computing</li><li><a href="http://www.kde.org/">KDE</a> - team that creates Free Software for desktop and portable computing</li><li><a href="https://metabrainz.org/">MetaBrainz</a> - builds community maintained databases</li><li><a href="http://mifos.org/">Mifos Initiative</a> - transforming the delivery of financial services to the poor and the unbanked</li><li><a href="http://www.terasology.org/">MovingBlocks</a> - like an open source Minecraft</li><li><a href="http://openmrs.org/">OpenMRS</a> - open source medical records system for the world</li><li><a href="http://www.scorelab.org/">SCoRe</a> - research lab that seeks sustainable solutions for problems faced by developing countries</li><li><a href="http://www.sugarlabs.org/">Sugar Labs</a> - learning platform and activities for elementary education</li><li><a href="http://systers.org/">Systers</a> - community for women involved in the technical aspects of computing</li><li><a href="http://wikimediafoundation.org/">Wikimedia</a> - non-profit foundation dedicated to bringing free content to the world, operating Wikipedia</li><li><a href="https://zulip.org/">Zulip</a> - powerful, threaded open source group chat with apps for every major platform</li></ul></div><div><div>Mentor organizations are currently creating thousands of tasks for students covering code, documentation, user interface, quality assurance, outreach, research and training. The contest officially starts for students on <b>Monday, November 28th at 9:00am PST</b>.</div><div><br /></div><div>You can learn more about Google Code-in on the <a href="http://g.co/gci">contest site</a> where you’ll find <a href="https://developers.google.com/open-source/gci/resources/contest-rules">Contest Rules</a>, <a href="https://developers.google.com/open-source/gci/faq">Frequently Asked Questions</a> and <a href="https://developers.google.com/open-source/gci/timeline">Important Dates</a>. There you’ll also find flyers and other helpful information including the <a href="https://developers.google.com/open-source/gci/resources/getting-started">Getting Started Guide</a>. Our <a href="https://groups.google.com/forum/#!forum/gci-discuss">discussion</a> mailing list is a great way to talk with other students, mentors and organization administrators about the contest. For questions about eligibility or other general questions, you can contact us at <a href="mailto:gci-support@google.com">gci-support@google.com</a>.</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div><div><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/announcing-the-google-code-in-2016-mentor-organizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Podcast to YouTube: an open source story</title>
		<link>https://googledata.org/youtube/podcast-to-youtube-an-open-source-story/</link>
		<comments>https://googledata.org/youtube/podcast-to-youtube-an-open-source-story/#comments</comments>
		<pubDate>Fri, 04 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=6d65b9b4732b42f746b7dc9fa36d180c</guid>
		<description><![CDATA[Almost a year ago <a href="https://twitter.com/Neurotic">Mark Mandel</a> and I started the <a href="https://www.gcppodcast.com/">Google Cloud Platform Podcast</a>, a weekly podcast that covers topics related to <a href="https://cloud.google.com/">Google Cloud Platform</a>, among other things. It's been a pretty successful podcast, but that&#8217;s not what I want to write about today.<br /><br />After a while we started receiving emails from listeners that wanted to access our podcast on YouTube. Even though this might seem strange for those that love podcasts and have their favorite app on their phones, we decided that the customer is always right: we should post every episode to YouTube.<br /><br /><b>Specifications</b><br /><br />Ok, so &#8230; how? Well, to create a video I need to merge the mp3 audio from an episode with a static image. Let's include the title of the episode and the Google Cloud Platform Podcast logo.<br /><br /><div><a href="http://4.bp.blogspot.com/-BKffPSfJobk/WBJX0BnPwRI/AAAAAAAAA9Q/DAm82F4H3UgWuFiSG9xG0qjVBlhgKNpPgCK4B/s1600/image01.png"><img border="0" height="250" src="https://4.bp.blogspot.com/-BKffPSfJobk/WBJX0BnPwRI/AAAAAAAAA9Q/DAm82F4H3UgWuFiSG9xG0qjVBlhgKNpPgCK4B/s400/image01.png" width="400"></a></div><br />But once we post the video to YouTube we're going to need more than that! We need a description, some tags, and probably a link to the episode (SEO FTW!).<br /><br />Where can we get that information from? Let's think about this for a minute. Where are others getting this information from? The RSS feed! Would it be possible to create a tool to which I could say "post the video for episode 46" and a couple minutes later the video appeared on YouTube? That'd be awesome! Let's do that!<br /><br /><b>Architecture</b><br /><br />The application I wrote parses an RSS feed and given the episodes to publish it downloads the metadata and audio for an episode, generates the corresponding videos, and pushes them to YouTube.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-5nd1XthjNsI/WBJX57F9DrI/AAAAAAAAA9Y/8qhiCAFwfDUPJtgFFzDtJlx_PjrlILD3wCK4B/s1600/image00.png"><img border="0" src="https://1.bp.blogspot.com/-5nd1XthjNsI/WBJX57F9DrI/AAAAAAAAA9Y/8qhiCAFwfDUPJtgFFzDtJlx_PjrlILD3wCK4B/s1600/image00.png"></a></td></tr><tr><td>Diagram of the flow of data in podcast-to-youtube</td></tr></tbody></table>The hardest parts here are the creation of the image and the video. The rest is sending HTTP requests right and left.<br /><br /><b>Image Maker: rendering images in pure Go</b><br /><br />After trying a couple of different tools I decided that the easiest was to create the image from scratch in Go using the <i>image</i> package from the standard library and a <a href="http://github.com/golang/freetype/truetype">freetype</a> library available on GitHub.<br /><br />Probably the most fun part was to be able to choose a font that would make the title fit the image correctly regardless of the length in characters. I ended up creating a loop that:<br /><ul><li>chooses a font and measures the width of the resulting text</li><li>if it's too wide, decreases the font size by one and repeats.</li></ul>Surprisingly, for me, this is actually a pretty common practice!<br /><br />It is also worth mentioning the way I test the package: Using a standard image that I compare to the one generated by the package, then showing a "diff" image where all the pixels that differ are highlighted in red.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://4.bp.blogspot.com/-9WZs9Wy2s2k/WBJYGsjB_zI/AAAAAAAAA9g/gNcGjOXrbMAFTwFSc9mQvq8t0OjY3sqlQCK4B/s1600/image02.png"><img border="0" height="225" src="https://4.bp.blogspot.com/-9WZs9Wy2s2k/WBJYGsjB_zI/AAAAAAAAA9g/gNcGjOXrbMAFTwFSc9mQvq8t0OjY3sqlQCK4B/s400/image02.png" width="400"></a></td></tr><tr><td>Diff image generated when using a wrong DPI.</td></tr></tbody></table>The code for this package is available <a href="https://github.com/campoy/podcast-to-youtube/tree/master/image">here</a>.<br /><br /><b>Video maker: ffmpeg is awesome</b><br /><br />From the beginning I knew I would end up using ffmpeg to create my video. Why? Well, because it is as simple as running this command:<br /><br /><pre>$ ffmpeg -i image.png -i audio.mp3 video.mp4</pre><br />Easy right? Well, this is once ffmpeg has been installed and correctly configured, which is actually not that simple and would make this tool hard to install on any machine.<br /><br />That's why the whole tool runs on Docker. Docker is a pretty widespread technology, and thanks to Makefile I'm able to provide a tool that can be run like this:<br /><br /><pre>$ make run</pre><br /><b>Conclusion</b><br /><br />It took me a couple of days to write the tool and get it to a point where I could open source it, but it was totally worth it. I know that others will be able to easily reuse it, or even extend it. Who knows, maybe this should be exposed as a web application so anyone can use it, no Docker or Makefile needed!<br /><br />I am currently using this tool weekly to upload the <a href="http://gcppodcast.com/">Google Cloud Platform Podcast</a> episodes to <a href="https://www.youtube.com/playlist?list=PLIivdWyY5sqJOTOszXDZh3XustjvTsrmQ">this playlist</a>, and you can find the whole code on this <a href="https://github.com/campoy/podcast-to-youtube/">GitHub repository</a>.<br /><br />Any questions? I'm <a href="https://twitter.com/francesc">@francesc</a> on Twitter.<br /><br /><i>By Francesc Campoy, Developer Advocate</i><br /><div><br /></div>]]></description>
				<content:encoded><![CDATA[Almost a year ago <a href="https://twitter.com/Neurotic">Mark Mandel</a> and I started the <a href="https://www.gcppodcast.com/">Google Cloud Platform Podcast</a>, a weekly podcast that covers topics related to <a href="https://cloud.google.com/">Google Cloud Platform</a>, among other things. It's been a pretty successful podcast, but that’s not what I want to write about today.<br /><br />After a while we started receiving emails from listeners that wanted to access our podcast on YouTube. Even though this might seem strange for those that love podcasts and have their favorite app on their phones, we decided that the customer is always right: we should post every episode to YouTube.<br /><br /><b>Specifications</b><br /><br />Ok, so … how? Well, to create a video I need to merge the mp3 audio from an episode with a static image. Let's include the title of the episode and the Google Cloud Platform Podcast logo.<br /><br /><div style="text-align: center;"><a href="http://4.bp.blogspot.com/-BKffPSfJobk/WBJX0BnPwRI/AAAAAAAAA9Q/DAm82F4H3UgWuFiSG9xG0qjVBlhgKNpPgCK4B/s1600/image01.png" imageanchor="1"><img border="0" height="250" src="https://4.bp.blogspot.com/-BKffPSfJobk/WBJX0BnPwRI/AAAAAAAAA9Q/DAm82F4H3UgWuFiSG9xG0qjVBlhgKNpPgCK4B/s400/image01.png" width="400" /></a></div><br />But once we post the video to YouTube we're going to need more than that! We need a description, some tags, and probably a link to the episode (SEO FTW!).<br /><br />Where can we get that information from? Let's think about this for a minute. Where are others getting this information from? The RSS feed! Would it be possible to create a tool to which I could say "post the video for episode 46" and a couple minutes later the video appeared on YouTube? That'd be awesome! Let's do that!<br /><br /><b>Architecture</b><br /><br />The application I wrote parses an RSS feed and given the episodes to publish it downloads the metadata and audio for an episode, generates the corresponding videos, and pushes them to YouTube.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-5nd1XthjNsI/WBJX57F9DrI/AAAAAAAAA9Y/8qhiCAFwfDUPJtgFFzDtJlx_PjrlILD3wCK4B/s1600/image00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://1.bp.blogspot.com/-5nd1XthjNsI/WBJX57F9DrI/AAAAAAAAA9Y/8qhiCAFwfDUPJtgFFzDtJlx_PjrlILD3wCK4B/s1600/image00.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Diagram of the flow of data in podcast-to-youtube</td></tr></tbody></table>The hardest parts here are the creation of the image and the video. The rest is sending HTTP requests right and left.<br /><br /><b>Image Maker: rendering images in pure Go</b><br /><br />After trying a couple of different tools I decided that the easiest was to create the image from scratch in Go using the <i>image</i> package from the standard library and a <a href="http://github.com/golang/freetype/truetype">freetype</a> library available on GitHub.<br /><br />Probably the most fun part was to be able to choose a font that would make the title fit the image correctly regardless of the length in characters. I ended up creating a loop that:<br /><ul><li>chooses a font and measures the width of the resulting text</li><li>if it's too wide, decreases the font size by one and repeats.</li></ul>Surprisingly, for me, this is actually a pretty common practice!<br /><br />It is also worth mentioning the way I test the package: Using a standard image that I compare to the one generated by the package, then showing a "diff" image where all the pixels that differ are highlighted in red.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-9WZs9Wy2s2k/WBJYGsjB_zI/AAAAAAAAA9g/gNcGjOXrbMAFTwFSc9mQvq8t0OjY3sqlQCK4B/s1600/image02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="225" src="https://4.bp.blogspot.com/-9WZs9Wy2s2k/WBJYGsjB_zI/AAAAAAAAA9g/gNcGjOXrbMAFTwFSc9mQvq8t0OjY3sqlQCK4B/s400/image02.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Diff image generated when using a wrong DPI.</td></tr></tbody></table>The code for this package is available <a href="https://github.com/campoy/podcast-to-youtube/tree/master/image">here</a>.<br /><br /><b>Video maker: ffmpeg is awesome</b><br /><br />From the beginning I knew I would end up using ffmpeg to create my video. Why? Well, because it is as simple as running this command:<br /><br /><pre>$ ffmpeg -i image.png -i audio.mp3 video.mp4</pre><br />Easy right? Well, this is once ffmpeg has been installed and correctly configured, which is actually not that simple and would make this tool hard to install on any machine.<br /><br />That's why the whole tool runs on Docker. Docker is a pretty widespread technology, and thanks to Makefile I'm able to provide a tool that can be run like this:<br /><br /><pre>$ make run</pre><br /><b>Conclusion</b><br /><br />It took me a couple of days to write the tool and get it to a point where I could open source it, but it was totally worth it. I know that others will be able to easily reuse it, or even extend it. Who knows, maybe this should be exposed as a web application so anyone can use it, no Docker or Makefile needed!<br /><br />I am currently using this tool weekly to upload the <a href="http://gcppodcast.com/">Google Cloud Platform Podcast</a> episodes to <a href="https://www.youtube.com/playlist?list=PLIivdWyY5sqJOTOszXDZh3XustjvTsrmQ">this playlist</a>, and you can find the whole code on this <a href="https://github.com/campoy/podcast-to-youtube/">GitHub repository</a>.<br /><br />Any questions? I'm <a href="https://twitter.com/francesc">@francesc</a> on Twitter.<br /><br /><i>By Francesc Campoy, Developer Advocate</i><br /><div><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/youtube/podcast-to-youtube-an-open-source-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Cilium: Networking and security for containers with BPF and XDP</title>
		<link>https://googledata.org/google-open-source/cilium-networking-and-security-for-containers-with-bpf-and-xdp/</link>
		<comments>https://googledata.org/google-open-source/cilium-networking-and-security-for-containers-with-bpf-and-xdp/#comments</comments>
		<pubDate>Wed, 02 Nov 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1392b79578b0103bb44d9c2232f18505</guid>
		<description><![CDATA[<i>This is a guest post by Daniel Borkmann who was recently recognized through the Google <a href="https://opensource.googleblog.com/2016/09/google-open-source-peer-bonus-program.html">Open Source Peer Bonus</a> program for his work on the Cilium project. We invited Daniel to share his project on our blog.</i><br /><i><br /></i>Our open source project, called <a href="https://github.com/cilium/cilium">Cilium</a>, started as an experiment for Linux container networking tackling four requirements:<br /><br /><ul><li><b>Scale:</b> How can we scale in terms of addressing and with regards to network policy?</li><li><b>Extensibility:</b> Can we be as extensible as user space networking in the Linux kernel itself?</li><li><b>Simplicity:</b> What is an appropriate abstraction away from traditional networking?</li><li><b>Performance:</b> Do we sacrifice performance in the process of implementing the aforementioned aspects?</li></ul><br />We realize these goals in Cilium with the help of <a href="https://en.wikipedia.org/wiki/Berkeley_Packet_Filter#Extensions_and_optimizations">eBPF</a>. eBPF is an efficient and generic in-kernel bytecode engine, that allows for full programmability. There are many subsystems in the Linux kernel that utilize eBPF, mainly in the areas of networking, tracing and security.<br /><br />eBPF can be attached to key ingress and egress points of the kernel's networking data path for every network device. As input, eBPF operates on the kernel's network packet representation and can thus access and mangle various kinds of data, redirect the packet to other devices, perform encapsulations, etc.<br /><br />This is a typical workflow: eBPF is programmed in a subset of C, compiled with <a href="https://en.wikipedia.org/wiki/LLVM">LLVM</a> which contains an eBPF back-end. LLVM then generates an ELF file containing program code, specification for maps and related relocation data. In eBPF, maps are efficient key/value stores in the kernel that can be shared between various eBPF programs, but also between user space. Given the ELF file, tools like <a href="https://en.wikipedia.org/wiki/Tc_(Linux)">tc</a> (traffic control) can parse its content and load the program into the kernel. Before the program is executed, the kernel verifies the eBPF bytecode in order to make sure that it cannot affect the kernel's stability (e.g. crash the kernel and out of bounds access) and always terminates, which requires programs to be free of loops. Once it passed verification, the program is <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT (just-in-time) compiled</a>.<br /><br />Today, architectures such as x86_64, arm64, ppc64 and s390 have the ability to compile a native opcode image out of an eBPF program, so that instead of an execution through an in-kernel eBPF interpreter, the resulting image can run natively like any other kernel code. tc then installs the program into the kernel's networking data path, and with a capable <a href="https://en.wikipedia.org/wiki/Network_interface_controller">NIC</a>, the program can also be offloaded entirely into the hardware.<br /><br /><div><a href="https://2.bp.blogspot.com/-6y5aHtw7yNo/WA5JT2nMGqI/AAAAAAAAA80/LRpuJFhi8HodKfHt8iZsEau3Io-LPY7QwCLcB/s1600/image00.png"><img border="0" height="426" src="https://2.bp.blogspot.com/-6y5aHtw7yNo/WA5JT2nMGqI/AAAAAAAAA80/LRpuJFhi8HodKfHt8iZsEau3Io-LPY7QwCLcB/s640/image00.png" width="640"></a></div><br />Cilium acts as a middle layer, plugs into container runtimes and orchestrators such as <a href="http://kubernetes.io/">Kubernetes</a>, <a href="https://en.wikipedia.org/wiki/Docker_(software)">Docker</a> or <a href="https://github.com/containernetworking/cni">CNI</a>, and can generate and atomically update eBPF programs on the fly without requiring a container to restart. Thus, unlike connection proxies, an update of the datapath does not cause connections to be dropped. These programs are specifically tailored and optimized for each container, for example, a feature that a particular container does not need can just be compiled out and the majority of configuration becomes constant, allowing LLVM for further optimizations.<br /><br />We have many implemented building blocks in Cilium using eBPF, such as <a href="https://en.wikipedia.org/wiki/NAT64">NAT64</a>, <a href="https://en.wikipedia.org/wiki/OSI_model">L3/L4</a> load balancing with direct server return, a connection tracker, port mapping, access control, NDisc and <a href="https://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</a> responder and integration with various encapsulations like <a href="https://en.wikipedia.org/wiki/Virtual_Extensible_LAN">VXLAN</a>, <a href="https://cto.vmware.com/geneve-vxlan-network-virtualization-encapsulations/">Geneve</a> and <a href="https://en.wikipedia.org/wiki/Generic_Routing_Encapsulation">GRE</a>, just to name a few. Since all these building blocks run in the Linux kernel and have a stable API, there is of course no need to cross kernel/user space boundary, which makes eBPF a perfectly suited and flexible technology for container networking.<br /><br />One step further in that direction is <a href="https://github.com/iovisor/bpf-docs/blob/master/Express_Data_Path.pdf">XDP</a>, which was recently merged into the Linux kernel and allows for <a href="https://en.wikipedia.org/wiki/Data_Plane_Development_Kit">DPDK-like</a> performance for the kernel itself. The basic idea is that XDP is tightly coupled with eBPF and hooks into a very early ingress path at the driver layer, where it operates with direct access to the packet's <a href="https://en.wikipedia.org/wiki/Direct_memory_access">DMA</a> buffer.<br /><br />This is effectively as low-level as it can get to reach near-optimal performance, which mainly allows for tailoring high-performance load balancers or routers with commodity hardware. One advantage that comes with XDP is also that it reuses the kernel's security model for accessing the device as opposed to user space based mechanisms. It doesn't require any third party modules and works in concert with the Linux kernel. Both XDP and tc with eBPF are complementary to each other, and constitute a bigger piece of the puzzle for Cilium itself.<br /><br />If you&#8217;re curious, check out the Cilium code or demos on <a href="https://github.com/cilium/cilium">GitHub</a>.<br /><br /><br /><i>By Daniel Borkmann, Cilium contributor</i>]]></description>
				<content:encoded><![CDATA[<i>This is a guest post by Daniel Borkmann who was recently recognized through the Google <a href="https://opensource.googleblog.com/2016/09/google-open-source-peer-bonus-program.html">Open Source Peer Bonus</a> program for his work on the Cilium project. We invited Daniel to share his project on our blog.</i><br /><i><br /></i>Our open source project, called <a href="https://github.com/cilium/cilium">Cilium</a>, started as an experiment for Linux container networking tackling four requirements:<br /><br /><ul><li><b>Scale:</b> How can we scale in terms of addressing and with regards to network policy?</li><li><b>Extensibility:</b> Can we be as extensible as user space networking in the Linux kernel itself?</li><li><b>Simplicity:</b> What is an appropriate abstraction away from traditional networking?</li><li><b>Performance:</b> Do we sacrifice performance in the process of implementing the aforementioned aspects?</li></ul><br />We realize these goals in Cilium with the help of <a href="https://en.wikipedia.org/wiki/Berkeley_Packet_Filter#Extensions_and_optimizations">eBPF</a>. eBPF is an efficient and generic in-kernel bytecode engine, that allows for full programmability. There are many subsystems in the Linux kernel that utilize eBPF, mainly in the areas of networking, tracing and security.<br /><br />eBPF can be attached to key ingress and egress points of the kernel's networking data path for every network device. As input, eBPF operates on the kernel's network packet representation and can thus access and mangle various kinds of data, redirect the packet to other devices, perform encapsulations, etc.<br /><br />This is a typical workflow: eBPF is programmed in a subset of C, compiled with <a href="https://en.wikipedia.org/wiki/LLVM">LLVM</a> which contains an eBPF back-end. LLVM then generates an ELF file containing program code, specification for maps and related relocation data. In eBPF, maps are efficient key/value stores in the kernel that can be shared between various eBPF programs, but also between user space. Given the ELF file, tools like <a href="https://en.wikipedia.org/wiki/Tc_(Linux)">tc</a> (traffic control) can parse its content and load the program into the kernel. Before the program is executed, the kernel verifies the eBPF bytecode in order to make sure that it cannot affect the kernel's stability (e.g. crash the kernel and out of bounds access) and always terminates, which requires programs to be free of loops. Once it passed verification, the program is <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT (just-in-time) compiled</a>.<br /><br />Today, architectures such as x86_64, arm64, ppc64 and s390 have the ability to compile a native opcode image out of an eBPF program, so that instead of an execution through an in-kernel eBPF interpreter, the resulting image can run natively like any other kernel code. tc then installs the program into the kernel's networking data path, and with a capable <a href="https://en.wikipedia.org/wiki/Network_interface_controller">NIC</a>, the program can also be offloaded entirely into the hardware.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-6y5aHtw7yNo/WA5JT2nMGqI/AAAAAAAAA80/LRpuJFhi8HodKfHt8iZsEau3Io-LPY7QwCLcB/s1600/image00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://2.bp.blogspot.com/-6y5aHtw7yNo/WA5JT2nMGqI/AAAAAAAAA80/LRpuJFhi8HodKfHt8iZsEau3Io-LPY7QwCLcB/s640/image00.png" width="640" /></a></div><br />Cilium acts as a middle layer, plugs into container runtimes and orchestrators such as <a href="http://kubernetes.io/">Kubernetes</a>, <a href="https://en.wikipedia.org/wiki/Docker_(software)">Docker</a> or <a href="https://github.com/containernetworking/cni">CNI</a>, and can generate and atomically update eBPF programs on the fly without requiring a container to restart. Thus, unlike connection proxies, an update of the datapath does not cause connections to be dropped. These programs are specifically tailored and optimized for each container, for example, a feature that a particular container does not need can just be compiled out and the majority of configuration becomes constant, allowing LLVM for further optimizations.<br /><br />We have many implemented building blocks in Cilium using eBPF, such as <a href="https://en.wikipedia.org/wiki/NAT64">NAT64</a>, <a href="https://en.wikipedia.org/wiki/OSI_model">L3/L4</a> load balancing with direct server return, a connection tracker, port mapping, access control, NDisc and <a href="https://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</a> responder and integration with various encapsulations like <a href="https://en.wikipedia.org/wiki/Virtual_Extensible_LAN">VXLAN</a>, <a href="https://cto.vmware.com/geneve-vxlan-network-virtualization-encapsulations/">Geneve</a> and <a href="https://en.wikipedia.org/wiki/Generic_Routing_Encapsulation">GRE</a>, just to name a few. Since all these building blocks run in the Linux kernel and have a stable API, there is of course no need to cross kernel/user space boundary, which makes eBPF a perfectly suited and flexible technology for container networking.<br /><br />One step further in that direction is <a href="https://github.com/iovisor/bpf-docs/blob/master/Express_Data_Path.pdf">XDP</a>, which was recently merged into the Linux kernel and allows for <a href="https://en.wikipedia.org/wiki/Data_Plane_Development_Kit">DPDK-like</a> performance for the kernel itself. The basic idea is that XDP is tightly coupled with eBPF and hooks into a very early ingress path at the driver layer, where it operates with direct access to the packet's <a href="https://en.wikipedia.org/wiki/Direct_memory_access">DMA</a> buffer.<br /><br />This is effectively as low-level as it can get to reach near-optimal performance, which mainly allows for tailoring high-performance load balancers or routers with commodity hardware. One advantage that comes with XDP is also that it reuses the kernel's security model for accessing the device as opposed to user space based mechanisms. It doesn't require any third party modules and works in concert with the Linux kernel. Both XDP and tc with eBPF are complementary to each other, and constitute a bigger piece of the puzzle for Cilium itself.<br /><br />If you’re curious, check out the Cilium code or demos on <a href="https://github.com/cilium/cilium">GitHub</a>.<br /><br /><br /><i>By Daniel Borkmann, Cilium contributor</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/cilium-networking-and-security-for-containers-with-bpf-and-xdp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Using TensorFlow and JupyterHub in Classrooms</title>
		<link>https://googledata.org/google-open-source/using-tensorflow-and-jupyterhub-in-classrooms/</link>
		<comments>https://googledata.org/google-open-source/using-tensorflow-and-jupyterhub-in-classrooms/#comments</comments>
		<pubDate>Mon, 31 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=87018e9809aeac1a1a4249347cbdd7b2</guid>
		<description><![CDATA[We&#8217;ve <a href="https://cloud.google.com/solutions/using-tensorflow-jupyterhub-classrooms">published a new solution</a> and a <a href="https://github.com/googlecloudplatform/gke-jupyter-classroom">companion GitHub repository</a> that guides you through setting up a <a href="https://cloud.google.com/container-engine/">Google Container Engine</a> cluster to run <a href="https://github.com/jupyterhub/jupyterhub">JupyterHub</a> to automatically provision secure Jupyter containers for each user in a classroom or team. Don&#8217;t let the title of this article mislead you, not only does it use <a href="https://www.tensorflow.org/">TensorFlow</a> and JupyterHub, it&#8217;s actually an open source and cloud smorgasbord based on the <a href="http://jupyter.org/">Jupyter</a> and <a href="http://kubernetes.io/docs/whatisk8s">Kubernetes</a> platforms. <br /><br /><a href="http://2.bp.blogspot.com/-gqAHmzK3WSg/WAU7bLM2ZiI/AAAAAAAAA8Y/f7FygsDoTc0cfsoorZ3EZSM2YGMRUz4UwCK4B/s1600/image00.png"><img border="0" height="273" src="https://2.bp.blogspot.com/-gqAHmzK3WSg/WAU7bLM2ZiI/AAAAAAAAA8Y/f7FygsDoTc0cfsoorZ3EZSM2YGMRUz4UwCK4B/s640/image00.png" width="640"></a><br /><br />Jupyter is a powerful open source technology that gives you a platform to write and execute code to analyze, visualize and share the discoveries you find in your big data set. You can download a number of different <a href="https://github.com/jupyter/docker-stacks">Docker images</a> preconfigured with many different notebook extensions and software packages to help you on any kind of data-science quest.<br /><br />If you&#8217;re exploring on your own, and really want to get started quickly, you can get this all running on your local computer, but what if you want to take your expertise and lead a classroom of people along the same path? You have to either configure everything for them or walk them through configuring their own machines with all the required software.<br /><br />This is where JupyterHub comes in, as a management layer in front of Jupyter instances, allowing you to configure users, using <a href="https://github.com/jupyterhub/jupyterhub/wiki/Authenticators">custom authentication</a>, and giving you a <a href="https://github.com/jupyterhub/jupyterhub/wiki/Spawners">Python interface to spawn new Jupyter instances</a> for each user. Even with JupyterHub, you still need a way to provision physical and virtual hardware for the students.<br /><br />Enter Kubernetes, an open source system for automating deploying, scaling and managing containerized applications. <a href="https://cloud.google.com/container-engine/">Google Container Engine</a> is a fully managed service based on Kubernetes, allowing you to create clusters easily on <a href="https://cloud.google.com/">Google Cloud Platform</a>.<br /><br />This solution comes with a <a href="https://github.com/sveesible/jupyterhub-kubernetes-spawner">JupyterHub Spawner class</a> that allows it to create Kubernetes Pods, which are Docker images running Jupyter, for each user. It also comes with all the automation scripts required to create a Container Engine cluster and let you easily customize your setup.<br /><br />When your students log into JupyterHub using <a href="https://developers.google.com/identity/protocols/OAuth2WebServer">Google OAuth2</a>, they can choose from a list of several pre-built Jupyter images, including a newly updated &#8220;datalab-jupyter&#8221; image, which comes with the <a href="https://github.com/googledatalab/pydatalab">Google Datalab open source notebook extension</a> enabling integration with <a href="https://cloud.google.com/bigquery/">BigQuery</a>, <a href="https://cloud.google.com/ml/">Google Cloud ML</a>, <a href="https://cloud.google.com/monitoring/api/v3/">StackDriver</a>, and it also has TensorFlow and the <a href="https://github.com/apache/incubator-beam/tree/python-sdk/sdks/python">Apache Beam Python SDK</a> for Google Cloud DataFlow installed. &#160;Users can also choose to run any of the pre-configured <a href="https://github.com/jupyter/docker-stacks">Jupyter docker-stack images</a>, or you can build your own Docker images to run any special libraries or Jupyter configurations you want.<br /><br />We hope that this solution allows you to get your classroom or team environment running quickly so you can focus on learning rather than configuring machines.<br /><br /><i>By Brad Svee, Cloud Solutions Architect</i>]]></description>
				<content:encoded><![CDATA[We’ve <a href="https://cloud.google.com/solutions/using-tensorflow-jupyterhub-classrooms">published a new solution</a> and a <a href="https://github.com/googlecloudplatform/gke-jupyter-classroom">companion GitHub repository</a> that guides you through setting up a <a href="https://cloud.google.com/container-engine/">Google Container Engine</a> cluster to run <a href="https://github.com/jupyterhub/jupyterhub">JupyterHub</a> to automatically provision secure Jupyter containers for each user in a classroom or team. Don’t let the title of this article mislead you, not only does it use <a href="https://www.tensorflow.org/">TensorFlow</a> and JupyterHub, it’s actually an open source and cloud smorgasbord based on the <a href="http://jupyter.org/">Jupyter</a> and <a href="http://kubernetes.io/docs/whatisk8s">Kubernetes</a> platforms. <br /><br /><a href="http://2.bp.blogspot.com/-gqAHmzK3WSg/WAU7bLM2ZiI/AAAAAAAAA8Y/f7FygsDoTc0cfsoorZ3EZSM2YGMRUz4UwCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="273" src="https://2.bp.blogspot.com/-gqAHmzK3WSg/WAU7bLM2ZiI/AAAAAAAAA8Y/f7FygsDoTc0cfsoorZ3EZSM2YGMRUz4UwCK4B/s640/image00.png" width="640" /></a><br /><br />Jupyter is a powerful open source technology that gives you a platform to write and execute code to analyze, visualize and share the discoveries you find in your big data set. You can download a number of different <a href="https://github.com/jupyter/docker-stacks">Docker images</a> preconfigured with many different notebook extensions and software packages to help you on any kind of data-science quest.<br /><br />If you’re exploring on your own, and really want to get started quickly, you can get this all running on your local computer, but what if you want to take your expertise and lead a classroom of people along the same path? You have to either configure everything for them or walk them through configuring their own machines with all the required software.<br /><br />This is where JupyterHub comes in, as a management layer in front of Jupyter instances, allowing you to configure users, using <a href="https://github.com/jupyterhub/jupyterhub/wiki/Authenticators">custom authentication</a>, and giving you a <a href="https://github.com/jupyterhub/jupyterhub/wiki/Spawners">Python interface to spawn new Jupyter instances</a> for each user. Even with JupyterHub, you still need a way to provision physical and virtual hardware for the students.<br /><br />Enter Kubernetes, an open source system for automating deploying, scaling and managing containerized applications. <a href="https://cloud.google.com/container-engine/">Google Container Engine</a> is a fully managed service based on Kubernetes, allowing you to create clusters easily on <a href="https://cloud.google.com/">Google Cloud Platform</a>.<br /><br />This solution comes with a <a href="https://github.com/sveesible/jupyterhub-kubernetes-spawner">JupyterHub Spawner class</a> that allows it to create Kubernetes Pods, which are Docker images running Jupyter, for each user. It also comes with all the automation scripts required to create a Container Engine cluster and let you easily customize your setup.<br /><br />When your students log into JupyterHub using <a href="https://developers.google.com/identity/protocols/OAuth2WebServer">Google OAuth2</a>, they can choose from a list of several pre-built Jupyter images, including a newly updated “datalab-jupyter” image, which comes with the <a href="https://github.com/googledatalab/pydatalab">Google Datalab open source notebook extension</a> enabling integration with <a href="https://cloud.google.com/bigquery/">BigQuery</a>, <a href="https://cloud.google.com/ml/">Google Cloud ML</a>, <a href="https://cloud.google.com/monitoring/api/v3/">StackDriver</a>, and it also has TensorFlow and the <a href="https://github.com/apache/incubator-beam/tree/python-sdk/sdks/python">Apache Beam Python SDK</a> for Google Cloud DataFlow installed. &nbsp;Users can also choose to run any of the pre-configured <a href="https://github.com/jupyter/docker-stacks">Jupyter docker-stack images</a>, or you can build your own Docker images to run any special libraries or Jupyter configurations you want.<br /><br />We hope that this solution allows you to get your classroom or team environment running quickly so you can focus on learning rather than configuring machines.<br /><br /><i>By Brad Svee, Cloud Solutions Architect</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/using-tensorflow-and-jupyterhub-in-classrooms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Dart in 2017 and beyond</title>
		<link>https://googledata.org/google-open-source/dart-in-2017-and-beyond/</link>
		<comments>https://googledata.org/google-open-source/dart-in-2017-and-beyond/#comments</comments>
		<pubDate>Wed, 26 Oct 2016 09:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=49b8981b47f95cdbd6e724338753bda6</guid>
		<description><![CDATA[We&#8217;re here at the <a href="https://events.dartlang.org/2016/summit/">Dart Developer Summit</a> in Munich, Germany. Over 250 developers from more than 50 companies from all over the world just finished watching the keynote.<br /><br />This is a summary of the topics we covered:<br /><br />Dart is the fastest growing programming language at Google, with a 3.5x increase in lines of code since last year. We like to think that this is because of our focus on developer productivity: teams report 25% to 100% increase in speed of development. Google has bet its biggest business on Dart &#8212; the web apps built on Dart bring over $70B per year.<br /><br />Google AdSense recently launched a <a href="http://news.dartlang.org/2016/10/google-adsense-angular-dart.html">ground-up redesign</a> of their web app, built with Dart. Earlier this year, we <a href="http://news.dartlang.org/2016/03/the-new-adwords-ui-uses-dart-we-asked.html">announced</a> that the next generation of AdWords is built with Dart. There are more exciting Dart products at Google that we&#8217;re looking forward to reveal. Outside Google, companies such as Wrike, Workiva, Soundtrap, Blossom, DG Logic, Sonar Design have all been using and enjoying Dart for years.<br /><br />Our five year investment in this language is reaping fruit. But we&#8217;re not finished.<br /><br />We learned that people who use Dart love its terse and readable syntax. So we&#8217;re keeping that.<br /><br />We have also learned that Dart developers really enjoy the language&#8217;s powerful static analysis. So we&#8217;re making it better. With strong mode, Dart&#8217;s type system becomes sound (meaning that it rejects all incorrect programs). We&#8217;re also introducing support for generic methods.<br /><br />We have validated that the programming language itself is just a part of the puzzle. Dart comes with &#8216;batteries included.&#8217; Developers really like Dart&#8217;s core libraries &#8212; we will keep them tight, efficient and comprehensive. We will also continue to invest in tooling such as pub (our integrated packaging system), dartfmt (our automatic formatter) and, of course, the analyzer.<br /><br />On the web, we have arrived at a framework that is an excellent fit for Dart: <a href="http://news.dartlang.org/2016/07/angulardart-is-going-all-dart.html">AngularDart</a>. All the Google web apps mentioned above use it. It has been in production at Google since February. AngularDart is designed for Dart, and it&#8217;s getting better every week. In the past 4 months, AngularDart&#8217;s output has gotten 40% smaller, and our AngularDart web apps got 15% faster.<br /><br />Today, we&#8217;re launching AngularDart 2.0 final. Tune in to the next session.<br /><br />With that, we&#8217;re also releasing &#8212; as a developer preview &#8212; the AngularDart components that Google uses for its major web apps. These Material Design widgets are being developed by hundreds of Google engineers and are thoroughly tested. They are written purely in Dart.<br /><br />We&#8217;re also making Dart easier to use with existing JavaScript libraries. For example, you will be able to use our tool to convert TypeScript .d.ts declarations into Dart libraries.<br /><br />We&#8217;re making the development cycle much faster. Thanks to Dart Dev Compiler, compilation to JavaScript will take less than a second across all modern browsers.<br /><br />We believe all this makes Dart an even better choice for web development than before. Dart has been here for a long time and it&#8217;s not going anywhere. It&#8217;s cohesive and dependable, which is what a lot of web developers want.<br /><br />We&#8217;re also very excited about <a href="https://flutter.io/">Flutter</a> &#8212; a project to help developers build high-performance, high-fidelity, mobile apps for iOS and Android from a single codebase in Dart. More on that tomorrow.<br /><br />We hope you&#8217;ll enjoy these coming two days. Tune in on the <a href="https://www.youtube.com/watch?v=6X2jk5---hk">live stream</a> or follow <a href="https://twitter.com/search?q=%23dartsummit&#38;src=typd">#dartsummit</a> on Twitter.<br /><br /><i>By Filip Hracek, Developer Relations Program Manager</i>]]></description>
				<content:encoded><![CDATA[We’re here at the <a href="https://events.dartlang.org/2016/summit/">Dart Developer Summit</a> in Munich, Germany. Over 250 developers from more than 50 companies from all over the world just finished watching the keynote.<br /><br />This is a summary of the topics we covered:<br /><br />Dart is the fastest growing programming language at Google, with a 3.5x increase in lines of code since last year. We like to think that this is because of our focus on developer productivity: teams report 25% to 100% increase in speed of development. Google has bet its biggest business on Dart — the web apps built on Dart bring over $70B per year.<br /><br />Google AdSense recently launched a <a href="http://news.dartlang.org/2016/10/google-adsense-angular-dart.html">ground-up redesign</a> of their web app, built with Dart. Earlier this year, we <a href="http://news.dartlang.org/2016/03/the-new-adwords-ui-uses-dart-we-asked.html">announced</a> that the next generation of AdWords is built with Dart. There are more exciting Dart products at Google that we’re looking forward to reveal. Outside Google, companies such as Wrike, Workiva, Soundtrap, Blossom, DG Logic, Sonar Design have all been using and enjoying Dart for years.<br /><br />Our five year investment in this language is reaping fruit. But we’re not finished.<br /><br />We learned that people who use Dart love its terse and readable syntax. So we’re keeping that.<br /><br />We have also learned that Dart developers really enjoy the language’s powerful static analysis. So we’re making it better. With strong mode, Dart’s type system becomes sound (meaning that it rejects all incorrect programs). We’re also introducing support for generic methods.<br /><br />We have validated that the programming language itself is just a part of the puzzle. Dart comes with ‘batteries included.’ Developers really like Dart’s core libraries — we will keep them tight, efficient and comprehensive. We will also continue to invest in tooling such as pub (our integrated packaging system), dartfmt (our automatic formatter) and, of course, the analyzer.<br /><br />On the web, we have arrived at a framework that is an excellent fit for Dart: <a href="http://news.dartlang.org/2016/07/angulardart-is-going-all-dart.html">AngularDart</a>. All the Google web apps mentioned above use it. It has been in production at Google since February. AngularDart is designed for Dart, and it’s getting better every week. In the past 4 months, AngularDart’s output has gotten 40% smaller, and our AngularDart web apps got 15% faster.<br /><br />Today, we’re launching AngularDart 2.0 final. Tune in to the next session.<br /><br />With that, we’re also releasing — as a developer preview — the AngularDart components that Google uses for its major web apps. These Material Design widgets are being developed by hundreds of Google engineers and are thoroughly tested. They are written purely in Dart.<br /><br />We’re also making Dart easier to use with existing JavaScript libraries. For example, you will be able to use our tool to convert TypeScript .d.ts declarations into Dart libraries.<br /><br />We’re making the development cycle much faster. Thanks to Dart Dev Compiler, compilation to JavaScript will take less than a second across all modern browsers.<br /><br />We believe all this makes Dart an even better choice for web development than before. Dart has been here for a long time and it’s not going anywhere. It’s cohesive and dependable, which is what a lot of web developers want.<br /><br />We’re also very excited about <a href="https://flutter.io/">Flutter</a> — a project to help developers build high-performance, high-fidelity, mobile apps for iOS and Android from a single codebase in Dart. More on that tomorrow.<br /><br />We hope you’ll enjoy these coming two days. Tune in on the <a href="https://www.youtube.com/watch?v=6X2jk5---hk">live stream</a> or follow <a href="https://twitter.com/search?q=%23dartsummit&amp;src=typd">#dartsummit</a> on Twitter.<br /><br /><i>By Filip Hracek, Developer Relations Program Manager</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/dart-in-2017-and-beyond/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: GNU Radio</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-gnu-radio/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-gnu-radio/#comments</comments>
		<pubDate>Tue, 25 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=a7ab8174580747d9a17888bae92c483f</guid>
		<description><![CDATA[<i>This post is the third installment in our series of wrap-up posts reflecting on <a href="http://g.co/gsoc">Google Summer of Code</a>&#160;2016. Check out the <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first</a> and <a href="http://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-nrnb.html">second</a> posts in the series.</i><br /><br /><i>Originally posted on <a href="http://gnuradio.org/blog/summer-of-code-2016-wrapping-it-up/">GNU Radio Blog</a></i><br /><br />The summer has come to an end -- along with the Summer of Code for <a href="http://gnuradio.org/">GNU Radio</a>. It was a great season in terms of student participation, and as the students are preparing their last commits, this seems a good time to summarize their efforts.<br /><br />All students presented their work (either in person, or via poster) at this year&#8217;s <a href="http://gnuradio.org/grcon-2016/">GNU Radio Conference</a> in Boulder, Colorado.<br /><br /><b>gr-inspector</b><br /><br />With gr-inspector, GNU Radio now has its own out-of-tree module, which serves as a repository for signal analysis algorithms, but also as a collection of fantastic examples. This module was created and worked on by Sebastian M&#252;ller, who was funded by <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC), and Christopher Richardson, who participated as a <a href="http://sophia.estec.esa.int/socis/">Summer of Code in Space</a> (SOCIS) student funded by the <a href="http://www.esa.int/ESA">European Space Agency</a>. Sebastian also created a video demonstrating some of the features:<br /><br /> <br />Both <a href="https://grinspector.wordpress.com/2016/08/19/week-13-the-end/">Sebastian</a> and <a href="https://signalsintelligence.wordpress.com/2016/08/31/socis-summary/">Chris</a> have written up their efforts on their own blogs.<br /><br /><b>PyBOMBS GUI</b><br /><br />Ravi Sharan was our other GSoC student, primarily working on a GUI for <a href="http://pybombs.info/">PyBOMBS</a>, our installation helper tool. Ravi also worked on a bunch of other things, and has <a href="http://ninjacomics.github.io/radioblogr/2016/08/gsoc_final_eval.html">summarized his efforts as well</a>.<br /><br />The PyBOMBS GUI is written in <a href="https://www.qt.io/">Qt</a>, and is a nice extension to our out-of-tree module ecosystem:<br /><br /><div><a href="http://2.bp.blogspot.com/-KO6rvADwwt0/WAUJQsVoHsI/AAAAAAAAA78/EKu5xbY2jYQVCjGwBBIBEAt3w18Df_FqwCK4B/s1600/image00.png"><img border="0" height="225" src="https://2.bp.blogspot.com/-KO6rvADwwt0/WAUJQsVoHsI/AAAAAAAAA78/EKu5xbY2jYQVCjGwBBIBEAt3w18Df_FqwCK4B/s400/image00.png" width="400"></a></div><br />While some developers prefer the comfort of their command line environments, we hope that the PyBOMBS GUI will ease the entry for more new developers. The GUI ties in nicely with <a href="http://cgran.org/">CGRAN</a>, and with the correct setup, users can directly launch installation of out-of-tree modules from their browser.<br /><br /><b>Want to participate? Have ideas?</b><br /><br />We will definitely apply for GSoC and SOCIS again next year! If you want to participate as a student, it helps a lot to get involved with the community early on. We also recommend you sign up for the mailing list, and get involved with GNU Radio by using it, reporting and fixing issues, or even publishing your own out-of-tree module. For more ideas, take a look at our <a href="http://gnuradio.org/redmine/projects/gnuradio/wiki/GSoC">summer of code wiki pages</a>.<br /><br />If you simply have ideas for future projects, those are welcome too! Suggest those on the mailing list, or simply edit the wiki page.<br /><br /><i>By <a href="https://twitter.com/braun_noise">Martin Braun</a>, Organization Administrator for GNU Radio</i>]]></description>
				<content:encoded><![CDATA[<i>This post is the third installment in our series of wrap-up posts reflecting on <a href="http://g.co/gsoc">Google Summer of Code</a>&nbsp;2016. Check out the <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first</a> and <a href="http://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-nrnb.html">second</a> posts in the series.</i><br /><br /><i>Originally posted on <a href="http://gnuradio.org/blog/summer-of-code-2016-wrapping-it-up/">GNU Radio Blog</a></i><br /><br />The summer has come to an end -- along with the Summer of Code for <a href="http://gnuradio.org/">GNU Radio</a>. It was a great season in terms of student participation, and as the students are preparing their last commits, this seems a good time to summarize their efforts.<br /><br />All students presented their work (either in person, or via poster) at this year’s <a href="http://gnuradio.org/grcon-2016/">GNU Radio Conference</a> in Boulder, Colorado.<br /><br /><b>gr-inspector</b><br /><br />With gr-inspector, GNU Radio now has its own out-of-tree module, which serves as a repository for signal analysis algorithms, but also as a collection of fantastic examples. This module was created and worked on by Sebastian Müller, who was funded by <a href="https://g.co/gsoc">Google Summer of Code</a> (GSoC), and Christopher Richardson, who participated as a <a href="http://sophia.estec.esa.int/socis/">Summer of Code in Space</a> (SOCIS) student funded by the <a href="http://www.esa.int/ESA">European Space Agency</a>. Sebastian also created a video demonstrating some of the features:<br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/9i9FE73B_U0" width="560"></iframe> <br />Both <a href="https://grinspector.wordpress.com/2016/08/19/week-13-the-end/">Sebastian</a> and <a href="https://signalsintelligence.wordpress.com/2016/08/31/socis-summary/">Chris</a> have written up their efforts on their own blogs.<br /><br /><b>PyBOMBS GUI</b><br /><br />Ravi Sharan was our other GSoC student, primarily working on a GUI for <a href="http://pybombs.info/">PyBOMBS</a>, our installation helper tool. Ravi also worked on a bunch of other things, and has <a href="http://ninjacomics.github.io/radioblogr/2016/08/gsoc_final_eval.html">summarized his efforts as well</a>.<br /><br />The PyBOMBS GUI is written in <a href="https://www.qt.io/">Qt</a>, and is a nice extension to our out-of-tree module ecosystem:<br /><br /><div style="text-align: center;"><a href="http://2.bp.blogspot.com/-KO6rvADwwt0/WAUJQsVoHsI/AAAAAAAAA78/EKu5xbY2jYQVCjGwBBIBEAt3w18Df_FqwCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="225" src="https://2.bp.blogspot.com/-KO6rvADwwt0/WAUJQsVoHsI/AAAAAAAAA78/EKu5xbY2jYQVCjGwBBIBEAt3w18Df_FqwCK4B/s400/image00.png" width="400" /></a></div><br />While some developers prefer the comfort of their command line environments, we hope that the PyBOMBS GUI will ease the entry for more new developers. The GUI ties in nicely with <a href="http://cgran.org/">CGRAN</a>, and with the correct setup, users can directly launch installation of out-of-tree modules from their browser.<br /><br /><b>Want to participate? Have ideas?</b><br /><br />We will definitely apply for GSoC and SOCIS again next year! If you want to participate as a student, it helps a lot to get involved with the community early on. We also recommend you sign up for the mailing list, and get involved with GNU Radio by using it, reporting and fixing issues, or even publishing your own out-of-tree module. For more ideas, take a look at our <a href="http://gnuradio.org/redmine/projects/gnuradio/wiki/GSoC">summer of code wiki pages</a>.<br /><br />If you simply have ideas for future projects, those are welcome too! Suggest those on the mailing list, or simply edit the wiki page.<br /><br /><i>By <a href="https://twitter.com/braun_noise">Martin Braun</a>, Organization Administrator for GNU Radio</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-gnu-radio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Code-in 2016 now accepting organization applications</title>
		<link>https://googledata.org/google-open-source/google-code-in-2016-now-accepting-organization-applications/</link>
		<comments>https://googledata.org/google-open-source/google-code-in-2016-now-accepting-organization-applications/#comments</comments>
		<pubDate>Mon, 24 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=7964be2fb1a1533654a66ab53ef93807</guid>
		<description><![CDATA[<div><a href="http://2.bp.blogspot.com/-kRfN-XGLh7A/WAg9J84kxgI/AAAAAAAAA8o/-voN36AR_WEpbikQh6SVDGSzVz2kx4cWgCK4B/s1600/image00.png"><img border="0" height="130" src="https://2.bp.blogspot.com/-kRfN-XGLh7A/WAg9J84kxgI/AAAAAAAAA8o/-voN36AR_WEpbikQh6SVDGSzVz2kx4cWgCK4B/s400/image00.png" width="400"></a></div><br /><a href="http://g.co/gci">Google Code-in</a> is our global online contest that invites pre-university students ages 13-17 to learn by contributing to open source software. The contest begins its 7th year on November 28th, 2016. With the start date of the contest rapidly approaching, we are now accepting applications for open source projects interested in being a part of Google Code-in.<br /><br />Working with young students is a special responsibility and each year we hear inspiring stories from mentors who participate. To ensure these new, young contributors have a great support system, we select organizations that have gained experience in mentoring students by previously taking part in <a href="http://g.co/gsoc">Google Summer of Code</a>.<br /><br />There were <a href="https://codein.withgoogle.com/archive/2015/organization/">14 organizations</a> in 2015 that collectively created thousands of <a href="https://developers.google.com/open-source/gci/resources/example-tasks">bite-sized tasks</a> for students to choose from. Tasks are created in 5 categories:<br /><br /><ul><li>Code: writing or refactoring&#160;</li><li>Documentation/Training: creating/editing documents and helping others learn more</li><li>Outreach/Research: community management, outreach/marketing, or studying problems and recommending solutions</li><li>Quality Assurance: testing and ensuring code is of high quality</li><li>User Interface: user experience research or user interface design and interaction</li></ul><br />Once an organization is selected for Google Code-in 2016 they will define these tasks and recruit mentors who are interested in providing online support for students.<br /><br />You can find a <a href="https://developers.google.com/open-source/gci/timeline">timeline</a>, <a href="https://developers.google.com/open-source/gci/faq">FAQ</a> and other information about Google Code-in on our <a href="http://g.co/gci">website</a>. If you&#8217;re an educator interested in sharing Google Code-in with your students, you can <a href="https://developers.google.com/open-source/gci/resources/media">find resources here</a>.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i><br /><div><br /></div>]]></description>
				<content:encoded><![CDATA[<div style="text-align: center;"><a href="http://2.bp.blogspot.com/-kRfN-XGLh7A/WAg9J84kxgI/AAAAAAAAA8o/-voN36AR_WEpbikQh6SVDGSzVz2kx4cWgCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="130" src="https://2.bp.blogspot.com/-kRfN-XGLh7A/WAg9J84kxgI/AAAAAAAAA8o/-voN36AR_WEpbikQh6SVDGSzVz2kx4cWgCK4B/s400/image00.png" width="400" /></a></div><br /><a href="http://g.co/gci">Google Code-in</a> is our global online contest that invites pre-university students ages 13-17 to learn by contributing to open source software. The contest begins its 7th year on November 28th, 2016. With the start date of the contest rapidly approaching, we are now accepting applications for open source projects interested in being a part of Google Code-in.<br /><br />Working with young students is a special responsibility and each year we hear inspiring stories from mentors who participate. To ensure these new, young contributors have a great support system, we select organizations that have gained experience in mentoring students by previously taking part in <a href="http://g.co/gsoc">Google Summer of Code</a>.<br /><br />There were <a href="https://codein.withgoogle.com/archive/2015/organization/">14 organizations</a> in 2015 that collectively created thousands of <a href="https://developers.google.com/open-source/gci/resources/example-tasks">bite-sized tasks</a> for students to choose from. Tasks are created in 5 categories:<br /><br /><ul><li>Code: writing or refactoring&nbsp;</li><li>Documentation/Training: creating/editing documents and helping others learn more</li><li>Outreach/Research: community management, outreach/marketing, or studying problems and recommending solutions</li><li>Quality Assurance: testing and ensuring code is of high quality</li><li>User Interface: user experience research or user interface design and interaction</li></ul><br />Once an organization is selected for Google Code-in 2016 they will define these tasks and recruit mentors who are interested in providing online support for students.<br /><br />You can find a <a href="https://developers.google.com/open-source/gci/timeline">timeline</a>, <a href="https://developers.google.com/open-source/gci/faq">FAQ</a> and other information about Google Code-in on our <a href="http://g.co/gci">website</a>. If you’re an educator interested in sharing Google Code-in with your students, you can <a href="https://developers.google.com/open-source/gci/resources/media">find resources here</a>.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i><br /><div><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-code-in-2016-now-accepting-organization-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Budou: Automatic Japanese line breaking tool</title>
		<link>https://googledata.org/google-open-source/budou-automatic-japanese-line-breaking-tool/</link>
		<comments>https://googledata.org/google-open-source/budou-automatic-japanese-line-breaking-tool/#comments</comments>
		<pubDate>Fri, 21 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=19b21ac73672e2789b1d7581295a67ef</guid>
		<description><![CDATA[Today we are pleased to introduce Budou, an automatic line breaking tool for Japanese. What is a line breaking tool and why is it necessary? English uses spacing and hyphenation as cues to allow for beautiful, aka more legible, line breaks. Japanese, w...]]></description>
				<content:encoded><![CDATA[Today we are pleased to introduce <a href="https://github.com/google/budou">Budou</a>, an automatic line breaking tool for Japanese. What is a line breaking tool and why is it necessary? English uses spacing and hyphenation as cues to allow for beautiful, aka more legible, line breaks. Japanese, which has none of these, is notoriously more difficult. Breaks occur randomly, usually in the middle of a word.<br /><br />This is a long standing issue in Japanese typography on the web, and results in degradation of readability. We can specify the place which line breaks can occur with CSS coding, but this is a non-trivial manual process which requires Japanese vocabulary and knowledge of grammar.<br /><br /><div style="text-align: center;"><a href="http://3.bp.blogspot.com/-GpvfT-ePzr4/WAUG9G3zjKI/AAAAAAAAA7w/TTmb3GqEk4Awttowtqy0kkt_iFGKs-V9QCK4B/s1600/image00.gif" imageanchor="1"><img border="0" height="263" src="https://3.bp.blogspot.com/-GpvfT-ePzr4/WAUG9G3zjKI/AAAAAAAAA7w/TTmb3GqEk4Awttowtqy0kkt_iFGKs-V9QCK4B/s320/image00.gif" width="320" /></a></div><br />Budou automatically translates Japanese sentences into organized HTML code with meaningful chunks wrapped in non-breaking markup so as to semantically control line breaks. Budou uses <a href="https://cloud.google.com/natural-language/">Cloud Natural Language API</a> to analyze the input sentence, and it concatenates proper words in order to produce meaningful chunks utilizing PoS (part-of-speech) tagging and syntactic information. Budou outputs HTML code by wrapping the chunks in a SPAN tag. By specifying their <i>display</i> property as <i>inline-block</i> in CSS, semantic units will no longer be split at the end of a line.<br /><br />Budou is a simple Python script that runs each sentence through the Cloud Natural Language API. It can easily be extended as a custom filter for template engines, or as a task for runners such as <a href="http://gruntjs.com/">Grunt</a> and <a href="http://gulpjs.com/">Gulp</a>. The latest version also caches the response so no duplicate requests are sent. If you are using Budou for a static website, you can process your HTML code before deployment.<br /><br />Budou is aimed to be used in relatively short sentences such as titles and headings. Screen readers may read a sentence by splitting the chunks wrapped by SPAN tag or split by WBR tag, so it is discouraged to use Budou for body paragraphs.<br /><br />As of October 2016, the Cloud Natural Language API supports English, Spanish, and Japanese, and Budou currently only supports Japanese. Support for other Asian languages with line break issues, such as Chinese and Thai, will be added as the API adds support.<br /><br />Any comments and suggestions are welcome. You can find us on <a href="https://github.com/google/budou">GitHub</a>.<br /><br /><i>By Shuhei Iitsuka, UX Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/budou-automatic-japanese-line-breaking-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Introducing Nomulus: an open source top-level domain name registry</title>
		<link>https://googledata.org/google-open-source/introducing-nomulus-an-open-source-top-level-domain-name-registry/</link>
		<comments>https://googledata.org/google-open-source/introducing-nomulus-an-open-source-top-level-domain-name-registry/#comments</comments>
		<pubDate>Tue, 18 Oct 2016 15:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=91e3c7431a7b743cc5ef0bae5a1da028</guid>
		<description><![CDATA[Today, Google is proud to announce the release of <a href="http://nomulus.foo/">Nomulus</a>, a new open source cloud-based registry platform that powers Google&#8217;s <a href="https://en.wikipedia.org/wiki/Top-level_domain">top level domains</a> (TLDs). We&#8217;re excited to make this piece of Internet infrastructure available to everyone.<br /><br />TLDs are the top level of the Internet Domain Name System (DNS), and they collectively host every domain name on the Internet. &#160;To manage a TLD, you need a domain name registry -- a behind-the-scenes system that stores registration details and DNS information for all domain names under that TLD. It handles <a href="https://en.wikipedia.org/wiki/WHOIS">WHOIS</a> queries and requests to buy, check, transfer, and renew domain names. When you purchase a domain name on a TLD using a domain name registrar, such as <a href="https://domains.google/">Google Domains</a>, the registrar is actually conducting business with that TLD&#8217;s registry on your behalf. That&#8217;s why you can transfer a domain from one registrar to another and have it remain active and 100% yours the entire time.<br /><br />The project that became Nomulus began in 2011 when the Internet Corporation for Assigned Names and Numbers (ICANN) <a href="https://www.icann.org/news/announcement-2011-06-20-en">announced</a> the biggest ever expansion of Internet namespace, aimed at improving choice and spurring innovation for Internet users. Google <a href="https://www.google.com/url?q=https://googleblog.blogspot.com/2012/05/expanding-internet-domain-space.html&#38;sa=D&#38;ust=1475782642903000&#38;usg=AFQjCNEO-DjmABmf3_Me1Fs07_EJUfe16A">applied to operate</a> a number of new generic TLDs, and built Nomulus to help run them.<br /><br />We designed Nomulus to be a brand-new registry platform that takes advantage of the scalability and easy operation of <a href="https://cloud.google.com/">Google Cloud Platform</a>. Nomulus runs on Google App Engine and is backed by Google Cloud Datastore, a highly scalable NoSQL database. Nomulus can manage any number of TLDs in a single shared instance and supports the full range of TLD functionality required by ICANN, including the Extensible Provisioning Protocol (EPP), WHOIS, reporting, and trademark protection. It is written in Java and is released under the Apache 2.0 license.<br /><br />We hope that by providing access to our implementation of core registry functions and up-and-coming services like Registration Data Access Protocol (RDAP), we can demonstrate advanced features of Google Cloud Platform and encourage interoperability and open standards in the domain name industry for registry operators like <a href="http://www.donuts.domains/">Donuts</a>. With approximately 200 TLDs, Donuts has made early contributions to the Nomulus code base and has spun up an instance which they'll be sharing soon.<br /><br />For more information, <a href="https://github.com/google/nomulus">view Nomulus on GitHub</a>.<br /><br /><i>By Ben McIlwain, Software Engineer</i>]]></description>
				<content:encoded><![CDATA[Today, Google is proud to announce the release of <a href="http://nomulus.foo/">Nomulus</a>, a new open source cloud-based registry platform that powers Google’s <a href="https://en.wikipedia.org/wiki/Top-level_domain">top level domains</a> (TLDs). We’re excited to make this piece of Internet infrastructure available to everyone.<br /><br />TLDs are the top level of the Internet Domain Name System (DNS), and they collectively host every domain name on the Internet. &nbsp;To manage a TLD, you need a domain name registry -- a behind-the-scenes system that stores registration details and DNS information for all domain names under that TLD. It handles <a href="https://en.wikipedia.org/wiki/WHOIS">WHOIS</a> queries and requests to buy, check, transfer, and renew domain names. When you purchase a domain name on a TLD using a domain name registrar, such as <a href="https://domains.google/">Google Domains</a>, the registrar is actually conducting business with that TLD’s registry on your behalf. That’s why you can transfer a domain from one registrar to another and have it remain active and 100% yours the entire time.<br /><br />The project that became Nomulus began in 2011 when the Internet Corporation for Assigned Names and Numbers (ICANN) <a href="https://www.icann.org/news/announcement-2011-06-20-en">announced</a> the biggest ever expansion of Internet namespace, aimed at improving choice and spurring innovation for Internet users. Google <a href="https://www.google.com/url?q=https://googleblog.blogspot.com/2012/05/expanding-internet-domain-space.html&amp;sa=D&amp;ust=1475782642903000&amp;usg=AFQjCNEO-DjmABmf3_Me1Fs07_EJUfe16A">applied to operate</a> a number of new generic TLDs, and built Nomulus to help run them.<br /><br />We designed Nomulus to be a brand-new registry platform that takes advantage of the scalability and easy operation of <a href="https://cloud.google.com/">Google Cloud Platform</a>. Nomulus runs on Google App Engine and is backed by Google Cloud Datastore, a highly scalable NoSQL database. Nomulus can manage any number of TLDs in a single shared instance and supports the full range of TLD functionality required by ICANN, including the Extensible Provisioning Protocol (EPP), WHOIS, reporting, and trademark protection. It is written in Java and is released under the Apache 2.0 license.<br /><br />We hope that by providing access to our implementation of core registry functions and up-and-coming services like Registration Data Access Protocol (RDAP), we can demonstrate advanced features of Google Cloud Platform and encourage interoperability and open standards in the domain name industry for registry operators like <a href="http://www.donuts.domains/">Donuts</a>. With approximately 200 TLDs, Donuts has made early contributions to the Nomulus code base and has spun up an instance which they'll be sharing soon.<br /><br />For more information, <a href="https://github.com/google/nomulus">view Nomulus on GitHub</a>.<br /><br /><i>By Ben McIlwain, Software Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/introducing-nomulus-an-open-source-top-level-domain-name-registry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: NRNB</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-nrnb/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-nrnb/#comments</comments>
		<pubDate>Mon, 17 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0883925dd4083e829ada282334ae5a65</guid>
		<description><![CDATA[<i>This post is part of our series of <a href="http://g.co/gsoc">Google Summer of Code</a> wrap-ups, guest posts from students, mentors and organization admins reflecting on Google Summer of Code 2016. Don't miss our <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first post</a> and&#160;<a href="https://opensource.googleblog.com/search/label/gsoc">follow along</a> for more wrap-up posts and announcements.</i><br /><br /><div><a href="http://1.bp.blogspot.com/-pDtQzkR501A/V_1PPyDu8DI/AAAAAAAAA7I/MjGTwjHpcoMjBkg3rlYgXi7uYtOWTAdFwCK4B/s1600/image00.png"><img border="0" height="155" src="https://1.bp.blogspot.com/-pDtQzkR501A/V_1PPyDu8DI/AAAAAAAAA7I/MjGTwjHpcoMjBkg3rlYgXi7uYtOWTAdFwCK4B/s320/image00.png" width="320"></a></div>We were so excited to be a part of <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) again after a year off, we pulled together <a href="https://github.com/nrnb/GoogleSummerOfCode/issues">over 50 project ideas</a> and dozens of eager mentors to develop open source code for network biology research. Organized as the <a href="http://nrnb.org/">National Resource for Network Biology (NRNB)</a>, we selected <a href="https://summerofcode.withgoogle.com/organizations/5138362507722752/#projects">15 proposals</a> that brought together well-matched students, mentors and project ideas.<br /><br />All 15 students passed their midterm and final evaluations, resulting in a wide range of (mostly) production-ready code, covering algorithm, UI, importer and converter development for both web and desktop for <a href="http://cytoscape.org/">Cytoscape</a>, <a href="http://js.cytoscape.org/">cytoscape.js</a>, <a href="http://sbml.org/">SBML</a>, <a href="http://sbgn.github.io/sbgn/">SBGN</a>, <a href="http://www.cbioportal.org/">cBioPortal</a>, <a href="http://www.celldesigner.org/">Cell Designer</a>, <a href="http://graphspace.org/">GraphSpace</a> and <a href="https://summerofcode.withgoogle.com/organizations/5138362507722752/#projects">more</a>.<br /><br />We are proud of the technical accomplishments and productivity of our students, and we are also proud of the many important aspects of diversity our students represent in the GSoC program, including geographical, gender and academic. Here are some numbers and facts about our 15 students compared to <a href="https://opensource.googleblog.com/2016/06/more-statistics-from-google-summer-of.html">overall GSoC 2016 student stats</a> in parentheses:<br /><ul><li>9 different countries, including 1 (of 2) from Croatia, 1 (of 3) from Armenia and 2 (of 12) from Turkey</li><li>20% female (compared to 12% overall)</li><li>67% Computer Science (compared to 78% overall), including PhD students in Biological Oceanography and Medical Biochemistry &#38; Biotechnology, an MS student in Bioinformatics, and a pre-med undergraduate.</li></ul><table><tbody><tr><td><a href="http://3.bp.blogspot.com/-LSK5JdQxBOA/V_1PXuOdukI/AAAAAAAAA7Q/P90ZRPZMxKQW7et6vMnkpxXky35H8uOIgCK4B/s1600/image01.png"><img border="0" src="https://3.bp.blogspot.com/-LSK5JdQxBOA/V_1PXuOdukI/AAAAAAAAA7Q/P90ZRPZMxKQW7et6vMnkpxXky35H8uOIgCK4B/s400/image01.png"></a><a href="http://1.bp.blogspot.com/-iPxN4HS6XQ8/V_1PZBoRrfI/AAAAAAAAA7Y/DGvZcYnz2NMDvdSr-BIVqhT9evUxjH2JgCK4B/s1600/image02.png"><img border="0" src="https://1.bp.blogspot.com/-iPxN4HS6XQ8/V_1PZBoRrfI/AAAAAAAAA7Y/DGvZcYnz2NMDvdSr-BIVqhT9evUxjH2JgCK4B/s400/image02.png"></a><a href="http://4.bp.blogspot.com/-way3oZ2mDXw/V_1PabYv8rI/AAAAAAAAA7g/XSsXi02SkDk3hCMQyy4Pb7iyJsc64WkfQCK4B/s1600/image03.png"><img border="0" src="https://4.bp.blogspot.com/-way3oZ2mDXw/V_1PabYv8rI/AAAAAAAAA7g/XSsXi02SkDk3hCMQyy4Pb7iyJsc64WkfQCK4B/s400/image03.png"></a></td></tr></tbody></table><br /><br /><div><br /></div><div><div>Here are some quotes and blogs from our students this year. If you are considering applying as student (or mentor) next year, here is some inspiration:</div></div><div><br /></div><div><div><i>&#8220;I had the opportunity to learn and practice JavaScript with a very interesting project and having a mentor available was great for getting help when needed. The program seemed extremely well run and I would strongly recommend it to anyone interested.&#8221;</i></div><div><i><br /></i></div><div><i>&#8220;Working in an NRNB [GSoC] training program helped to strengthen my resume and introduced me to the idea of combining a career in medicine with computer-based research.&#8221;</i></div><div><i><br /></i></div><div><i>&#8220;I love the friendly atmosphere and the way the team works together. From the very beginning I [felt] well integrated in the group. It was pure fun to work together on the same project and to see how it [has] grown over the time. I [would] recommend everybody try the NRNB training program.&#8221;</i></div></div><div><i><br /></i></div><div><div>Some of our student blogs:</div><div><ul><li><a href="http://hgrabski.blogspot.de/">Hovakim Grabski</a> &#8211; "Java support for Deviser, a code generation system for SBML libraries"</li><li><a href="http://kaitoii.blogspot.jp/">Kaito Ii</a> &#8211; "Interconvertible Layout software for CellDesigner"&#160;</li><li><a href="http://romanschulte.blogspot.de/">Roman Schulte</a> &#8211; "Offline SBML validation in the Java-based JSBML library"</li><li><a href="https://summercode2016.wordpress.com/">Mridul Seth</a> &#8211; "Import graphs in multiple formats and Cytoscape files into GraphSpace"</li></ul></div><div><br /></div><div><i>By Alex Pico and Kristina Hanspers, Organization Administrators for NRNB</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>This post is part of our series of <a href="http://g.co/gsoc">Google Summer of Code</a> wrap-ups, guest posts from students, mentors and organization admins reflecting on Google Summer of Code 2016. Don't miss our <a href="https://opensource.googleblog.com/2016/10/google-summer-of-code-2016-wrap-up-hues.html">first post</a> and&nbsp;<a href="https://opensource.googleblog.com/search/label/gsoc">follow along</a> for more wrap-up posts and announcements.</i><br /><br /><div style="text-align: center;"><a href="http://1.bp.blogspot.com/-pDtQzkR501A/V_1PPyDu8DI/AAAAAAAAA7I/MjGTwjHpcoMjBkg3rlYgXi7uYtOWTAdFwCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="155" src="https://1.bp.blogspot.com/-pDtQzkR501A/V_1PPyDu8DI/AAAAAAAAA7I/MjGTwjHpcoMjBkg3rlYgXi7uYtOWTAdFwCK4B/s320/image00.png" width="320" /></a></div>We were so excited to be a part of <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) again after a year off, we pulled together <a href="https://github.com/nrnb/GoogleSummerOfCode/issues">over 50 project ideas</a> and dozens of eager mentors to develop open source code for network biology research. Organized as the <a href="http://nrnb.org/">National Resource for Network Biology (NRNB)</a>, we selected <a href="https://summerofcode.withgoogle.com/organizations/5138362507722752/#projects">15 proposals</a> that brought together well-matched students, mentors and project ideas.<br /><br />All 15 students passed their midterm and final evaluations, resulting in a wide range of (mostly) production-ready code, covering algorithm, UI, importer and converter development for both web and desktop for <a href="http://cytoscape.org/">Cytoscape</a>, <a href="http://js.cytoscape.org/">cytoscape.js</a>, <a href="http://sbml.org/">SBML</a>, <a href="http://sbgn.github.io/sbgn/">SBGN</a>, <a href="http://www.cbioportal.org/">cBioPortal</a>, <a href="http://www.celldesigner.org/">Cell Designer</a>, <a href="http://graphspace.org/">GraphSpace</a> and <a href="https://summerofcode.withgoogle.com/organizations/5138362507722752/#projects">more</a>.<br /><br />We are proud of the technical accomplishments and productivity of our students, and we are also proud of the many important aspects of diversity our students represent in the GSoC program, including geographical, gender and academic. Here are some numbers and facts about our 15 students compared to <a href="https://opensource.googleblog.com/2016/06/more-statistics-from-google-summer-of.html">overall GSoC 2016 student stats</a> in parentheses:<br /><ul><li>9 different countries, including 1 (of 2) from Croatia, 1 (of 3) from Armenia and 2 (of 12) from Turkey</li><li>20% female (compared to 12% overall)</li><li>67% Computer Science (compared to 78% overall), including PhD students in Biological Oceanography and Medical Biochemistry &amp; Biotechnology, an MS student in Bioinformatics, and a pre-med undergraduate.</li></ul><table style="width: 100%;"><tbody><tr><td style="text-align: center; width: 100%;"><a href="http://3.bp.blogspot.com/-LSK5JdQxBOA/V_1PXuOdukI/AAAAAAAAA7Q/P90ZRPZMxKQW7et6vMnkpxXky35H8uOIgCK4B/s1600/image01.png" imageanchor="1"><img border="0" src="https://3.bp.blogspot.com/-LSK5JdQxBOA/V_1PXuOdukI/AAAAAAAAA7Q/P90ZRPZMxKQW7et6vMnkpxXky35H8uOIgCK4B/s400/image01.png" /></a><a href="http://1.bp.blogspot.com/-iPxN4HS6XQ8/V_1PZBoRrfI/AAAAAAAAA7Y/DGvZcYnz2NMDvdSr-BIVqhT9evUxjH2JgCK4B/s1600/image02.png" imageanchor="1"><img border="0" src="https://1.bp.blogspot.com/-iPxN4HS6XQ8/V_1PZBoRrfI/AAAAAAAAA7Y/DGvZcYnz2NMDvdSr-BIVqhT9evUxjH2JgCK4B/s400/image02.png" /></a><a href="http://4.bp.blogspot.com/-way3oZ2mDXw/V_1PabYv8rI/AAAAAAAAA7g/XSsXi02SkDk3hCMQyy4Pb7iyJsc64WkfQCK4B/s1600/image03.png" imageanchor="1"><img border="0" src="https://4.bp.blogspot.com/-way3oZ2mDXw/V_1PabYv8rI/AAAAAAAAA7g/XSsXi02SkDk3hCMQyy4Pb7iyJsc64WkfQCK4B/s400/image03.png" /></a></td></tr></tbody></table><br /><br /><div><br /></div><div><div>Here are some quotes and blogs from our students this year. If you are considering applying as student (or mentor) next year, here is some inspiration:</div></div><div><br /></div><div><div><i>“I had the opportunity to learn and practice JavaScript with a very interesting project and having a mentor available was great for getting help when needed. The program seemed extremely well run and I would strongly recommend it to anyone interested.”</i></div><div><i><br /></i></div><div><i>“Working in an NRNB [GSoC] training program helped to strengthen my resume and introduced me to the idea of combining a career in medicine with computer-based research.”</i></div><div><i><br /></i></div><div><i>“I love the friendly atmosphere and the way the team works together. From the very beginning I [felt] well integrated in the group. It was pure fun to work together on the same project and to see how it [has] grown over the time. I [would] recommend everybody try the NRNB training program.”</i></div></div><div><i><br /></i></div><div><div>Some of our student blogs:</div><div><ul><li><a href="http://hgrabski.blogspot.de/">Hovakim Grabski</a> – "Java support for Deviser, a code generation system for SBML libraries"</li><li><a href="http://kaitoii.blogspot.jp/">Kaito Ii</a> – "Interconvertible Layout software for CellDesigner"&nbsp;</li><li><a href="http://romanschulte.blogspot.de/">Roman Schulte</a> – "Offline SBML validation in the Java-based JSBML library"</li><li><a href="https://summercode2016.wordpress.com/">Mridul Seth</a> – "Import graphs in multiple formats and Cytoscape files into GraphSpace"</li></ul></div><div><br /></div><div><i>By Alex Pico and Kristina Hanspers, Organization Administrators for NRNB</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-nrnb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Open Source Report Card</title>
		<link>https://googledata.org/google-open-source/google-open-source-report-card/</link>
		<comments>https://googledata.org/google-open-source/google-open-source-report-card/#comments</comments>
		<pubDate>Fri, 14 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=03ffc2b77e0b7c3e6b5a224b8c38afcb</guid>
		<description><![CDATA[Open source software enables Google to build things quickly and efficiently without reinventing the wheel, allowing us to focus on solving new problems. We stand on the shoulders of giants and we know it. This is why we <a href="https://developers.google.com/open-source/">support open source</a> and make it easy for Googlers to release the projects they&#8217;re working on internally as open source.<br /><br />Today we&#8217;re sharing our first Open Source Report Card, highlighting our most popular projects, sharing a few statistics and detailing some of the projects we&#8217;ve released in 2016.<br /><br />We&#8217;ve open sourced over 20 million lines of code to date and you can find a <a href="https://developers.google.com/open-source/projects">listing of some of our best known project releases</a> on our website. Here are some of our most popular projects:<br /><ul><li><a href="https://source.android.com/index.html">Android</a> - a software stack for mobile devices that includes an operating system, middleware and key applications.</li><li><a href="https://www.chromium.org/">Chromium</a> - a project encompassing <a href="http://www.chromium.org/Home">Chromium</a>, the software behind Google Chrome, and <a href="http://www.chromium.org/chromium-os">Chromium OS</a>, the software behind Google Chrome OSdc devices.</li><li><a href="https://angular.io/">Angular</a> - a web application framework for JavaScript and Dart focused on developer productivity, speed and testability.</li><li><a href="https://www.tensorflow.org/">TensorFlow</a> - a library for numerical computation using data flow graphics with support for scalable machine learning across platforms from data centers to embedded devices.</li><li><a href="http://golang.org/">Go</a> - a statically typed and compiled programming language that is expressive, concise, clean and efficient.</li><li><a href="http://kubernetes.io/">Kubernetes</a> - a system for automating deployment, operations and scaling of containerized applications.</li><li><a href="https://www.polymer-project.org/">Polymer</a> - a lightweight library built on top of Web Components APIs for building encapsulated re-usable elements in web applications.</li><li><a href="https://developers.google.com/protocol-buffers/">Protobuf</a> - an extensible, language-neutral and platform-neutral mechanism for serializing structured data.</li><li><a href="https://github.com/google/guava">Guava</a> -&#160;a set of Java core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing and much more.</li><li><a href="http://yeoman.io/">Yeoman</a> - a robust and opinionated set of scaffolding tools including libraries and a workflow that can help developers quickly build beautiful and compelling web applications.</li></ul>While it&#8217;s difficult to measure the full scope of open source at Google, we can use the subset of projects that are on GitHub to gather some interesting data. Today our GitHub footprint includes over 84 organizations and 3,499 repositories, 773 of which were created this year.<br /><br />Googlers use countless languages from Assembly to XSLT, but what are their favorites? GitHub flags the most heavily used language in a repository and we can use that to find out. A survey of GitHub repositories shows us these are some of the languages Googlers use most often:<br /><ul><li>JavaScript</li><li>Java</li><li>C/C++</li><li>Go</li><li>Python</li><li>TypeScript</li><li>Dart</li><li>PHP</li><li>Objective-C</li><li>C#</li></ul>Many things can be gleaned using the <a href="https://opensource.googleblog.com/2016/06/github-on-bigquery-analyze-all-code.html">open source GitHub dataset on BigQuery</a>, like usage of <a href="https://medium.com/@hoffa/400-000-github-repositories-1-billion-files-14-terabytes-of-code-spaces-or-tabs-7cfe0b5dd7fd">tabs versus spaces</a> and the most <a href="https://medium.com/google-cloud/analyzing-go-code-with-bigquery-485c70c3b451">popular Go packages</a>. What about how many times Googlers have committed to open source projects on GitHub? We can search for Google.com email addresses to get a baseline number of Googler commits. Here&#8217;s our query:<br /><br /><pre>SELECT count(*) as n<br />FROM [bigquery-public-data:github_repos.commits]<br />WHERE committer.date &#62; '2016-01-01 00:00'<br />AND REGEXP_EXTRACT(author.email, r'.*@(.*)') = 'google.com'<br /></pre><br /><br />With this, we learn that Googlers have made 142,527 commits to open source projects on GitHub since the start of the year. This dataset goes back to 2011 and we can tweak this query to find out that Googlers have made 719,012 commits since then. Again, this is just a baseline number as it doesn&#8217;t count commits made with other email addresses.<br /><br />Looking back at the projects we&#8217;ve open-sourced in 2016 there&#8217;s a lot to be excited about. We have released open source <a href="https://opensource.googleblog.com/2016/04/cctz-v20-now-with-more-civil-time.html">software</a>, <a href="https://opensource.googleblog.com/2016/07/announcing-open-source-adc-board-for.html">hardware</a> and <a href="https://opensource.googleblog.com/2016/10/introducing-open-images-dataset.html">datasets</a>. Let&#8217;s take a look at some of this year&#8217;s releases.<br /><br /><b>Seesaw</b><br /><a href="https://github.com/google/seesaw">Seesaw</a> is a Linux Virtual Server (LVS) based load balancing platform developed in Go by our Site Reliability Engineers. Seesaw, like many projects, was built to scratch our own itch.<br /><br />From our <a href="https://opensource.googleblog.com/2016/01/seesaw-scalable-and-robust-load.html">blog post announcing its release</a>: &#8220;We needed the ability to handle traffic for unicast and anycast VIPs, perform load balancing with NAT and DSR (also known as DR), and perform adequate health checks against the backends. Above all we wanted a platform that allowed for ease of management, including automated deployment of configuration changes.&#8221;<br /><br /><b>Vendor Security Assessment Questionnaire (VSAQ)</b><br />We assess the security of hundreds of vendors every year and have developed a process to automate much of the initial information gathering with <a href="https://github.com/google/vsaq">VSAQ</a>. Many vendors found our questionnaires intuitive and flexible, so we decided to share them. The VSAQ Framework includes four extensible questionnaire templates covering web applications, privacy programs, infrastructure as well as physical and data center security. You can learn more about it in our <a href="https://opensource.googleblog.com/2016/03/scalable-vendor-security-reviews.html">announcement blog post</a>.<br /><br /><b>OpenThread</b><br /><a href="http://github.com/openthread/openthread">OpenThread</a>, released by <a href="https://nest.com/">Nest</a>, is a complete implementation of the <a href="http://threadgroup.org/">Thread</a> protocol for connected devices in the home. This is especially important because of the fragmentation we&#8217;re seeing in this space. Development of OpenThread is supported by ARM, Microsoft, Qualcomm, Texas Instruments and other major vendors.<br /><br /><b>Magenta</b><br />Can we use machine learning to create compelling art and music? That&#8217;s the question that animates <a href="http://github.com/tensorflow/magenta">Magenta</a>, a project from the <a href="https://research.google.com/teams/brain/">Google Brain team</a> based on TensorFlow. The aim is to advance the state of the art in machine intelligence for music and art generation and build a collaborative community of artists, coders and machine learning researchers. Read the <a href="https://magenta.tensorflow.org/welcome-to-magenta">release announcement</a> for more information.<br /><br /><b>Omnitone</b><br />Virtual reality (VR) isn&#8217;t nearly as immersive without spatial audio and much of VR development is taking place on proprietary platforms. <a href="https://github.com/GoogleChrome/omnitone">Omnitone</a> is an open library built by members of the Chrome Team that brings spatial audio to the browser. Omnitone builds on standard Web Audio APIs to deliver an immersive experience and can be used alongside projects like <a href="https://webvr.info/">WebVR</a>. Find out more in our <a href="http://google-opensource.blogspot.com/2016/07/omnitone-spatial-audio-on-web.html">blog post announcing the project&#8217;s release</a>.<br /><br /><b>Science Journal</b><br />Today&#8217;s smartphones are packed with sensors that can tell us interesting things about the world around us. We <a href="http://googleforeducation.blogspot.com/2016/05/inspiring-future-makers-and-scientists.html">launched</a> <a href="https://github.com/google/science-journal">Science</a> <a href="https://github.com/google/science-journal-arduino">Journal</a> to help educators, students and citizen scientists tap into those sensors. You can learn more about the project in our <a href="http://google-opensource.blogspot.com/2016/08/opening-up-science-journal.html">announcement blog post</a>.<br /><br /><b>Cartographer</b><br /><a href="https://github.com/googlecartographer">Cartographer</a> is a library for real-time simultaneous localization and mapping (SLAM) in 2D and 3D with <a href="http://www.ros.org/about-ros/">Robot Operating System</a> (ROS) support. Combining data from a variety of sensors, this library computes positioning and maps surroundings. This is a key element of self-driving cars, UAVs and robotics as well as efforts to <a href="https://www.zeitgeistminds.com/talk/5604289821016064/amit-sood-the-peoples-museum-amit-sood">map the insides of famous buildings</a>. More information on Cartographer can be found in our <a href="http://opensource.googleblog.com/2016/10/introducing-cartographer.html">blog post announcing its release</a>.<br /><br />This is just a small sampling of what we&#8217;ve released this year. Follow the <a href="https://opensource.googleblog.com/">Google Open Source Blog</a> to stay apprised of Google&#8217;s open source software, hardware and data releases.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[Open source software enables Google to build things quickly and efficiently without reinventing the wheel, allowing us to focus on solving new problems. We stand on the shoulders of giants and we know it. This is why we <a href="https://developers.google.com/open-source/">support open source</a> and make it easy for Googlers to release the projects they’re working on internally as open source.<br /><br />Today we’re sharing our first Open Source Report Card, highlighting our most popular projects, sharing a few statistics and detailing some of the projects we’ve released in 2016.<br /><br />We’ve open sourced over 20 million lines of code to date and you can find a <a href="https://developers.google.com/open-source/projects">listing of some of our best known project releases</a> on our website. Here are some of our most popular projects:<br /><ul><li><a href="https://source.android.com/index.html">Android</a> - a software stack for mobile devices that includes an operating system, middleware and key applications.</li><li><a href="https://www.chromium.org/">Chromium</a> - a project encompassing <a href="http://www.chromium.org/Home">Chromium</a>, the software behind Google Chrome, and <a href="http://www.chromium.org/chromium-os">Chromium OS</a>, the software behind Google Chrome OSdc devices.</li><li><a href="https://angular.io/">Angular</a> - a web application framework for JavaScript and Dart focused on developer productivity, speed and testability.</li><li><a href="https://www.tensorflow.org/">TensorFlow</a> - a library for numerical computation using data flow graphics with support for scalable machine learning across platforms from data centers to embedded devices.</li><li><a href="http://golang.org/">Go</a> - a statically typed and compiled programming language that is expressive, concise, clean and efficient.</li><li><a href="http://kubernetes.io/">Kubernetes</a> - a system for automating deployment, operations and scaling of containerized applications.</li><li><a href="https://www.polymer-project.org/">Polymer</a> - a lightweight library built on top of Web Components APIs for building encapsulated re-usable elements in web applications.</li><li><a href="https://developers.google.com/protocol-buffers/">Protobuf</a> - an extensible, language-neutral and platform-neutral mechanism for serializing structured data.</li><li><a href="https://github.com/google/guava">Guava</a> -&nbsp;a set of Java core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing and much more.</li><li><a href="http://yeoman.io/">Yeoman</a> - a robust and opinionated set of scaffolding tools including libraries and a workflow that can help developers quickly build beautiful and compelling web applications.</li></ul>While it’s difficult to measure the full scope of open source at Google, we can use the subset of projects that are on GitHub to gather some interesting data. Today our GitHub footprint includes over 84 organizations and 3,499 repositories, 773 of which were created this year.<br /><br />Googlers use countless languages from Assembly to XSLT, but what are their favorites? GitHub flags the most heavily used language in a repository and we can use that to find out. A survey of GitHub repositories shows us these are some of the languages Googlers use most often:<br /><ul><li>JavaScript</li><li>Java</li><li>C/C++</li><li>Go</li><li>Python</li><li>TypeScript</li><li>Dart</li><li>PHP</li><li>Objective-C</li><li>C#</li></ul>Many things can be gleaned using the <a href="https://opensource.googleblog.com/2016/06/github-on-bigquery-analyze-all-code.html">open source GitHub dataset on BigQuery</a>, like usage of <a href="https://medium.com/@hoffa/400-000-github-repositories-1-billion-files-14-terabytes-of-code-spaces-or-tabs-7cfe0b5dd7fd">tabs versus spaces</a> and the most <a href="https://medium.com/google-cloud/analyzing-go-code-with-bigquery-485c70c3b451">popular Go packages</a>. What about how many times Googlers have committed to open source projects on GitHub? We can search for Google.com email addresses to get a baseline number of Googler commits. Here’s our query:<br /><br /><pre style="background: #fff; color: black;">SELECT count(*) as n<br />FROM [bigquery-public-data:github_repos.commits]<br />WHERE committer.date &gt; '2016-01-01 00:00'<br />AND REGEXP_EXTRACT(author.email, r'.*@(.*)') = 'google.com'<br /></pre><br /><br />With this, we learn that Googlers have made 142,527 commits to open source projects on GitHub since the start of the year. This dataset goes back to 2011 and we can tweak this query to find out that Googlers have made 719,012 commits since then. Again, this is just a baseline number as it doesn’t count commits made with other email addresses.<br /><br />Looking back at the projects we’ve open-sourced in 2016 there’s a lot to be excited about. We have released open source <a href="https://opensource.googleblog.com/2016/04/cctz-v20-now-with-more-civil-time.html">software</a>, <a href="https://opensource.googleblog.com/2016/07/announcing-open-source-adc-board-for.html">hardware</a> and <a href="https://opensource.googleblog.com/2016/10/introducing-open-images-dataset.html">datasets</a>. Let’s take a look at some of this year’s releases.<br /><br /><b>Seesaw</b><br /><a href="https://github.com/google/seesaw">Seesaw</a> is a Linux Virtual Server (LVS) based load balancing platform developed in Go by our Site Reliability Engineers. Seesaw, like many projects, was built to scratch our own itch.<br /><br />From our <a href="https://opensource.googleblog.com/2016/01/seesaw-scalable-and-robust-load.html">blog post announcing its release</a>: “We needed the ability to handle traffic for unicast and anycast VIPs, perform load balancing with NAT and DSR (also known as DR), and perform adequate health checks against the backends. Above all we wanted a platform that allowed for ease of management, including automated deployment of configuration changes.”<br /><br /><b>Vendor Security Assessment Questionnaire (VSAQ)</b><br />We assess the security of hundreds of vendors every year and have developed a process to automate much of the initial information gathering with <a href="https://github.com/google/vsaq">VSAQ</a>. Many vendors found our questionnaires intuitive and flexible, so we decided to share them. The VSAQ Framework includes four extensible questionnaire templates covering web applications, privacy programs, infrastructure as well as physical and data center security. You can learn more about it in our <a href="https://opensource.googleblog.com/2016/03/scalable-vendor-security-reviews.html">announcement blog post</a>.<br /><br /><b>OpenThread</b><br /><a href="http://github.com/openthread/openthread">OpenThread</a>, released by <a href="https://nest.com/">Nest</a>, is a complete implementation of the <a href="http://threadgroup.org/">Thread</a> protocol for connected devices in the home. This is especially important because of the fragmentation we’re seeing in this space. Development of OpenThread is supported by ARM, Microsoft, Qualcomm, Texas Instruments and other major vendors.<br /><br /><b>Magenta</b><br />Can we use machine learning to create compelling art and music? That’s the question that animates <a href="http://github.com/tensorflow/magenta">Magenta</a>, a project from the <a href="https://research.google.com/teams/brain/">Google Brain team</a> based on TensorFlow. The aim is to advance the state of the art in machine intelligence for music and art generation and build a collaborative community of artists, coders and machine learning researchers. Read the <a href="https://magenta.tensorflow.org/welcome-to-magenta">release announcement</a> for more information.<br /><br /><b>Omnitone</b><br />Virtual reality (VR) isn’t nearly as immersive without spatial audio and much of VR development is taking place on proprietary platforms. <a href="https://github.com/GoogleChrome/omnitone">Omnitone</a> is an open library built by members of the Chrome Team that brings spatial audio to the browser. Omnitone builds on standard Web Audio APIs to deliver an immersive experience and can be used alongside projects like <a href="https://webvr.info/">WebVR</a>. Find out more in our <a href="http://google-opensource.blogspot.com/2016/07/omnitone-spatial-audio-on-web.html">blog post announcing the project’s release</a>.<br /><br /><b>Science Journal</b><br />Today’s smartphones are packed with sensors that can tell us interesting things about the world around us. We <a href="http://googleforeducation.blogspot.com/2016/05/inspiring-future-makers-and-scientists.html">launched</a> <a href="https://github.com/google/science-journal">Science</a> <a href="https://github.com/google/science-journal-arduino">Journal</a> to help educators, students and citizen scientists tap into those sensors. You can learn more about the project in our <a href="http://google-opensource.blogspot.com/2016/08/opening-up-science-journal.html">announcement blog post</a>.<br /><br /><b>Cartographer</b><br /><a href="https://github.com/googlecartographer">Cartographer</a> is a library for real-time simultaneous localization and mapping (SLAM) in 2D and 3D with <a href="http://www.ros.org/about-ros/">Robot Operating System</a> (ROS) support. Combining data from a variety of sensors, this library computes positioning and maps surroundings. This is a key element of self-driving cars, UAVs and robotics as well as efforts to <a href="https://www.zeitgeistminds.com/talk/5604289821016064/amit-sood-the-peoples-museum-amit-sood">map the insides of famous buildings</a>. More information on Cartographer can be found in our <a href="http://opensource.googleblog.com/2016/10/introducing-cartographer.html">blog post announcing its release</a>.<br /><br />This is just a small sampling of what we’ve released this year. Follow the <a href="https://opensource.googleblog.com/">Google Open Source Blog</a> to stay apprised of Google’s open source software, hardware and data releases.<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-open-source-report-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 wrap-up: HUES Platform</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-hues-platform/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-hues-platform/#comments</comments>
		<pubDate>Wed, 12 Oct 2016 15:47:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c36944e6269a1415e7bdda23a568ed59</guid>
		<description><![CDATA[<i>Every year <a href="http://g.co/gsoc">Google Summer of Code</a> pairs university students with mentors to hone their skills while working on open source projects, and every year we like to post wrap-ups from the open source projects about their experience and what students accomplished. <a href="https://opensource.googleblog.com/search/label/gsoc">Stay tuned</a> for more!</i><br /><i><br /></i><br /><div><a href="http://3.bp.blogspot.com/-5EjK7kwOjPc/V-xW7xylaSI/AAAAAAAAA5M/UjSs2IMNwzglU_jNrEzSmXJJk8bom950wCK4B/s1600/image03.png"><img border="0" src="https://3.bp.blogspot.com/-5EjK7kwOjPc/V-xW7xylaSI/AAAAAAAAA5M/UjSs2IMNwzglU_jNrEzSmXJJk8bom950wCK4B/s1600/image03.png"></a></div><br />The <a href="https://hues.empa.ch/">Holistic Urban Energy Simulation (HUES) platform</a> is an open source platform for facilitating the design and control of renewables-based distributed energy systems. The platform is an initiative of the <a href="http://www.empa.ch/web/s313/">Urban Energy Systems Laboratory at Empa</a> in Switzerland, in collaboration with our research partners at ETH-Zurich, EPFL, the University of Geneva and the Lucerne University of Applied Sciences. As we push towards the second version of the HUES platform, we had help from three bright and enthusiastic students as part of the <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC).<br /><div><br /></div><div><div><b>Project 1: Real-time wind flow in cities</b></div></div><div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-KcpZeXN_4Kk/V-xZUfSxjtI/AAAAAAAAA5g/idE_WIQlilYrmUEsPkN3Nn_HcS0Z4LVAgCK4B/s1600/image00.png"><img border="0" height="100" src="https://1.bp.blogspot.com/-KcpZeXN_4Kk/V-xZUfSxjtI/AAAAAAAAA5g/idE_WIQlilYrmUEsPkN3Nn_HcS0Z4LVAgCK4B/s200/image00.png"></a><a href="http://4.bp.blogspot.com/-cjdgtRT6nAM/V-xZVpV_7DI/AAAAAAAAA5o/SEXrmeLxppUKYS45GjBa8G9vTeFdbfmJACK4B/s1600/image01.png"> <img border="0" height="100" src="https://4.bp.blogspot.com/-cjdgtRT6nAM/V-xZVpV_7DI/AAAAAAAAA5o/SEXrmeLxppUKYS45GjBa8G9vTeFdbfmJACK4B/s200/image01.png"></a><a href="http://1.bp.blogspot.com/-QOdiusc7Mtw/V-xZXtMcfnI/AAAAAAAAA5w/d03yl5_q2octvPZrwDzIu9GtlpeW7eW2wCK4B/s1600/image04.png"> <img border="0" height="100" src="https://1.bp.blogspot.com/-QOdiusc7Mtw/V-xZXtMcfnI/AAAAAAAAA5w/d03yl5_q2octvPZrwDzIu9GtlpeW7eW2wCK4B/s200/image04.png"></a></td></tr><tr><td>Air flow pattern around a building configuration (left); link to Rhinoceros/Grasshopper (middle &#38; right)</td></tr></tbody></table>People in cities are suffering more and more from scorching heat, caused by global warming and bad urban planning. This traps heat inside cities and has led to soaring air conditioning demand, making cities even hotter - a vicious circle! &#160;Clever bioclimatic urban design can mitigate urban heat by facilitating the use of natural ventilation and guiding air streams. However, the simulation of wind flow is a computationally and technically demanding task. There is a need to provide urban planners and architects with a tool able to predict wind flow patterns in real-time to facilitate development of energy efficient and passive designs.</div><div><div><br /></div><div>Lukas Bystricky, a student at Florida State University, developed a Fast Fluid Dynamics (FFD) library in C# exactly for this purpose. Lukas&#8217;s implementation is based on the &#160;paper by <a href="http://dl.acm.org/citation.cfm?id=311548%7CJos">Jos Stam (1999)</a>. In contrast to the original implementation, where a cell centred finite difference is used to discretize the equations, Lukas applies a staggered grid finite difference, which is the standard finite difference in Computational Fluid Dynamics (CFD). This is done to prevent spurious pressure oscillations near the boundary which can occur in cell centered finite difference for the <a href="https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations">Navier-Stokes equations</a>. This does not change much in the algorithm or solvers, but makes enforcing the boundary conditions significantly more complicated. So far, Lukas uses a simple <a href="https://en.wikipedia.org/wiki/Jacobi_method">Jacobi solver</a> as linear solver, as was the case in Stam's original implementation, but he plans to replace it with more efficient solvers in the future. Also, he is validating his library with typical benchmarks.&#160;</div><div><br /></div><div>We are now coupling Lukas&#8217;s library into our HUES platform, more specifically into the 3D CAD software <a href="https://www.rhino3d.com/">Rhinoceros</a> and its visual programming platform <a href="https://en.wikipedia.org/wiki/Grasshopper_3D">Grasshopper</a>. The final goal is to have an intuitive real-time visual design tool of wind flow for urban planners and architects. Also, we will use it to couple it to whole year dynamic building energy simulation programs, to better capture microclimatic effects of the urban context in simulating building energy consumption of designs.</div><div><br /></div><div><b>Project 2: Modular energy hub modeling framework</b></div></div><div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-Z-Ezs7CNVSY/V-xY9CNil7I/AAAAAAAAA5Y/4O0g2Opy8-wgn97yS0-cMd3PTiorLgJSACK4B/s1600/image02.png"><img border="0" height="109" src="https://1.bp.blogspot.com/-Z-Ezs7CNVSY/V-xY9CNil7I/AAAAAAAAA5Y/4O0g2Opy8-wgn97yS0-cMd3PTiorLgJSACK4B/s640/image02.png" width="640"></a></td></tr><tr><td>A connection between two bus objects in a CopyHub container</td></tr></tbody></table></div><div><div>Distributed energy system components are modular in nature and interact across multiple scales. As such, there is a need for a modeling framework that can easily construct and configure systems of modular entities (energy demands, sources, converters, storages and network links) across scales. Frederik Banis, a student at the University of Applied Sciences Stuttgart, developed a modular approach to modeling distributed multi-energy systems (<i>energy hubs</i>) in Python, based on the <a href="https://github.com/oemof/oemof">Open Energy System Modelling Framework (Oemof)</a> and <a href="http://www.pyomo.org/">Pyomo</a>.&#160;</div><div><br /></div><div>In the developed framework, energy systems components are specified in a common format allowing for easy duplication and reconfiguring at larger scales. The platform enables easy manipulation of an energy hub grouping multiple components (demand, sources: electricity, natural gas; systems: photovoltaic panels, wind turbines, gas boils, combined heat and power engines, etc.), as well as copying it (from <i>hub1 </i>to <i>hub2</i>) to create a larger interlinked system (<i>district</i>) where multiple energy hubs are connected. This hierarchical nested structure can be repeated as needed, and detailed results about the energy supply of each technology or energy stream can be analyzed in the form of different plots for each system or sub-system.</div><div><br /></div><div><b>Project 3: Open source energy simulation database</b></div><div><br /></div><div>The HUES platform includes a growing array of datasets describing the technical and economic characteristics of distributed energy technologies. &#160;Currently, this data is stored in separate modules using different data structures and file formats, making it difficult to explore holistically and query systematically. To address this, GSoC student Khushboo Mandlecha has developed an open source database to enable the linked exploration, querying and visualization of data in the platform.&#160;</div><div><br /></div><div>The first part of the project involved the development of server based scripts to automatically extract relevant data from the modules of the existing HUES platform, and write this data to a common database. A standard format for technology component data was developed, enabling users to upload technology data files to be stored in the new database. &#160;The new database has been developed in <a href="https://en.wikipedia.org/wiki/MongoDB">MongoDB</a>, enabling fast data retrieval and allowing everything to be retrieved in the form of <a href="https://en.wikipedia.org/wiki/JSON">JSON</a> objects. The second part of the project involved the development of a web-based portal for querying, visualizing and downloading data. Once this portal is complete, it will be possible to visualize the contents of the database in different ways, enabling users to get a sense of the distribution of property values and facilitating the identification of outliers. &#160;Ultimately, the database will help researchers and practitioners using the HUES platform to develop models and perform comprehensive analyses of distributed energy systems.</div><div><br /></div><div><i>By L. Andrew Bollinger, Julien Marquant and Christoph Waibel; Urban Energy Systems Laboratory, Empa, Switzerland</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>Every year <a href="http://g.co/gsoc">Google Summer of Code</a> pairs university students with mentors to hone their skills while working on open source projects, and every year we like to post wrap-ups from the open source projects about their experience and what students accomplished. <a href="https://opensource.googleblog.com/search/label/gsoc">Stay tuned</a> for more!</i><br /><i><br /></i><br /><div style="text-align: center;"><a href="http://3.bp.blogspot.com/-5EjK7kwOjPc/V-xW7xylaSI/AAAAAAAAA5M/UjSs2IMNwzglU_jNrEzSmXJJk8bom950wCK4B/s1600/image03.png" imageanchor="1"><img border="0" src="https://3.bp.blogspot.com/-5EjK7kwOjPc/V-xW7xylaSI/AAAAAAAAA5M/UjSs2IMNwzglU_jNrEzSmXJJk8bom950wCK4B/s1600/image03.png" /></a></div><br />The <a href="https://hues.empa.ch/">Holistic Urban Energy Simulation (HUES) platform</a> is an open source platform for facilitating the design and control of renewables-based distributed energy systems. The platform is an initiative of the <a href="http://www.empa.ch/web/s313/">Urban Energy Systems Laboratory at Empa</a> in Switzerland, in collaboration with our research partners at ETH-Zurich, EPFL, the University of Geneva and the Lucerne University of Applied Sciences. As we push towards the second version of the HUES platform, we had help from three bright and enthusiastic students as part of the <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC).<br /><div><br /></div><div><div><b>Project 1: Real-time wind flow in cities</b></div></div><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-KcpZeXN_4Kk/V-xZUfSxjtI/AAAAAAAAA5g/idE_WIQlilYrmUEsPkN3Nn_HcS0Z4LVAgCK4B/s1600/image00.png" imageanchor="1"><img border="0" height="100" src="https://1.bp.blogspot.com/-KcpZeXN_4Kk/V-xZUfSxjtI/AAAAAAAAA5g/idE_WIQlilYrmUEsPkN3Nn_HcS0Z4LVAgCK4B/s200/image00.png" /></a><a href="http://4.bp.blogspot.com/-cjdgtRT6nAM/V-xZVpV_7DI/AAAAAAAAA5o/SEXrmeLxppUKYS45GjBa8G9vTeFdbfmJACK4B/s1600/image01.png" imageanchor="1"> <img border="0" height="100" src="https://4.bp.blogspot.com/-cjdgtRT6nAM/V-xZVpV_7DI/AAAAAAAAA5o/SEXrmeLxppUKYS45GjBa8G9vTeFdbfmJACK4B/s200/image01.png" /></a><a href="http://1.bp.blogspot.com/-QOdiusc7Mtw/V-xZXtMcfnI/AAAAAAAAA5w/d03yl5_q2octvPZrwDzIu9GtlpeW7eW2wCK4B/s1600/image04.png" imageanchor="1"> <img border="0" height="100" src="https://1.bp.blogspot.com/-QOdiusc7Mtw/V-xZXtMcfnI/AAAAAAAAA5w/d03yl5_q2octvPZrwDzIu9GtlpeW7eW2wCK4B/s200/image04.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Air flow pattern around a building configuration (left); link to Rhinoceros/Grasshopper (middle &amp; right)</td></tr></tbody></table>People in cities are suffering more and more from scorching heat, caused by global warming and bad urban planning. This traps heat inside cities and has led to soaring air conditioning demand, making cities even hotter - a vicious circle! &nbsp;Clever bioclimatic urban design can mitigate urban heat by facilitating the use of natural ventilation and guiding air streams. However, the simulation of wind flow is a computationally and technically demanding task. There is a need to provide urban planners and architects with a tool able to predict wind flow patterns in real-time to facilitate development of energy efficient and passive designs.</div><div><div><br /></div><div>Lukas Bystricky, a student at Florida State University, developed a Fast Fluid Dynamics (FFD) library in C# exactly for this purpose. Lukas’s implementation is based on the &nbsp;paper by <a href="http://dl.acm.org/citation.cfm?id=311548%7CJos">Jos Stam (1999)</a>. In contrast to the original implementation, where a cell centred finite difference is used to discretize the equations, Lukas applies a staggered grid finite difference, which is the standard finite difference in Computational Fluid Dynamics (CFD). This is done to prevent spurious pressure oscillations near the boundary which can occur in cell centered finite difference for the <a href="https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations">Navier-Stokes equations</a>. This does not change much in the algorithm or solvers, but makes enforcing the boundary conditions significantly more complicated. So far, Lukas uses a simple <a href="https://en.wikipedia.org/wiki/Jacobi_method">Jacobi solver</a> as linear solver, as was the case in Stam's original implementation, but he plans to replace it with more efficient solvers in the future. Also, he is validating his library with typical benchmarks.&nbsp;</div><div><br /></div><div>We are now coupling Lukas’s library into our HUES platform, more specifically into the 3D CAD software <a href="https://www.rhino3d.com/">Rhinoceros</a> and its visual programming platform <a href="https://en.wikipedia.org/wiki/Grasshopper_3D">Grasshopper</a>. The final goal is to have an intuitive real-time visual design tool of wind flow for urban planners and architects. Also, we will use it to couple it to whole year dynamic building energy simulation programs, to better capture microclimatic effects of the urban context in simulating building energy consumption of designs.</div><div><br /></div><div><b>Project 2: Modular energy hub modeling framework</b></div></div><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Z-Ezs7CNVSY/V-xY9CNil7I/AAAAAAAAA5Y/4O0g2Opy8-wgn97yS0-cMd3PTiorLgJSACK4B/s1600/image02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="109" src="https://1.bp.blogspot.com/-Z-Ezs7CNVSY/V-xY9CNil7I/AAAAAAAAA5Y/4O0g2Opy8-wgn97yS0-cMd3PTiorLgJSACK4B/s640/image02.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A connection between two bus objects in a CopyHub container</td></tr></tbody></table></div><div><div>Distributed energy system components are modular in nature and interact across multiple scales. As such, there is a need for a modeling framework that can easily construct and configure systems of modular entities (energy demands, sources, converters, storages and network links) across scales. Frederik Banis, a student at the University of Applied Sciences Stuttgart, developed a modular approach to modeling distributed multi-energy systems (<i>energy hubs</i>) in Python, based on the <a href="https://github.com/oemof/oemof">Open Energy System Modelling Framework (Oemof)</a> and <a href="http://www.pyomo.org/">Pyomo</a>.&nbsp;</div><div><br /></div><div>In the developed framework, energy systems components are specified in a common format allowing for easy duplication and reconfiguring at larger scales. The platform enables easy manipulation of an energy hub grouping multiple components (demand, sources: electricity, natural gas; systems: photovoltaic panels, wind turbines, gas boils, combined heat and power engines, etc.), as well as copying it (from <i>hub1 </i>to <i>hub2</i>) to create a larger interlinked system (<i>district</i>) where multiple energy hubs are connected. This hierarchical nested structure can be repeated as needed, and detailed results about the energy supply of each technology or energy stream can be analyzed in the form of different plots for each system or sub-system.</div><div><br /></div><div><b>Project 3: Open source energy simulation database</b></div><div><br /></div><div>The HUES platform includes a growing array of datasets describing the technical and economic characteristics of distributed energy technologies. &nbsp;Currently, this data is stored in separate modules using different data structures and file formats, making it difficult to explore holistically and query systematically. To address this, GSoC student Khushboo Mandlecha has developed an open source database to enable the linked exploration, querying and visualization of data in the platform.&nbsp;</div><div><br /></div><div>The first part of the project involved the development of server based scripts to automatically extract relevant data from the modules of the existing HUES platform, and write this data to a common database. A standard format for technology component data was developed, enabling users to upload technology data files to be stored in the new database. &nbsp;The new database has been developed in <a href="https://en.wikipedia.org/wiki/MongoDB">MongoDB</a>, enabling fast data retrieval and allowing everything to be retrieved in the form of <a href="https://en.wikipedia.org/wiki/JSON">JSON</a> objects. The second part of the project involved the development of a web-based portal for querying, visualizing and downloading data. Once this portal is complete, it will be possible to visualize the contents of the database in different ways, enabling users to get a sense of the distribution of property values and facilitating the identification of outliers. &nbsp;Ultimately, the database will help researchers and practitioners using the HUES platform to develop models and perform comprehensive analyses of distributed energy systems.</div><div><br /></div><div><i>By L. Andrew Bollinger, Julien Marquant and Christoph Waibel; Urban Energy Systems Laboratory, Empa, Switzerland</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-wrap-up-hues-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Announcing Google Code-in 2016 and Google Summer of Code 2017</title>
		<link>https://googledata.org/google-open-source/announcing-google-code-in-2016-and-google-summer-of-code-2017/</link>
		<comments>https://googledata.org/google-open-source/announcing-google-code-in-2016-and-google-summer-of-code-2017/#comments</comments>
		<pubDate>Mon, 10 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=580bec859293dbbbe11fcb8f7b60e91a</guid>
		<description><![CDATA[One of the goals of the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a> is to encourage more people to contribute to open source software. One way we achieve that goal is through our student programs, Google Summer of Code (for university students) and Google Code-in (for pre-university students).<br /><br />Over 15,000 students from more than 100 countries have worked with 23,000 mentors and contributed to 560+ open source projects. <br /><br />This is why we&#8217;re excited to announce the next round of both of our student programs!<br /><br /><b>Google Code-in begins for students November 28, 2016</b><br /><a href="http://1.bp.blogspot.com/-BHPbxxPRmm0/V_KwdSAf6oI/AAAAAAAAA6E/eRmOcJRBfxs2b4jQ3GvXYNlOyg255v9eACK4B/s1600/image01.png"><img border="0" height="173" src="https://1.bp.blogspot.com/-BHPbxxPRmm0/V_KwdSAf6oI/AAAAAAAAA6E/eRmOcJRBfxs2b4jQ3GvXYNlOyg255v9eACK4B/s200/image01.png" width="200"></a><br /><br />For the seventh consecutive year, <a href="http://g.co/gci">Google Code-in</a> will give students (ages 13-17) a chance to explore open source. Students will find opportunities to learn and get hands on experience with tasks from a range of categories. This structure allows students to stretch themselves as they take on increasingly more challenging tasks.<br /><br />Getting started is easy: once the contest begins, simply choose an interesting task from our participating organizations&#8217; lists and complete it. Mentors from the organizations are available to help online.<br /><br />Google Code-in is for students asking questions like:<br /><ul><li>What is open source?</li><li>What kinds of stuff do open source projects do?</li><li>How can I write real code when all I&#8217;ve done is a little classroom work?</li><li>Can I contribute even if I&#8217;m not really a programmer?</li></ul>With tasks in five different categories, there&#8217;s something to fit almost any student&#8217;s skills:<br /><ol><li>Code: writing or refactoring&#160;</li><li>Documentation/Training: creating/editing documents and helping others learn more</li><li>Outreach/research: community management, outreach/marketing, or studying problems and recommending solutions</li><li>Quality Assurance: testing and ensuring code is of high quality</li><li>User Interface: user experience research or user interface design and interaction</li></ol><b>Google Summer of Code student applications open on March 20, 2017</b><br /><a href="http://3.bp.blogspot.com/-K5NjtdmmQgY/V_KwiwXH-LI/AAAAAAAAA6M/mMkqLU1a1HkV-GR3V30-8ZZfJhOTwassQCK4B/s1600/image00.jpg"><img border="0" height="200" src="https://3.bp.blogspot.com/-K5NjtdmmQgY/V_KwiwXH-LI/AAAAAAAAA6M/mMkqLU1a1HkV-GR3V30-8ZZfJhOTwassQCK4B/s200/image00.jpg" width="200"></a><br /><br /><a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) provides university students from around the world with an opportunity to take their skills and hone them by contributing to open source projects during their summer break from university.<br /><br />Students gain invaluable experience working with mentors on these open source software projects, earning a stipend upon successful completion of their project.<br /><br />We&#8217;re proud to keep this tradition going: we&#8217;ll be opening student applications for Google Summer of Code 2017 on March 20, 2017. Applications for interested open source organizations open on January 19, 2017.<br /><br />Students, it&#8217;s never too early to start preparing or thinking about your proposal. You can learn about the <a href="https://summerofcode.withgoogle.com/archive/2016/organizations/">organizations</a> that participated in Google Summer of Code 2016 and the <a href="https://summerofcode.withgoogle.com/archive/2016/projects/">projects</a> students worked on. We also encourage you to explore <a href="https://developers.google.com/open-source/gsoc/resources/">other resources</a> like the student and mentor manuals and frequently asked questions.<br /><br />You can learn more on the <a href="http://g.co/gsoc">program website</a>.<br /><br />Share the news with your friends and stay tuned, more details are coming soon!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[One of the goals of the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a> is to encourage more people to contribute to open source software. One way we achieve that goal is through our student programs, Google Summer of Code (for university students) and Google Code-in (for pre-university students).<br /><br />Over 15,000 students from more than 100 countries have worked with 23,000 mentors and contributed to 560+ open source projects. <br /><br />This is why we’re excited to announce the next round of both of our student programs!<br /><br /><b>Google Code-in begins for students November 28, 2016</b><br /><a href="http://1.bp.blogspot.com/-BHPbxxPRmm0/V_KwdSAf6oI/AAAAAAAAA6E/eRmOcJRBfxs2b4jQ3GvXYNlOyg255v9eACK4B/s1600/image01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="173" src="https://1.bp.blogspot.com/-BHPbxxPRmm0/V_KwdSAf6oI/AAAAAAAAA6E/eRmOcJRBfxs2b4jQ3GvXYNlOyg255v9eACK4B/s200/image01.png" width="200" /></a><br /><br />For the seventh consecutive year, <a href="http://g.co/gci">Google Code-in</a> will give students (ages 13-17) a chance to explore open source. Students will find opportunities to learn and get hands on experience with tasks from a range of categories. This structure allows students to stretch themselves as they take on increasingly more challenging tasks.<br /><br />Getting started is easy: once the contest begins, simply choose an interesting task from our participating organizations’ lists and complete it. Mentors from the organizations are available to help online.<br /><br />Google Code-in is for students asking questions like:<br /><ul><li>What is open source?</li><li>What kinds of stuff do open source projects do?</li><li>How can I write real code when all I’ve done is a little classroom work?</li><li>Can I contribute even if I’m not really a programmer?</li></ul>With tasks in five different categories, there’s something to fit almost any student’s skills:<br /><ol><li>Code: writing or refactoring&nbsp;</li><li>Documentation/Training: creating/editing documents and helping others learn more</li><li>Outreach/research: community management, outreach/marketing, or studying problems and recommending solutions</li><li>Quality Assurance: testing and ensuring code is of high quality</li><li>User Interface: user experience research or user interface design and interaction</li></ol><b>Google Summer of Code student applications open on March 20, 2017</b><br /><a href="http://3.bp.blogspot.com/-K5NjtdmmQgY/V_KwiwXH-LI/AAAAAAAAA6M/mMkqLU1a1HkV-GR3V30-8ZZfJhOTwassQCK4B/s1600/image00.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://3.bp.blogspot.com/-K5NjtdmmQgY/V_KwiwXH-LI/AAAAAAAAA6M/mMkqLU1a1HkV-GR3V30-8ZZfJhOTwassQCK4B/s200/image00.jpg" width="200" /></a><br /><br /><a href="http://g.co/gsoc">Google Summer of Code</a> (GSoC) provides university students from around the world with an opportunity to take their skills and hone them by contributing to open source projects during their summer break from university.<br /><br />Students gain invaluable experience working with mentors on these open source software projects, earning a stipend upon successful completion of their project.<br /><br />We’re proud to keep this tradition going: we’ll be opening student applications for Google Summer of Code 2017 on March 20, 2017. Applications for interested open source organizations open on January 19, 2017.<br /><br />Students, it’s never too early to start preparing or thinking about your proposal. You can learn about the <a href="https://summerofcode.withgoogle.com/archive/2016/organizations/">organizations</a> that participated in Google Summer of Code 2016 and the <a href="https://summerofcode.withgoogle.com/archive/2016/projects/">projects</a> students worked on. We also encourage you to explore <a href="https://developers.google.com/open-source/gsoc/resources/">other resources</a> like the student and mentor manuals and frequently asked questions.<br /><br />You can learn more on the <a href="http://g.co/gsoc">program website</a>.<br /><br />Share the news with your friends and stay tuned, more details are coming soon!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/announcing-google-code-in-2016-and-google-summer-of-code-2017/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>An open source font system for everyone</title>
		<link>https://googledata.org/google-open-source/an-open-source-font-system-for-everyone/</link>
		<comments>https://googledata.org/google-open-source/an-open-source-font-system-for-everyone/#comments</comments>
		<pubDate>Thu, 06 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=22f4b7729b3fab77cf110af09dc880a8</guid>
		<description><![CDATA[<i>Originally posted on the <a href="http://developers.googleblog.com/2016/10/an-open-source-font-system-for-everyone.html">Google Developers Blog</a></i><br /><br />A big challenge in sharing digital information around the world is &#8220;tofu&#8221;&#8212;the blank boxes that appear when a computer or website isn&#8217;t able to display text: &#11216;. Tofu can create confusion, a breakdown in communication, and a poor user experience.<br /><br />Five years ago we set out to address this problem via the Noto&#8212;aka &#8220;<b>No</b> more <b>to</b>fu&#8221;&#8212;font project. Today, Google&#8217;s open source Noto font family provides a beautiful and consistent digital type for every symbol in the <a href="http://unicode.org/">Unicode</a> standard, covering more than 800 languages and 110,000 characters.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-pk1cBJ-yce8/V_XFuSGxqvI/AAAAAAAAA64/D_sS6oHFlp4u2LYc2mq9OrEaxoC0e-1pgCK4B/s1600/image00.gif"><img border="0" height="320" src="https://2.bp.blogspot.com/-pk1cBJ-yce8/V_XFuSGxqvI/AAAAAAAAA64/D_sS6oHFlp4u2LYc2mq9OrEaxoC0e-1pgCK4B/s320/image00.gif" width="320"></a></td></tr><tr><td>A few samples of the 110,000+ characters covered by Noto fonts.</td></tr></tbody></table><div><div>The Noto project started as a necessity for Google&#8217;s Android and Chrome OS operating systems. When we began, we did not realize the enormity of the challenge. It required design and technical testing in hundreds of languages, and expertise from specialists in specific scripts. In Arabic, for example, each character has four glyphs (i.e., shapes a character can take) that change depending on the text that comes after it. In Indic languages, glyphs may be reordered or even split into two depending on the surrounding text.<br /><br />The key to achieving this milestone has been partnering with experts in the field of type and font design, including Monotype, Adobe, and an amazing network of volunteer reviewers. Beyond &#8220;no more tofu&#8221; in the common languages used every day, Noto will be used to preserve the history and culture of rare languages through digitization. As new characters are introduced into the Unicode standard, Google will add these into the Noto font family.<br /><br />Google has a deep commitment to openness and the accessibility and innovation that come with it. The full Noto font family, design source files, and the font building pipeline are available for free at the links below. In the spirit of sharing and communication across borders and cultures, please use and enjoy!&#160;</div><div><ul><li>Noto fonts download: <a href="https://www.google.com/get/noto/">https://www.google.com/get/noto/</a></li><li>Design source files: <a href="https://github.com/googlei18n/noto-source">https://github.com/googlei18n/noto-source</a></li><li>Font building pipeline: <a href="https://github.com/googlei18n/fontmake">https://github.com/googlei18n/fontmake</a></li></ul></div></div><i>By Xiangye Xiao and Bob Jung, Internationalization</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="http://developers.googleblog.com/2016/10/an-open-source-font-system-for-everyone.html">Google Developers Blog</a></i><br /><br />A big challenge in sharing digital information around the world is “tofu”—the blank boxes that appear when a computer or website isn’t able to display text: ⯐. Tofu can create confusion, a breakdown in communication, and a poor user experience.<br /><br />Five years ago we set out to address this problem via the Noto—aka “<b>No</b> more <b>to</b>fu”—font project. Today, Google’s open source Noto font family provides a beautiful and consistent digital type for every symbol in the <a href="http://unicode.org/">Unicode</a> standard, covering more than 800 languages and 110,000 characters.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="max-width: inherit; text-align: center; width: 100%;"><a href="http://2.bp.blogspot.com/-pk1cBJ-yce8/V_XFuSGxqvI/AAAAAAAAA64/D_sS6oHFlp4u2LYc2mq9OrEaxoC0e-1pgCK4B/s1600/image00.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://2.bp.blogspot.com/-pk1cBJ-yce8/V_XFuSGxqvI/AAAAAAAAA64/D_sS6oHFlp4u2LYc2mq9OrEaxoC0e-1pgCK4B/s320/image00.gif" width="320" /></a></td></tr><tr><td class="tr-caption" style="max-width: inherit; text-align: center; width: 100%;">A few samples of the 110,000+ characters covered by Noto fonts.</td></tr></tbody></table><div><div>The Noto project started as a necessity for Google’s Android and Chrome OS operating systems. When we began, we did not realize the enormity of the challenge. It required design and technical testing in hundreds of languages, and expertise from specialists in specific scripts. In Arabic, for example, each character has four glyphs (i.e., shapes a character can take) that change depending on the text that comes after it. In Indic languages, glyphs may be reordered or even split into two depending on the surrounding text.<br /><br />The key to achieving this milestone has been partnering with experts in the field of type and font design, including Monotype, Adobe, and an amazing network of volunteer reviewers. Beyond “no more tofu” in the common languages used every day, Noto will be used to preserve the history and culture of rare languages through digitization. As new characters are introduced into the Unicode standard, Google will add these into the Noto font family.<br /><br />Google has a deep commitment to openness and the accessibility and innovation that come with it. The full Noto font family, design source files, and the font building pipeline are available for free at the links below. In the spirit of sharing and communication across borders and cultures, please use and enjoy!&nbsp;</div><div><ul><li>Noto fonts download: <a href="https://www.google.com/get/noto/">https://www.google.com/get/noto/</a></li><li>Design source files: <a href="https://github.com/googlei18n/noto-source">https://github.com/googlei18n/noto-source</a></li><li>Font building pipeline: <a href="https://github.com/googlei18n/fontmake">https://github.com/googlei18n/fontmake</a></li></ul></div></div><i>By Xiangye Xiao and Bob Jung, Internationalization</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/an-open-source-font-system-for-everyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Introducing Cartographer</title>
		<link>https://googledata.org/google-open-source/introducing-cartographer/</link>
		<comments>https://googledata.org/google-open-source/introducing-cartographer/#comments</comments>
		<pubDate>Wed, 05 Oct 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=94387a1e461f9f876f3710db53f4921f</guid>
		<description><![CDATA[We are happy to announce the open source release of <a href="https://github.com/googlecartographer">Cartographer</a>, a real-time simultaneous localization and mapping (<a href="https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping">SLAM</a>) library in 2D and 3D with <a href="http://www.ros.org/">ROS</a> support.<br /><br />SLAM algorithms combine data from various sensors (e.g. <a href="https://en.wikipedia.org/wiki/Lidar">LIDAR</a>, <a href="https://en.wikipedia.org/wiki/Inertial_measurement_unit">IMU</a> and cameras) to simultaneously compute the position of the sensor and a map of the sensor&#8217;s surroundings. For example, consider this approach to drawing a floor plan of your living room:<br /><ul><li>Grab a <a href="https://en.wikipedia.org/wiki/Laser_rangefinder">laser rangefinder</a>, stand in the middle of the room, and draw an X on a piece of paper.</li><li>Measure the distance from where you&#8217;re standing to any wall.</li><li>Draw a line on the paper where the wall is and write down the distance between the X (your position) and the wall.</li><li>Measure the distance from where you&#8217;re standing to another wall and add it to the drawing as well.</li><li>Now, move to another part of the room.</li><li>Since the walls (hopefully) haven&#8217;t moved, you can measure your distance to the same two walls to determine your new position.</li></ul><div><a href="https://2.bp.blogspot.com/-WPSSgojO8sQ/V_PULfH81MI/AAAAAAAAA6c/X3miY5g-aD4bvVEKoiZcVlaDIydYMXP2ACLcB/s1600/image00.png"><img border="0" height="207" src="https://2.bp.blogspot.com/-WPSSgojO8sQ/V_PULfH81MI/AAAAAAAAA6c/X3miY5g-aD4bvVEKoiZcVlaDIydYMXP2ACLcB/s320/image00.png" width="320"></a></div><div><br /></div><br />SLAM is an essential component of autonomous platforms such as self driving cars, automated forklifts in warehouses, robotic vacuum cleaners, and <a href="https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle">UAVs</a>.<br /><br />Cartographer builds globally consistent maps in real-time across a broad range of sensor configurations common in academia and industry. The following video is a demonstration of Cartographer&#8217;s real-time loop closure:<br /><br /> <br />A detailed description of Cartographer&#8217;s 2D algorithms can be found in <a href="https://research.google.com/pubs/pub45466.html">our ICRA 2016 paper</a>.<br /><br />Thanks to ROS integration and support from external contributors, Cartographer is ready to use on several robot platforms with ROS support:<br /><ul><li><a href="https://github.com/googlecartographer/cartographer_toyota_hsr">Toyota HSR</a></li><li><a href="https://github.com/googlecartographer/cartographer_turtlebot">TurtleBots</a></li><li><a href="https://google-cartographer-ros.readthedocs.io/en/latest/">PR2</a></li><li><a href="https://google-cartographer-ros.readthedocs.io/en/latest/">Revo LDS</a></li></ul>At Google, Cartographer has enabled a range of applications from mapping museums and transit hubs to enabling <a href="https://www.zeitgeistminds.com/talk/5604289821016064/amit-sood-the-peoples-museum-amit-sood">new visualizations of famous buildings</a>.<br /><br />We recognize the value of high quality datasets to the research community. That&#8217;s why, thanks to cooperation with the <a href="http://www.deutsches-museum.de/en">Deutsches Museum</a> (<a href="https://en.wikipedia.org/wiki/Deutsches_Museum">the largest tech museum in the world</a>), we are also releasing three years of LIDAR and IMU data collected using our 2D and 3D mapping backpack platforms during the development and testing of Cartographer.<br /><br /> <br />Our focus is on advancing and democratizing SLAM as a technology. Currently, Cartographer is heavily focused on LIDAR SLAM. Through continued development and community contributions, we hope to add both support for more sensors and platforms as well as new features, such as <a href="http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44821.pdf">lifelong mapping</a> and localizing in a pre-existing map.<br /><br /><i>By Damon Kohler, Wolfgang Hess, and Holger Rapp, Google Engineering</i>]]></description>
				<content:encoded><![CDATA[We are happy to announce the open source release of <a href="https://github.com/googlecartographer">Cartographer</a>, a real-time simultaneous localization and mapping (<a href="https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping">SLAM</a>) library in 2D and 3D with <a href="http://www.ros.org/">ROS</a> support.<br /><br />SLAM algorithms combine data from various sensors (e.g. <a href="https://en.wikipedia.org/wiki/Lidar">LIDAR</a>, <a href="https://en.wikipedia.org/wiki/Inertial_measurement_unit">IMU</a> and cameras) to simultaneously compute the position of the sensor and a map of the sensor’s surroundings. For example, consider this approach to drawing a floor plan of your living room:<br /><ul><li>Grab a <a href="https://en.wikipedia.org/wiki/Laser_rangefinder">laser rangefinder</a>, stand in the middle of the room, and draw an X on a piece of paper.</li><li>Measure the distance from where you’re standing to any wall.</li><li>Draw a line on the paper where the wall is and write down the distance between the X (your position) and the wall.</li><li>Measure the distance from where you’re standing to another wall and add it to the drawing as well.</li><li>Now, move to another part of the room.</li><li>Since the walls (hopefully) haven’t moved, you can measure your distance to the same two walls to determine your new position.</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-WPSSgojO8sQ/V_PULfH81MI/AAAAAAAAA6c/X3miY5g-aD4bvVEKoiZcVlaDIydYMXP2ACLcB/s1600/image00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="https://2.bp.blogspot.com/-WPSSgojO8sQ/V_PULfH81MI/AAAAAAAAA6c/X3miY5g-aD4bvVEKoiZcVlaDIydYMXP2ACLcB/s320/image00.png" width="320" /></a></div><div><br /></div><br />SLAM is an essential component of autonomous platforms such as self driving cars, automated forklifts in warehouses, robotic vacuum cleaners, and <a href="https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle">UAVs</a>.<br /><br />Cartographer builds globally consistent maps in real-time across a broad range of sensor configurations common in academia and industry. The following video is a demonstration of Cartographer’s real-time loop closure:<br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/-EQAJOoRqEQ" width="560"></iframe> <br />A detailed description of Cartographer’s 2D algorithms can be found in <a href="https://research.google.com/pubs/pub45466.html">our ICRA 2016 paper</a>.<br /><br />Thanks to ROS integration and support from external contributors, Cartographer is ready to use on several robot platforms with ROS support:<br /><ul><li><a href="https://github.com/googlecartographer/cartographer_toyota_hsr">Toyota HSR</a></li><li><a href="https://github.com/googlecartographer/cartographer_turtlebot">TurtleBots</a></li><li><a href="https://google-cartographer-ros.readthedocs.io/en/latest/">PR2</a></li><li><a href="https://google-cartographer-ros.readthedocs.io/en/latest/">Revo LDS</a></li></ul>At Google, Cartographer has enabled a range of applications from mapping museums and transit hubs to enabling <a href="https://www.zeitgeistminds.com/talk/5604289821016064/amit-sood-the-peoples-museum-amit-sood">new visualizations of famous buildings</a>.<br /><br />We recognize the value of high quality datasets to the research community. That’s why, thanks to cooperation with the <a href="http://www.deutsches-museum.de/en">Deutsches Museum</a> (<a href="https://en.wikipedia.org/wiki/Deutsches_Museum">the largest tech museum in the world</a>), we are also releasing three years of LIDAR and IMU data collected using our 2D and 3D mapping backpack platforms during the development and testing of Cartographer.<br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/DM0dpHLhtX0" width="560"></iframe> <br />Our focus is on advancing and democratizing SLAM as a technology. Currently, Cartographer is heavily focused on LIDAR SLAM. Through continued development and community contributions, we hope to add both support for more sensors and platforms as well as new features, such as <a href="http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44821.pdf">lifelong mapping</a> and localizing in a pre-existing map.<br /><br /><i>By Damon Kohler, Wolfgang Hess, and Holger Rapp, Google Engineering</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/introducing-cartographer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Introducing the Open Images Dataset</title>
		<link>https://googledata.org/google-open-source/introducing-the-open-images-dataset-2/</link>
		<comments>https://googledata.org/google-open-source/introducing-the-open-images-dataset-2/#comments</comments>
		<pubDate>Mon, 03 Oct 2016 16:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=7861a2d0cb1b59d01507be1792eeb99f</guid>
		<description><![CDATA[Originally posted on the Google Research BlogIn the last few years, advances in machine learning have enabled Computer Vision to progress rapidly, allowing for systems that can automatically caption images to apps that can create natural language repli...]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="https://research.googleblog.com/2016/09/introducing-open-images-dataset.html">Google Research Blog</a></i><br /><br />In the last few years, advances in machine learning have enabled <a href="https://en.wikipedia.org/wiki/Computer_vision">Computer Vision</a> to progress rapidly, allowing for systems that can <a href="https://research.googleblog.com/2016/09/show-and-tell-image-captioning-open.html">automatically caption images</a> to apps that can create <a href="https://research.googleblog.com/2016/05/aw-so-cute-allo-helps-you-respond-to.html">natural language replies in response to shared photos</a>. Much of this progress can be attributed to publicly available image datasets, such as <a href="http://image-net.org/">ImageNet</a> and <a href="http://mscoco.org/">COCO</a> for supervised learning, and <a href="http://webscope.sandbox.yahoo.com/catalog.php?datatype=i&amp;did=67">YFCC100M</a> for unsupervised learning.<br /><br />Today, we introduce <a href="https://github.com/openimages/dataset">Open Images</a>, a dataset consisting of ~9 million URLs to images that have been annotated with labels spanning over 6000 categories. We tried to make the dataset as practical as possible: the labels cover more real-life entities than the 1000 ImageNet classes, there are enough images to train a deep neural network from scratch and the images are listed as having a <a href="https://creativecommons.org/licenses/by/2.0/">Creative Commons Attribution</a> license<sup>*</sup>.<br /><br />The image-level annotations have been populated automatically with a vision model similar to <a href="https://cloud.google.com/vision/">Google Cloud Vision API</a>. For the validation set, we had human raters verify these automated labels to find and remove false positives. On average, each image has about 8 labels assigned. Here are some examples:<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-K7oXk2v5Buk/V-2c0Cd_M-I/AAAAAAAABUE/Zl4wdW_T5rAJiYTfgG2HcYsGOjc3hOGrgCLcB/s1600/Open%2BImages.png" imageanchor="1" style="margin-left: auto; margin-right: auto;" ><img border="0" height="220" src="https://3.bp.blogspot.com/-K7oXk2v5Buk/V-2c0Cd_M-I/AAAAAAAABUE/Zl4wdW_T5rAJiYTfgG2HcYsGOjc3hOGrgCLcB/s640/Open%2BImages.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Annotated images form the Open Images dataset. <b>Left:</b> <a href="https://www.flickr.com/photos/kevinkrejci/2957748348">Ghost Arches</a> by <a href="https://www.flickr.com/photos/kevinkrejci/">Kevin Krejci</a>. <b>Right:</b>  <a href="https://www.flickr.com/photos/lobsterstew/3197736453">Some Silverware</a> by <a href="https://www.flickr.com/photos/lobsterstew/">J B</a>. Both images used under <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a> license</td></tr></tbody></table>We have trained an Inception v3 model based on Open Images annotations alone, and the model is good enough to be used for fine-tuning applications as well as for other things, like <a href="https://research.googleblog.com/2015/07/deepdream-code-example-for-visualizing.html">DeepDream</a> or <a href="https://arxiv.org/abs/1508.06576">artistic style transfer</a> which require a well developed hierarchy of filters. We hope to improve the quality of the annotations in Open Images the coming months, and therefore the quality of models which can be trained.<br /><br />The dataset is a product of a collaboration between Google, CMU and Cornell universities, and there are a number of research papers built on top of the Open Images dataset in the works. It is our hope that datasets like <a href="https://github.com/openimages/dataset">Open Images</a> and the <a href="https://research.googleblog.com/2016/09/announcing-youtube-8m-large-and-diverse.html">recently released YouTube-8M</a> will be useful tools for the machine learning community.<br /><br /><i>By Ivan Krasin and Tom Duerig, Software Engineers</i><br /><br />* While we tried to identify images that are licensed under a Creative Commons Attribution license, we make no representations or warranties regarding the license status of each image and you should verify the license for each image yourself.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/introducing-the-open-images-dataset-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Another year of Haskell Hacking in the Google Zurich Office</title>
		<link>https://googledata.org/google-open-source/another-year-of-haskell-hacking-in-the-google-zurich-office/</link>
		<comments>https://googledata.org/google-open-source/another-year-of-haskell-hacking-in-the-google-zurich-office/#comments</comments>
		<pubDate>Fri, 30 Sep 2016 16:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=cb02b8d9f00b7451d853e64cd270ca29</guid>
		<description><![CDATA[<i>For the fourth time, the <a href="http://developers.google.com/open-source/">Google Open Source Programs Office</a> have co-sponsored a three-day hackathon for Haskell, an open source functional programming language. Gleb Peregud from Google&#8217;s Zurich office talks more about the event below.</i><br /><div><br /></div><div><div>On the weekend of July 22nd, 126 <a href="http://www.haskell.org/">Haskell</a>&#160;enthusiasts got together for another installment of <a href="https://wiki.haskell.org/ZuriHac2016">ZuriHac</a>, a yearly open source Haskell hackathon held in Zurich, Switzerland, and like the last two years it took place at Google Zurich.</div><div><br /></div><div>Participants could either hack uninterrupted in the main room or listen to a number of presentations in the tech talk room. Each day was kicked off with a keynote &#8212; Bas van Dijk talked about the <a href="https://www.youtube.com/watch?v=IKznN_TYjZk">use of functional programming at LumiGuide</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/meetups/20160722-ZuriHac2016_Bas_van_Dijk_FP-at-LumiGuide/Bas_van_Dijk-FP_at_LumiGuide-ZuriHac2016.pptx">slides</a>), Edward Kmett about <a href="https://www.youtube.com/watch?v=YTaNkWjd-ac">monad homomorphisms</a>, and Andres L&#246;h about <a href="https://www.youtube.com/watch?v=sQxH349HOik">generic-sop, a new approach to generic programming</a>. All three talks drew a full room of interested listeners.</div><div><br /></div><div>We also prepared two <a href="https://wiki.haskell.org/ZuriHac2016#Haskell_Mentors_and_the_ZuriHac_Codelabs">codelabs for Haskell beginners</a>, and rallied 28 dedicated volunteers to serve as mentors (thank you all!) so that there was always someone to ask for help.</div><div><br /></div><div>Aside from keynotes, there were five <a href="https://wiki.haskell.org/ZuriHac2016#Talks">other talks</a>: an experience report on <a href="https://www.youtube.com/watch?v=4py8BYIw1DI">parallelizing and distributing scientific computations</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Mazzoli%20-%20Parallelizing%20and%20distributing%20scientific%20software%20in%20Haskell.pdf">slides</a>), an overview of a language to program FPGAs called C&#955;aSH, an interactive tour through <a href="https://www.youtube.com/watch?v=-MFk7PIKYsg">low-level pieces of the GHC Haskell compiler</a>, an introduction to <a href="https://www.youtube.com/watch?v=-b-Oz6y-n_Y">web programming using Spock</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Thiemann%20-%20Spock.pdf">slides</a>) and a talk on <a href="https://www.youtube.com/watch?v=uLzP8YEfl9o">revamping the build system of GHC</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Mokhov%20-%20Meet%20Hadrian%2C%20a%20new%20build%20system%20of%20GHC.pptx">slides</a>).</div></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://4.bp.blogspot.com/-cVdvEHXTmII/V-xPLJZxTgI/AAAAAAAAA4s/u8YICwf3JEgLqrrXf5udwseDxhJMIajXgCK4B/s1600/image01.jpg"><img border="0" height="299" src="https://4.bp.blogspot.com/-cVdvEHXTmII/V-xPLJZxTgI/AAAAAAAAA4s/u8YICwf3JEgLqrrXf5udwseDxhJMIajXgCK4B/s400/image01.jpg" width="400"></a></td></tr><tr><td>Spontaneous mini-lectures attract smaller crowds.</td></tr></tbody></table><div><div>As is traditional, after a full Saturday of hacking, we went out to barbecue down by the Zurich lake.</div></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-BKLBYHgnIRU/V-xPROXi4_I/AAAAAAAAA48/6tSiCnguapE56hCyxHqBQNwH1hzqz6uUQCK4B/s1600/image00.jpg"><img border="0" height="298" src="https://1.bp.blogspot.com/-BKLBYHgnIRU/V-xPROXi4_I/AAAAAAAAA48/6tSiCnguapE56hCyxHqBQNwH1hzqz6uUQCK4B/s400/image00.jpg" width="400"></a></td></tr><tr><td>We were lucky that weather forecast was mistaken about a looming thunderstorm!</td></tr></tbody></table><div>We managed to beat last year's record, and welcomed 126 attendees. We hope to have even more participants next year - our goal is to host 150 hackers in 2017. See you in a year!</div><div><br /></div><div><i>By Gleb Peregud, Site Reliability Engineer</i></div>]]></description>
				<content:encoded><![CDATA[<i>For the fourth time, the <a href="http://developers.google.com/open-source/">Google Open Source Programs Office</a> have co-sponsored a three-day hackathon for Haskell, an open source functional programming language. Gleb Peregud from Google’s Zurich office talks more about the event below.</i><br /><div><br /></div><div><div>On the weekend of July 22nd, 126 <a href="http://www.haskell.org/">Haskell</a>&nbsp;enthusiasts got together for another installment of <a href="https://wiki.haskell.org/ZuriHac2016">ZuriHac</a>, a yearly open source Haskell hackathon held in Zurich, Switzerland, and like the last two years it took place at Google Zurich.</div><div><br /></div><div>Participants could either hack uninterrupted in the main room or listen to a number of presentations in the tech talk room. Each day was kicked off with a keynote — Bas van Dijk talked about the <a href="https://www.youtube.com/watch?v=IKznN_TYjZk">use of functional programming at LumiGuide</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/meetups/20160722-ZuriHac2016_Bas_van_Dijk_FP-at-LumiGuide/Bas_van_Dijk-FP_at_LumiGuide-ZuriHac2016.pptx">slides</a>), Edward Kmett about <a href="https://www.youtube.com/watch?v=YTaNkWjd-ac">monad homomorphisms</a>, and Andres Löh about <a href="https://www.youtube.com/watch?v=sQxH349HOik">generic-sop, a new approach to generic programming</a>. All three talks drew a full room of interested listeners.</div><div><br /></div><div>We also prepared two <a href="https://wiki.haskell.org/ZuriHac2016#Haskell_Mentors_and_the_ZuriHac_Codelabs">codelabs for Haskell beginners</a>, and rallied 28 dedicated volunteers to serve as mentors (thank you all!) so that there was always someone to ask for help.</div><div><br /></div><div>Aside from keynotes, there were five <a href="https://wiki.haskell.org/ZuriHac2016#Talks">other talks</a>: an experience report on <a href="https://www.youtube.com/watch?v=4py8BYIw1DI">parallelizing and distributing scientific computations</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Mazzoli%20-%20Parallelizing%20and%20distributing%20scientific%20software%20in%20Haskell.pdf">slides</a>), an overview of a language to program FPGAs called CλaSH, an interactive tour through <a href="https://www.youtube.com/watch?v=-MFk7PIKYsg">low-level pieces of the GHC Haskell compiler</a>, an introduction to <a href="https://www.youtube.com/watch?v=-b-Oz6y-n_Y">web programming using Spock</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Thiemann%20-%20Spock.pdf">slides</a>) and a talk on <a href="https://www.youtube.com/watch?v=uLzP8YEfl9o">revamping the build system of GHC</a> (<a href="https://github.com/meiersi/HaskellerZ/raw/master/zurihac/2016/talks/ZuriHac%202016%20-%20Mokhov%20-%20Meet%20Hadrian%2C%20a%20new%20build%20system%20of%20GHC.pptx">slides</a>).</div></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-cVdvEHXTmII/V-xPLJZxTgI/AAAAAAAAA4s/u8YICwf3JEgLqrrXf5udwseDxhJMIajXgCK4B/s1600/image01.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto; max-width: inherit; width: 100%;"><img border="0" height="299" src="https://4.bp.blogspot.com/-cVdvEHXTmII/V-xPLJZxTgI/AAAAAAAAA4s/u8YICwf3JEgLqrrXf5udwseDxhJMIajXgCK4B/s400/image01.jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="max-width: inherit; text-align: center; width: 100%;">Spontaneous mini-lectures attract smaller crowds.</td></tr></tbody></table><div><div>As is traditional, after a full Saturday of hacking, we went out to barbecue down by the Zurich lake.</div></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-BKLBYHgnIRU/V-xPROXi4_I/AAAAAAAAA48/6tSiCnguapE56hCyxHqBQNwH1hzqz6uUQCK4B/s1600/image00.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="298" src="https://1.bp.blogspot.com/-BKLBYHgnIRU/V-xPROXi4_I/AAAAAAAAA48/6tSiCnguapE56hCyxHqBQNwH1hzqz6uUQCK4B/s400/image00.jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="max-width: inherit; text-align: center; width: 100%;">We were lucky that weather forecast was mistaken about a looming thunderstorm!</td></tr></tbody></table><div>We managed to beat last year's record, and welcomed 126 attendees. We hope to have even more participants next year - our goal is to host 150 hackers in 2017. See you in a year!</div><div><br /></div><div><i>By Gleb Peregud, Site Reliability Engineer</i></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/another-year-of-haskell-hacking-in-the-google-zurich-office/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>.NET and PowerShell tooling for the Google Cloud Platform</title>
		<link>https://googledata.org/google-open-source/net-and-powershell-tooling-for-the-google-cloud-platform/</link>
		<comments>https://googledata.org/google-open-source/net-and-powershell-tooling-for-the-google-cloud-platform/#comments</comments>
		<pubDate>Thu, 29 Sep 2016 17:15:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=b9f3d4b2b42fcc82d058fffc0eb285d0</guid>
		<description><![CDATA[Last month Google made an <a href="https://cloudplatform.googleblog.com/2016/08/making-ASP.NET-apps-first-class-citizens-on-Google-Cloud-Platform.html">announcement</a> unveiling support for Visual Studio, C#, PowerShell, Microsoft SQL Server and more on the <a href="https://cloud.google.com/">Google Cloud Platform</a>. With so many &#160;new features, it is easy to gloss over some of the technical aspects of the announcement, especially the fact that all of the developer tooling and libraries are open source and available on GitHub.<br /><br />This post will go into some of the details behind the new C# libraries, PowerShell cmdlets, and Visual Studio extension. All three products are open source, have an exciting roadmap for the future and are hungry for your feedback.<br /><br /><b>C# bindings for Google APIs</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-dotnet">https://github.com/googlecloudplatform/google-cloud-dotnet</a><br />Docs: <a href="https://cloud.google.com/dotnet/">https://cloud.google.com/dotnet/</a><br /><br />For years, Google has had innovative technologies powering its data centers, unfortunately Google&#8217;s internal APIs and technology couldn&#8217;t directly benefit you and your software. That was, until the Google Cloud Platform started <a href="https://cloud.google.com/products/">exposing public APIs</a> for things like machine learning, storage, logging etc. With these APIs publicly available, you can add powerful capabilities to your apps without needing to manage complex infrastructure.<br /><br />There have been <a href="https://github.com/google/google-api-dotnet-client">C# bindings</a> for Google APIs for years. In fact, Google receives <i>hundreds of millions</i> of API calls from C# clients every day. But newer APIs, especially those from the Google Cloud Platform, require more advanced features like bidirectional streaming. That&#8217;s why rather than using HTTP/REST many newer Google APIs are built on top of <a href="http://grpc.io/">gRPC</a>, a high performance, open source universal RPC framework.<br /><br />But don&#8217;t worry, we have C# bindings for those gRPC-based APIs too; all of it open source and on GitHub.<br /><br />In both cases, the client library is the result of a C# code generator. We take the API&#8217;s discovery document (analogous to a <a href="https://www.w3.org/TR/wsdl">WSDL</a>) and generate C# code. gRPC APIs require more careful design than other APIs, but the end product is the same. Once built, the API libraries are published to NuGet.<br /><br />C# code generators for Google APIs isn&#8217;t the entire story.<br /><br />Source code generated from tools can look foreign at times. So for libraries where the codegen isn&#8217;t good enough, we have hand-written wrappers to provide a better, more idiomatic experience. In some cases -- such as CRUD operations using the <a href="https://cloud.google.com/datastore/docs/concepts/overview">Datastore API</a> -- the hand-written library cuts down on the required lines of code by half.<br /><br />Finally, support for C# doesn&#8217;t just mean code. We are also working to ensure Google APIs are supported on different runtimes too. Most Google APIs work on the cross-platform <a href="https://www.microsoft.com/net/core">.NET Core</a> runtime and we are continuing to expand support.<br /><br /><b>PowerShell support</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-powershell">https://github.com/googlecloudplatform/google-cloud-powershell</a><br />Docs: <a href="http://googlecloudplatform.github.io/google-cloud-powershell/">http://googlecloudplatform.github.io/google-cloud-powershell/</a><br /><br />C# support is great when you are writing full applications, but for DevOps, scripting is more typical. The <a href="https://cloud.google.com/sdk/">Cloud SDK</a> provides command-line tools (<a href="https://cloud.google.com/sdk/gcloud/">gcloud</a>, <a href="https://cloud.google.com/storage/docs/gsutil">gsutil</a>) for managing cloud resources, but when running on Windows, Windows PowerShell is a <i>dramatically</i> more productive environment. <a href="https://cloud.google.com/powershell/">Google Cloud tools for PowerShell</a> is a set of cmdlets so you can manage your Google cloud resources. They are strongly typed, and integrate seamlessly with other PowerShell tools. For example, to learn more about a cmdlet, just use Get-Help.<br /><br />In designing the PowerShell cmdlets, the main goal was to be idiomatic. We wanted to follow the best practices and guidelines so PowerShell novices and pros alike could use our cmdlets. Of course, if we have anything wrong, please log an <a href="https://github.com/GoogleCloudPlatform/google-cloud-powershell/issues/new">issue</a> on the GitHub repository. Pull requests are also welcome.<br /><br /><b>Visual Studio</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-visualstudio">https://github.com/googlecloudplatform/google-cloud-visualstudio</a><br />Docs: <a href="https://cloud.google.com/visual-studio/">https://cloud.google.com/visual-studio/</a><br /><br />The C# and PowerShell features should help developers using Google services. But the biggest impact on developer productivity comes from being inside the Visual Studio IDE.<br /><br />From within Visual Studio you can search for new extensions and find the <a href="https://visualstudiogallery.msdn.microsoft.com/ad1c8cd6-0e3c-4a69-add0-b4953b8211a7">Google Cloud Platform Extension for Visual Studio</a>. It provides tools for viewing/managing data stored in Google Cloud Storage and Google Cloud SQL. It also provides support for deploying ASP.NET 4.x applications to Google Compute Engine.<br /><br />It is only the first release and we have some big plans for the future. You can see a lot of the short-term features we have planned by looking at the <a href="https://github.com/GoogleCloudPlatform/google-cloud-visualstudio">issues list</a> in GitHub. Like making Google APIs light up for the new .NET Core runtime, being able to deploy ASP.NET Core applications to Google App Engine or Google Container Engine will be huge. Stay tuned for a future blog post about how to run C# on <a href="https://cloud.google.com/appengine/docs/flexible/">Google App Engine Flexible Environment</a>, as well.<br /><b><br /></b><b>We&#8217;re just getting started</b><br /><br />Hopefully you share my enthusiasm for Google&#8217;s ongoing development in .NET tooling. Not only is it exciting to be able to take advantage of Google Cloud Platform technologies, but also to see a future where .NET Core enables C# code to run cross-platform.<br /><br />But to be successful we need your help.<br /><br />If you have questions, be sure to ask on Stack Overflow (e.g. the <a href="https://stackoverflow.com/questions/tagged/google-cloud-visualstudio">google-cloud-visualstudio</a> or <a href="https://stackoverflow.com/questions/tagged/google-cloud-powershell">google-cloud-powershell</a> tags). If you have problems, please open issues on GitHub (<a href="https://github.com/googlecloudplatform/google-cloud-dotnet/issues/new">libraries</a>, <a href="https://github.com/googlecloudplatform/google-cloud-visualstudio/issues/new">VS</a>, <a href="https://github.com/GoogleCloudPlatform/google-cloud-powershell/issues/new">PowerShell</a>). If you still have trouble, participate in the <a href="https://groups.google.com/forum/#!forum/google-cloud-dev">google-cloud-dev</a> group.<br /><br />The team here at Google is thrilled to be working with the .NET stack and your feedback is immensely helpful in prioritizing things.<br /><br /><i>By Chris Smith, Software Engineer</i>]]></description>
				<content:encoded><![CDATA[Last month Google made an <a href="https://cloudplatform.googleblog.com/2016/08/making-ASP.NET-apps-first-class-citizens-on-Google-Cloud-Platform.html">announcement</a> unveiling support for Visual Studio, C#, PowerShell, Microsoft SQL Server and more on the <a href="https://cloud.google.com/">Google Cloud Platform</a>. With so many &nbsp;new features, it is easy to gloss over some of the technical aspects of the announcement, especially the fact that all of the developer tooling and libraries are open source and available on GitHub.<br /><br />This post will go into some of the details behind the new C# libraries, PowerShell cmdlets, and Visual Studio extension. All three products are open source, have an exciting roadmap for the future and are hungry for your feedback.<br /><br /><b>C# bindings for Google APIs</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-dotnet">https://github.com/googlecloudplatform/google-cloud-dotnet</a><br />Docs: <a href="https://cloud.google.com/dotnet/">https://cloud.google.com/dotnet/</a><br /><br />For years, Google has had innovative technologies powering its data centers, unfortunately Google’s internal APIs and technology couldn’t directly benefit you and your software. That was, until the Google Cloud Platform started <a href="https://cloud.google.com/products/">exposing public APIs</a> for things like machine learning, storage, logging etc. With these APIs publicly available, you can add powerful capabilities to your apps without needing to manage complex infrastructure.<br /><br />There have been <a href="https://github.com/google/google-api-dotnet-client">C# bindings</a> for Google APIs for years. In fact, Google receives <i>hundreds of millions</i> of API calls from C# clients every day. But newer APIs, especially those from the Google Cloud Platform, require more advanced features like bidirectional streaming. That’s why rather than using HTTP/REST many newer Google APIs are built on top of <a href="http://grpc.io/">gRPC</a>, a high performance, open source universal RPC framework.<br /><br />But don’t worry, we have C# bindings for those gRPC-based APIs too; all of it open source and on GitHub.<br /><br />In both cases, the client library is the result of a C# code generator. We take the API’s discovery document (analogous to a <a href="https://www.w3.org/TR/wsdl">WSDL</a>) and generate C# code. gRPC APIs require more careful design than other APIs, but the end product is the same. Once built, the API libraries are published to NuGet.<br /><br />C# code generators for Google APIs isn’t the entire story.<br /><br />Source code generated from tools can look foreign at times. So for libraries where the codegen isn’t good enough, we have hand-written wrappers to provide a better, more idiomatic experience. In some cases -- such as CRUD operations using the <a href="https://cloud.google.com/datastore/docs/concepts/overview">Datastore API</a> -- the hand-written library cuts down on the required lines of code by half.<br /><br />Finally, support for C# doesn’t just mean code. We are also working to ensure Google APIs are supported on different runtimes too. Most Google APIs work on the cross-platform <a href="https://www.microsoft.com/net/core">.NET Core</a> runtime and we are continuing to expand support.<br /><br /><b>PowerShell support</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-powershell">https://github.com/googlecloudplatform/google-cloud-powershell</a><br />Docs: <a href="http://googlecloudplatform.github.io/google-cloud-powershell/">http://googlecloudplatform.github.io/google-cloud-powershell/</a><br /><br />C# support is great when you are writing full applications, but for DevOps, scripting is more typical. The <a href="https://cloud.google.com/sdk/">Cloud SDK</a> provides command-line tools (<a href="https://cloud.google.com/sdk/gcloud/">gcloud</a>, <a href="https://cloud.google.com/storage/docs/gsutil">gsutil</a>) for managing cloud resources, but when running on Windows, Windows PowerShell is a <i>dramatically</i> more productive environment. <a href="https://cloud.google.com/powershell/">Google Cloud tools for PowerShell</a> is a set of cmdlets so you can manage your Google cloud resources. They are strongly typed, and integrate seamlessly with other PowerShell tools. For example, to learn more about a cmdlet, just use Get-Help.<br /><br />In designing the PowerShell cmdlets, the main goal was to be idiomatic. We wanted to follow the best practices and guidelines so PowerShell novices and pros alike could use our cmdlets. Of course, if we have anything wrong, please log an <a href="https://github.com/GoogleCloudPlatform/google-cloud-powershell/issues/new">issue</a> on the GitHub repository. Pull requests are also welcome.<br /><br /><b>Visual Studio</b><br /><br />Source: <a href="https://github.com/googlecloudplatform/google-cloud-visualstudio">https://github.com/googlecloudplatform/google-cloud-visualstudio</a><br />Docs: <a href="https://cloud.google.com/visual-studio/">https://cloud.google.com/visual-studio/</a><br /><br />The C# and PowerShell features should help developers using Google services. But the biggest impact on developer productivity comes from being inside the Visual Studio IDE.<br /><br />From within Visual Studio you can search for new extensions and find the <a href="https://visualstudiogallery.msdn.microsoft.com/ad1c8cd6-0e3c-4a69-add0-b4953b8211a7">Google Cloud Platform Extension for Visual Studio</a>. It provides tools for viewing/managing data stored in Google Cloud Storage and Google Cloud SQL. It also provides support for deploying ASP.NET 4.x applications to Google Compute Engine.<br /><br />It is only the first release and we have some big plans for the future. You can see a lot of the short-term features we have planned by looking at the <a href="https://github.com/GoogleCloudPlatform/google-cloud-visualstudio">issues list</a> in GitHub. Like making Google APIs light up for the new .NET Core runtime, being able to deploy ASP.NET Core applications to Google App Engine or Google Container Engine will be huge. Stay tuned for a future blog post about how to run C# on <a href="https://cloud.google.com/appengine/docs/flexible/">Google App Engine Flexible Environment</a>, as well.<br /><b><br /></b><b>We’re just getting started</b><br /><br />Hopefully you share my enthusiasm for Google’s ongoing development in .NET tooling. Not only is it exciting to be able to take advantage of Google Cloud Platform technologies, but also to see a future where .NET Core enables C# code to run cross-platform.<br /><br />But to be successful we need your help.<br /><br />If you have questions, be sure to ask on Stack Overflow (e.g. the <a href="https://stackoverflow.com/questions/tagged/google-cloud-visualstudio">google-cloud-visualstudio</a> or <a href="https://stackoverflow.com/questions/tagged/google-cloud-powershell">google-cloud-powershell</a> tags). If you have problems, please open issues on GitHub (<a href="https://github.com/googlecloudplatform/google-cloud-dotnet/issues/new">libraries</a>, <a href="https://github.com/googlecloudplatform/google-cloud-visualstudio/issues/new">VS</a>, <a href="https://github.com/GoogleCloudPlatform/google-cloud-powershell/issues/new">PowerShell</a>). If you still have trouble, participate in the <a href="https://groups.google.com/forum/#!forum/google-cloud-dev">google-cloud-dev</a> group.<br /><br />The team here at Google is thrilled to be working with the .NET stack and your feedback is immensely helpful in prioritizing things.<br /><br /><i>By Chris Smith, Software Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/net-and-powershell-tooling-for-the-google-cloud-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>A sizzling open source release for the Australian Election site</title>
		<link>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/</link>
		<comments>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/#comments</comments>
		<pubDate>Wed, 28 Sep 2016 22:49:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e7c5ec5214d0ae454ee8d79645e05981</guid>
		<description><![CDATA[<i>Originally posted on the <a href="https://googlegeodevelopers.blogspot.com.au/2016/09/a-sizzling-open-source-release-for.html">Geo Developers Blog</a></i><br /><br />One of the best parts of my job at Google is 20 percent time. While I was hired to help developers use Google&#8217;s APIs, I value the time I'm afforded to be a student myself&#8212;to learn new technologies and solve real-world problems. A few weeks prior to the recent Australian election an opportunity presented itself. A small team in Sydney set their sights on helping the 15 million voters stay informed of how to participate, track real-time results, and (of course) find the closest election sausage sizzle!<br /><br /><div><a href="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s1600/AU_elections_team.png"><img border="0" height="198" src="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s640/AU_elections_team.png" width="640"></a></div><br />Our team of designers, engineers and product managers didn't have an immediate sense of how to attack the problem. What we did have was the power of Google&#8217;s APIs, programming languages, and Cloud hosting with Firebase and Google Cloud Platform.<br /><br /><div><img height="393" src="https://lh3.googleusercontent.com/Ks1wpzKxi5hj_SLnBal7joAXN4ZV5dS_uwNsrvMaY24kB-IxbcWR5IT-pLYBojQhqzRDCO7JS3nPy7p_PYkH5VCPI51QTSUOyZBYQrroSkDGJywfZB5DXSo3nFUkyF1kPguBba8t" width="640"></div><br /><br />The result is a mish-mash of some technologies we'd been wanting to learn more about. We're open sourcing the <a href="http://ausvotes.withgoogle.com/">ausvotes.withgoogle.com</a> repository to give developers a sense of what happens when you get a handful of engineers in a room with a clear goal and a immovable deadline.<br /><br />The <a href="https://github.com/google/election-au-2016">Election AU 2016</a> repository uses:<br /><br /><ul><li><b>Go </b>from Google App Engine instances to serve the appropriate level of detail for users' viewport queries from memory at very low latency, and</li><li><b>Dart </b>to render the live result maps on top of Google Maps JavaScript API using Firebase real time database updates.</li></ul><br />A product is only as good as the attention and usage is receives. Our team was really happy with the results of our work:<br /><br /><ul><li>406,000 people used our maps, including 217,000 on election day.</li><li>We had 139 stories in the media.</li><li>Our map was also embedded in major news websites, such as <a href="http://www.skynews.com.au/news/politics.html">Sky News</a>.</li></ul><br />Complete setup and installation instructions are available in the <a href="https://github.com/google/election-au-2016/blob/master/README.md">GitHub README</a>.<br /><i><br /></i><i>By Brett Morgan, Developer Programs Engineer</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="https://googlegeodevelopers.blogspot.com.au/2016/09/a-sizzling-open-source-release-for.html">Geo Developers Blog</a></i><br /><br />One of the best parts of my job at Google is 20 percent time. While I was hired to help developers use Google’s APIs, I value the time I'm afforded to be a student myself—to learn new technologies and solve real-world problems. A few weeks prior to the recent Australian election an opportunity presented itself. A small team in Sydney set their sights on helping the 15 million voters stay informed of how to participate, track real-time results, and (of course) find the closest election sausage sizzle!<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s1600/AU_elections_team.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s640/AU_elections_team.png" width="640" /></a></div><br />Our team of designers, engineers and product managers didn't have an immediate sense of how to attack the problem. What we did have was the power of Google’s APIs, programming languages, and Cloud hosting with Firebase and Google Cloud Platform.<br /><br /><div class="separator" style="clear: both; text-align: center;"><img height="393" src="https://lh3.googleusercontent.com/Ks1wpzKxi5hj_SLnBal7joAXN4ZV5dS_uwNsrvMaY24kB-IxbcWR5IT-pLYBojQhqzRDCO7JS3nPy7p_PYkH5VCPI51QTSUOyZBYQrroSkDGJywfZB5DXSo3nFUkyF1kPguBba8t" style="border: none; transform: rotate(0rad);" width="640" /></div><br /><br />The result is a mish-mash of some technologies we'd been wanting to learn more about. We're open sourcing the <a href="http://ausvotes.withgoogle.com/">ausvotes.withgoogle.com</a> repository to give developers a sense of what happens when you get a handful of engineers in a room with a clear goal and a immovable deadline.<br /><br />The <a href="https://github.com/google/election-au-2016">Election AU 2016</a> repository uses:<br /><br /><ul><li><b>Go </b>from Google App Engine instances to serve the appropriate level of detail for users' viewport queries from memory at very low latency, and</li><li><b>Dart </b>to render the live result maps on top of Google Maps JavaScript API using Firebase real time database updates.</li></ul><br />A product is only as good as the attention and usage is receives. Our team was really happy with the results of our work:<br /><br /><ul><li>406,000 people used our maps, including 217,000 on election day.</li><li>We had 139 stories in the media.</li><li>Our map was also embedded in major news websites, such as <a href="http://www.skynews.com.au/news/politics.html">Sky News</a>.</li></ul><br />Complete setup and installation instructions are available in the <a href="https://github.com/google/election-au-2016/blob/master/README.md">GitHub README</a>.<br /><i><br /></i><i>By Brett Morgan, Developer Programs Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Open Source Peer Bonus Program</title>
		<link>https://googledata.org/google-open-source/google-open-source-peer-bonus-program/</link>
		<comments>https://googledata.org/google-open-source/google-open-source-peer-bonus-program/#comments</comments>
		<pubDate>Fri, 23 Sep 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=df15934aec50a727068542ee75e1de83</guid>
		<description><![CDATA[Five years ago the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a> established the Open Source Peer Bonus Program to remind Googlers of the importance of the myriad developers outside of Google who keep open source healthy and growing.<br /><br />The program works like this: we invite Googlers to nominate open source developers outside of the company who deserve recognition for their contributions to interesting open source projects including those used by Google. After review by a team of volunteer engineers, the recipients receive our heartfelt thanks and a small token of our appreciation.<br /><br />We have recognized more than 500 open source developers from 30+ countries who have contributed their time and talent to over 400 open source projects.<br /><br />Having just finished the latest round of the program, we&#8217;d like to recognize the individuals and the projects they worked on. Here&#8217;s everyone who gave us permission to thank them publicly:<br /><br /><table><thead><tr><td valign="bottom"><b>Name</b></td><td valign="bottom"><b>Project</b></td><td valign="bottom"><b>Name</b></td><td valign="bottom"><b>Project</b></td></tr></thead><tbody><tr><td>Olli Etuaho </td><td><a href="http://angleproject.org/">ANGLE</a></td><td>Alexander Morozov </td><td><a href="https://github.com/golang/go">Go programming language</a></td></tr><tr><td>Minko Gechev </td><td><a href="https://angular.io/">Angular</a></td><td>Joel Sing </td><td><a href="http://www.libressl.org/">LibreSSL</a></td></tr><tr><td>Georgios Kalpakas </td><td><a href="https://angular.io/">Angular</a></td><td>Daniel Borkmann </td><td><a href="http://kernel.org/">Linux kernel</a></td></tr><tr><td>Spencer Low </td><td><a href="https://source.android.com/">AOSP (Android)</a></td><td>Michael Ellerman </td><td><a href="http://kernel.org/">Linux kernel</a></td></tr><tr><td>Holden Karau </td><td><a href="http://spark.apache.org/">Apache Spark</a></td><td>Heiko Stuebner </td><td><a href="https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/">Linux kernel</a></td></tr><tr><td>Dave Taht </td><td><a href="http://bufferbloat.net/">Bufferbloat</a></td><td>Jonathan Garbee </td><td><a href="https://github.com/google/material-design-lite">Material Design Lite</a></td></tr><tr><td>Leon Han </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Chris Sullo </td><td><a href="https://github.com/sullo/nikto">Nikto</a></td></tr><tr><td>Yoav Weiss </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Carl Friedrich Bolz </td><td><a href="http://pypy.org/">PyPy</a></td></tr><tr><td>Rob Wu </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Brett Cannon </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Faisal Vali </td><td><a href="http://clang.llvm.org/">Clang</a></td><td>Raymond Hettinger </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Matt Godbolt </td><td><a href="https://gcc.godbolt.org/">Compiler Explorer</a></td><td>Tim Peters </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Paul Kocialkowski </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Tully Foote </td><td><a href="http://www.ros.org/">ROS</a></td></tr><tr><td>Jonathan Kollasch </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Igor Babuschkin </td><td><a href="http://tensorflow.org/">TensorFlow</a></td></tr><tr><td>Nicolas Reinecke </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Yuan Tang </td><td><a href="http://tensorflow.org/">TensorFlow</a></td></tr><tr><td>Werner Zeh </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Hanno Boeck </td><td><a href="https://fuzzing-project.org/">The Fuzzing Project</a></td></tr><tr><td>Daniel Greenfeld </td><td><a href="http://djangoproject.com/">Django</a></td><td>Khaled Hosny </td><td><a href="https://github.com/trufont/">TruFont</a></td></tr><tr><td>Eric Whitney </td><td><a href="http://ext4.wiki.kernel.org/">ext4</a></td><td>Tom Rini </td><td><a href="http://www.denx.de/wiki/U-Boot">U-Boot</a></td></tr><tr><td>Ben Martin </td><td><a href="http://fontforge.org/">FontForge</a></td><td>Caitlin Potter </td><td><a href="https://developers.google.com/v8/intro">V8</a></td></tr><tr><td>Dmitri Shuralyov </td><td><a href="https://github.com/google/go-github">go-github</a></td><td>Brian Behlendorf </td><td><a href="http://zfsonlinux.org/">ZFS on Linux</a></td></tr></tbody></table><br />Congratulations all and thank you so much for your contributions to the open source community!<br /><br /><i>By Helen Hu, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[Five years ago the <a href="https://developers.google.com/open-source/">Open Source Programs Office</a> established the Open Source Peer Bonus Program to remind Googlers of the importance of the myriad developers outside of Google who keep open source healthy and growing.<br /><br />The program works like this: we invite Googlers to nominate open source developers outside of the company who deserve recognition for their contributions to interesting open source projects including those used by Google. After review by a team of volunteer engineers, the recipients receive our heartfelt thanks and a small token of our appreciation.<br /><br />We have recognized more than 500 open source developers from 30+ countries who have contributed their time and talent to over 400 open source projects.<br /><br />Having just finished the latest round of the program, we’d like to recognize the individuals and the projects they worked on. Here’s everyone who gave us permission to thank them publicly:<br /><br /><table><thead><tr><td valign="bottom"><b>Name</b></td><td valign="bottom"><b>Project</b></td><td valign="bottom"><b>Name</b></td><td valign="bottom"><b>Project</b></td></tr></thead><tbody><tr><td>Olli Etuaho </td><td><a href="http://angleproject.org/">ANGLE</a></td><td>Alexander Morozov </td><td><a href="https://github.com/golang/go">Go programming language</a></td></tr><tr><td>Minko Gechev </td><td><a href="https://angular.io/">Angular</a></td><td>Joel Sing </td><td><a href="http://www.libressl.org/">LibreSSL</a></td></tr><tr><td>Georgios Kalpakas </td><td><a href="https://angular.io/">Angular</a></td><td>Daniel Borkmann </td><td><a href="http://kernel.org/">Linux kernel</a></td></tr><tr><td>Spencer Low </td><td><a href="https://source.android.com/">AOSP (Android)</a></td><td>Michael Ellerman </td><td><a href="http://kernel.org/">Linux kernel</a></td></tr><tr><td>Holden Karau </td><td><a href="http://spark.apache.org/">Apache Spark</a></td><td>Heiko Stuebner </td><td><a href="https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/">Linux kernel</a></td></tr><tr><td>Dave Taht </td><td><a href="http://bufferbloat.net/">Bufferbloat</a></td><td>Jonathan Garbee </td><td><a href="https://github.com/google/material-design-lite">Material Design Lite</a></td></tr><tr><td>Leon Han </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Chris Sullo </td><td><a href="https://github.com/sullo/nikto">Nikto</a></td></tr><tr><td>Yoav Weiss </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Carl Friedrich Bolz </td><td><a href="http://pypy.org/">PyPy</a></td></tr><tr><td>Rob Wu </td><td><a href="https://www.chromium.org/">Chromium</a></td><td>Brett Cannon </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Faisal Vali </td><td><a href="http://clang.llvm.org/">Clang</a></td><td>Raymond Hettinger </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Matt Godbolt </td><td><a href="https://gcc.godbolt.org/">Compiler Explorer</a></td><td>Tim Peters </td><td><a href="https://www.python.org/">Python</a></td></tr><tr><td>Paul Kocialkowski </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Tully Foote </td><td><a href="http://www.ros.org/">ROS</a></td></tr><tr><td>Jonathan Kollasch </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Igor Babuschkin </td><td><a href="http://tensorflow.org/">TensorFlow</a></td></tr><tr><td>Nicolas Reinecke </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Yuan Tang </td><td><a href="http://tensorflow.org/">TensorFlow</a></td></tr><tr><td>Werner Zeh </td><td><a href="https://www.coreboot.org/">coreboot</a></td><td>Hanno Boeck </td><td><a href="https://fuzzing-project.org/">The Fuzzing Project</a></td></tr><tr><td>Daniel Greenfeld </td><td><a href="http://djangoproject.com/">Django</a></td><td>Khaled Hosny </td><td><a href="https://github.com/trufont/">TruFont</a></td></tr><tr><td>Eric Whitney </td><td><a href="http://ext4.wiki.kernel.org/">ext4</a></td><td>Tom Rini </td><td><a href="http://www.denx.de/wiki/U-Boot">U-Boot</a></td></tr><tr><td>Ben Martin </td><td><a href="http://fontforge.org/">FontForge</a></td><td>Caitlin Potter </td><td><a href="https://developers.google.com/v8/intro">V8</a></td></tr><tr><td>Dmitri Shuralyov </td><td><a href="https://github.com/google/go-github">go-github</a></td><td>Brian Behlendorf </td><td><a href="http://zfsonlinux.org/">ZFS on Linux</a></td></tr></tbody></table><br />Congratulations all and thank you so much for your contributions to the open source community!<br /><br /><i>By Helen Hu, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-open-source-peer-bonus-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Angular, version 2: proprioception-reinforcement</title>
		<link>https://googledata.org/google-open-source/angular-version-2-proprioception-reinforcement/</link>
		<comments>https://googledata.org/google-open-source/angular-version-2-proprioception-reinforcement/#comments</comments>
		<pubDate>Thu, 22 Sep 2016 23:02:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=4c3c41b918259d53f75a4c7f47b0ed63</guid>
		<description><![CDATA[<i>Originally posted on the <a href="http://angularjs.blogspot.com/2016/09/angular2-final.html">Angular Blog</a></i><br /><br />Today, at a special meetup at Google HQ, we announced the final release version of Angular 2, the full-platform successor to Angular 1.<br /><br />What does "final" mean? Stability that's been validated across a wide range of use cases, and a framework that's been optimized for developer productivity, small payload size, and performance. With ahead-of-time compilation and built-in lazy-loading, we&#8217;ve made sure that you can deploy the fastest, smallest applications across the browser, desktop, and mobile environments. This release also represents huge improvements to developer productivity with the Angular CLI and styleguide.<br /><br />Angular 1 first solved the problem of how to develop for an emerging web. Six years later, the challenges faced by today&#8217;s application developers, and the sophistication of the devices that applications must support, have both changed immensely. With this release, and its more capable versions of the Router, Forms, and other core APIs, today you can build amazing apps for any platform. If you prefer your own approach, Angular is also modular and flexible, so you can use your favorite third-party library or write your own.<br /><br />From the beginning, we built Angular in collaboration with the open source development community. We are grateful to the large number of contributors who dedicated time to submitting pull requests, issues, and repro cases, who discussed and debated design decisions, and validated (and pushed back on) our RCs. We wish we could have brought every one of you in person to our meetup so you could celebrate this milestone with us tonight!<br /><br /><div><a href="https://4.bp.blogspot.com/Eduq1SGmav17xp4hg91xMSt3DA1bS-zvZbo4TLwLf43Bu1XmIOSJyeb-H2HTeQEXHdTJvSVCMmuWXwZJpKwT_XmKpKEh-4x1eZgsmjRvu2YTKzPqSxn_XRkecD9rMqmOo0gMNybF"><img border="0" height="250" src="https://4.bp.blogspot.com/Eduq1SGmav17xp4hg91xMSt3DA1bS-zvZbo4TLwLf43Bu1XmIOSJyeb-H2HTeQEXHdTJvSVCMmuWXwZJpKwT_XmKpKEh-4x1eZgsmjRvu2YTKzPqSxn_XRkecD9rMqmOo0gMNybF" width="400"></a></div><br /><h3>What&#8217;s next?</h3>Angular is now ready for the world, and we&#8217;re excited for you to join the thousands of developers already building with Angular 2. &#160;But what&#8217;s coming next for Angular?<br /><br />A few of the things you can expect in the near future from the Angular team:<br /><br /><ul><li>Bug fixes and non-breaking features for APIs marked as stable</li><li>More guides and live examples specific to your use cases</li><li>More work on animations</li><li>Angular Material 2</li><li>Moving WebWorkers out of experimental</li><li>More features and more languages for Angular Universal</li><li>Even more speed and payload size improvements</li></ul><br /><h3>Semantic Versioning</h3>We heard loud and clear that our RC labeling was confusing. To make it easy to manage dependencies on stable Angular releases, starting today with Angular 2.0.0, we will move to semantic versioning. &#160;Angular versioning will then follow the MAJOR.MINOR.PATCH scheme as described by <a href="http://semver.org/spec/v2.0.0.html">semver</a>:<br /><br /><ol><li>the MAJOR version gets incremented when incompatible API changes are made to stable APIs,</li><li>the MINOR version gets incremented when backwards-compatible functionality are added,</li><li>the PATCH version gets incremented when backwards-compatible bug are fixed.</li></ol><br />Moving Angular to semantic versioning ensures rapid access to the newest features for our component and tooling ecosystem, while preserving a consistent and reliable development environment for production applications that depend on stability between major releases, but still benefit from bug fixes and new APIs.<br /><h3>Contributors</h3><span>Aaron Frost, Aaron (Ron) Tsui, Adam Bradley, Adil Mourahi, agpreynolds, Ajay Ambre, Alberto Santini, Alec Wiseman, Alejandro Caravaca Puchades, Alex Castillo, Alex Eagle, Alex Rickabaugh, Alex Wolfe, Alexander Bachmann, Alfonso Presa, Ali Johnson, Aliaksei Palkanau, Almero Steyn, Alyssa Nicoll, Alxandr, Andr&#233; Gil, Andreas Argelius, Andreas Wissel, Andrei Alecu, Andrei Tserakhau, Andrew, Andrii Nechytailov, Ansel Rosenberg, Anthony Zotti, Anton Moiseev, Artur Meyster, asukaleido, Aysegul Yonet, Aziz Abbas, Basarat Ali Syed, BeastCode, Ben Nadel, Bertrand Laporte, Blake La Pierre, Bo Guo, Bob Nystrom, Borys Semerenko, Bradley Heinz, Brandon Roberts, Brendan Wyse, Brian Clark, Brian Ford, Brian Hsu, dozingcat, Brian Yarger, Bryce Johnson, CJ Avilla, cjc343, Caitlin Potter, C&#233;dric Exbrayat, Chirayu Krishnappa, Christian Weyer, Christoph Burgdorf, Christoph Guttandin, Christoph Hoeller, Christoffer Noring, Chuck Jazdzewski, Cindy, Ciro Nunes, Codebacca, Cody Lundquist, Cody-Nicholson, Cole R Lawrence, Constantin Gavrilete, Cory Bateman, Craig Doremus, crisbeto, Cuel, Cyril Balit, Cyrille Tuzi, Damien Cassan, Dan Grove, Dan Wahlin, Daniel Leib, Daniel Rasmuson, dapperAuteur, Daria Jung, David East, David Fuka, David Reher, David-Emmanuel Divernois, Davy Engone, Deborah Kurata, Derek Van Dyke, DevVersion, Dima Kuzmich, Dimitrios Loukadakis, Dmitriy Shekhovtsov, Dmitry Patsura, Dmitry Zamula, Dmytro Kulyk, Donald Spencer, Douglas Duteil, dozingcat, Drew Moore, Dylan Johnson, Edd Hannay, Edouard Coissy, eggers, elimach, Elliott Davis, Eric Jimenez, Eric Lee Carraway, Eric Martinez, Eric Mendes Dantas, Eric Tsang, Essam Al Joubori, Evan Martin, Fabian Raetz, Fahimnur Alam, Fatima Remtullah, Federico Caselli, Felipe Batista, Felix Itzenplitz, Felix Yan, Filip Bruun, Filipe Silva, Flavio Corpa, Florian Knop, Foxandxss, Gabe Johnson, Gabe Scholz, GabrielBico, Gautam krishna.R, Georgii Dolzhykov, Georgios Kalpakas, Gerd Jungbluth, Gerard Sans, Gion Kunz, Gonzalo Ruiz de Villa, Gr&#233;gory Bataille, G&#252;nter Z&#246;chbauer, Hank Duan, Hannah Howard, Hans Larsen, Harry Terkelsen, Harry Wolff, Henrique Limas, Henry Wong, Hiroto Fukui, Hongbo Miao, Huston Hedinger, Ian Riley, Idir Ouhab Meskine, Igor Minar, Ioannis Pinakoulakis, The Ionic Team, Isaac Park, Istvan Novak, Itay Radotzki, Ivan Gabriele, Ivey Padgett, Ivo Gabe de Wolff, J. Andrew Brassington, Jack Franklin, Jacob Eggers, Jacob MacDonald, Jacob Richman, Jake Garelick, James Blacklock, James Ward, Jason Choi, Jason Kurian, Jason Teplitz, Javier Ros, Jay Kan, Jay Phelps, Jay Traband, Jeff Cross, Jeff Whelpley, Jennifer Bland, jennyraj, Jeremy Attali, Jeremy Elbourn, Jeremy Wilken, Jerome Velociter, Jesper R&#248;nn-Jensen, Jesse Palmer, Jes&#250;s Rodr&#237;guez, Jes&#250;s Rodr&#237;guez, Jimmy Gong, Joe Eames, Joel Brewer, John Arstingstall, John Jelinek IV, John Lindquist, John Papa, John-David Dalton, Jonathan Miles, Joost de Vries, Jorge Cruz, Josef Meier, Josh Brown, Josh Gerdes, Josh Kurz, Josh Olson, Josh Thomas, Joseph Perrott, Joshua Otis, Josu Guiterrez, Julian Motz, Julie Ralph, Jules Kremer, Justin DuJardin, Kai Ruhnau, Kapunahele Wong, Kara Erickson, Kathy Walrath, Keerti Parthasarathy, Kenneth Hahn, Kevin Huang, Kevin Kirsche, Kevin Merckx, Kevin Moore, Kevin Western, Konstantin Shcheglov, Kurt Hong, Levente Morva, laiso, Lina Lu, LongYinan, Lucas Mirelmann, Luka Pejovic, Lukas Ruebbelke, Marc Fisher, Marc Laval, Marcel Good, Marcy Sutton, Marcus Krahl, Marek Buko, Mark Ethan Trostler, Martin Gontovnikas, Martin Probst, Martin Staffa, Matan Lurey, Mathias Raacke, Matias Niemel&#228;, Matt Follett, Matt Greenland, Matt Wheatley, Matteo Suppo, Matthew Hill, Matthew Schranz, Matthew Windwer, Max Sills, Maxim Salnikov, Melinda Sarnicki Bernardo, Michael Giambalvo, Michael Goderbauer, Michael Mrowetz, Michael-Rainabba Richardson, Micha&#322; Go&#322;&#281;biowski, Mikael Morlund, Mike Ryan, Minko Gechev, Mi&#353;ko Hevery, Mohamed Hegazy, Nan Schweiger, Naomi Black, Nathan Walker, The NativeScript Team, Nicholas Hydock, Nick Mann, Nick Raphael, Nick Van Dyck, Ning Xia, Olivier Chafik, Olivier Combe, Oto Do&#269;kal, Pablo Villoslada Puigcerber, Pascal Precht, Patrice Chalin, Patrick Stapleton, Paul Gschwendtner, Pawel Kozlowski, Pengfei Yang, Pete Bacon Darwin, Pete Boere, Pete Mertz, Philip Harrison, Phillip Alexander, Phong Huynh, Polvista, Pouja, Pouria Alimirzaei, Prakal, Prayag Verma, Rado Kirov, Raul Jimenez, Razvan Moraru, Rene Weber, Rex Ye, Richard Harrington, Richard Kho, Richard Sentino, Rob Eisenberg, Rob Richardson, Rob Wormald, Robert Ferentz, Robert Messerle, Roberto Simonetti, Rodolfo Yabut, Sam Herrmann, Sam Julien, Sam Lin, Sam Rawlins, Sammy Jelin, Sander Elias, Scott Hatcher, Scott Hyndman, Scott Little, ScottSWu, Sebastian Hillig, Sebastian M&#252;ller, Sebasti&#225;n Duque, Sekib Omazic, Shahar Talmi, Shai Reznik, Sharon DiOrio, Shannon Ayres, Shefali Sinha, Shlomi Assaf, Shuhei Kagawa, Sigmund Cherem, Simon H&#252;rlimann (CyT), Simon Ramsay, Stacy Gay, Stephen Adams, Stephen Fluin, Steve Mao, Steve Schmitt, Suguru Inatomi, Tamas Csaba, Ted Sander, Tero Parviainen, Thierry Chatel, Thierry Templier, Thomas Burleson, Thomas Henley, Tim Blasi, Tim Ruffles, Timur Meyster, Tobias Bosch, Tony Childs, Tom Ingebretsen, Tom Schoener, Tommy Odom, Torgeir Helgevold, Travis Kaufman, Trotyl Yu, Tycho Grouwstra, The Typescript Team, Uli K&#246;hler, Uri Shaked, Utsav Shah, Valter J&#250;nior, Vamsi V, Vamsi Varikuti, Vanga Sasidhar, Veikko Karsikko, Victor Berchet, Victor Mejia, Victor Savkin, Vinci Rufus, Vijay Menon, Vikram Subramanian, Vivek Ghaisas, Vladislav Zarakovsky, Vojta Jina, Ward Bell, Wassim Chegham, Wenqian Guo, Wesley Cho, Will Ngo, William Johnson, William Welling, Wilson Mendes Neto, Wojciech Kwiatek, Yang Lin, Yegor Jbanov, Zach Bjornson, Zhicheng Wang, and many more...</span><br /><br />With gratitude and appreciation, and anticipation to see what you'll build next, welcome to the next stage of Angular.<br /><br /><i>By Jules Kremer, Angular Team</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="http://angularjs.blogspot.com/2016/09/angular2-final.html">Angular Blog</a></i><br /><br />Today, at a special meetup at Google HQ, we announced the final release version of Angular 2, the full-platform successor to Angular 1.<br /><br />What does "final" mean? Stability that's been validated across a wide range of use cases, and a framework that's been optimized for developer productivity, small payload size, and performance. With ahead-of-time compilation and built-in lazy-loading, we’ve made sure that you can deploy the fastest, smallest applications across the browser, desktop, and mobile environments. This release also represents huge improvements to developer productivity with the Angular CLI and styleguide.<br /><br />Angular 1 first solved the problem of how to develop for an emerging web. Six years later, the challenges faced by today’s application developers, and the sophistication of the devices that applications must support, have both changed immensely. With this release, and its more capable versions of the Router, Forms, and other core APIs, today you can build amazing apps for any platform. If you prefer your own approach, Angular is also modular and flexible, so you can use your favorite third-party library or write your own.<br /><br />From the beginning, we built Angular in collaboration with the open source development community. We are grateful to the large number of contributors who dedicated time to submitting pull requests, issues, and repro cases, who discussed and debated design decisions, and validated (and pushed back on) our RCs. We wish we could have brought every one of you in person to our meetup so you could celebrate this milestone with us tonight!<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/Eduq1SGmav17xp4hg91xMSt3DA1bS-zvZbo4TLwLf43Bu1XmIOSJyeb-H2HTeQEXHdTJvSVCMmuWXwZJpKwT_XmKpKEh-4x1eZgsmjRvu2YTKzPqSxn_XRkecD9rMqmOo0gMNybF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://4.bp.blogspot.com/Eduq1SGmav17xp4hg91xMSt3DA1bS-zvZbo4TLwLf43Bu1XmIOSJyeb-H2HTeQEXHdTJvSVCMmuWXwZJpKwT_XmKpKEh-4x1eZgsmjRvu2YTKzPqSxn_XRkecD9rMqmOo0gMNybF" width="400" /></a></div><br /><h3>What’s next?</h3>Angular is now ready for the world, and we’re excited for you to join the thousands of developers already building with Angular 2. &nbsp;But what’s coming next for Angular?<br /><br />A few of the things you can expect in the near future from the Angular team:<br /><br /><ul><li>Bug fixes and non-breaking features for APIs marked as stable</li><li>More guides and live examples specific to your use cases</li><li>More work on animations</li><li>Angular Material 2</li><li>Moving WebWorkers out of experimental</li><li>More features and more languages for Angular Universal</li><li>Even more speed and payload size improvements</li></ul><br /><h3>Semantic Versioning</h3>We heard loud and clear that our RC labeling was confusing. To make it easy to manage dependencies on stable Angular releases, starting today with Angular 2.0.0, we will move to semantic versioning. &nbsp;Angular versioning will then follow the MAJOR.MINOR.PATCH scheme as described by <a href="http://semver.org/spec/v2.0.0.html">semver</a>:<br /><br /><ol><li>the MAJOR version gets incremented when incompatible API changes are made to stable APIs,</li><li>the MINOR version gets incremented when backwards-compatible functionality are added,</li><li>the PATCH version gets incremented when backwards-compatible bug are fixed.</li></ol><br />Moving Angular to semantic versioning ensures rapid access to the newest features for our component and tooling ecosystem, while preserving a consistent and reliable development environment for production applications that depend on stability between major releases, but still benefit from bug fixes and new APIs.<br /><h3>Contributors</h3><span style="font-size: xx-small;">Aaron Frost, Aaron (Ron) Tsui, Adam Bradley, Adil Mourahi, agpreynolds, Ajay Ambre, Alberto Santini, Alec Wiseman, Alejandro Caravaca Puchades, Alex Castillo, Alex Eagle, Alex Rickabaugh, Alex Wolfe, Alexander Bachmann, Alfonso Presa, Ali Johnson, Aliaksei Palkanau, Almero Steyn, Alyssa Nicoll, Alxandr, André Gil, Andreas Argelius, Andreas Wissel, Andrei Alecu, Andrei Tserakhau, Andrew, Andrii Nechytailov, Ansel Rosenberg, Anthony Zotti, Anton Moiseev, Artur Meyster, asukaleido, Aysegul Yonet, Aziz Abbas, Basarat Ali Syed, BeastCode, Ben Nadel, Bertrand Laporte, Blake La Pierre, Bo Guo, Bob Nystrom, Borys Semerenko, Bradley Heinz, Brandon Roberts, Brendan Wyse, Brian Clark, Brian Ford, Brian Hsu, dozingcat, Brian Yarger, Bryce Johnson, CJ Avilla, cjc343, Caitlin Potter, Cédric Exbrayat, Chirayu Krishnappa, Christian Weyer, Christoph Burgdorf, Christoph Guttandin, Christoph Hoeller, Christoffer Noring, Chuck Jazdzewski, Cindy, Ciro Nunes, Codebacca, Cody Lundquist, Cody-Nicholson, Cole R Lawrence, Constantin Gavrilete, Cory Bateman, Craig Doremus, crisbeto, Cuel, Cyril Balit, Cyrille Tuzi, Damien Cassan, Dan Grove, Dan Wahlin, Daniel Leib, Daniel Rasmuson, dapperAuteur, Daria Jung, David East, David Fuka, David Reher, David-Emmanuel Divernois, Davy Engone, Deborah Kurata, Derek Van Dyke, DevVersion, Dima Kuzmich, Dimitrios Loukadakis, Dmitriy Shekhovtsov, Dmitry Patsura, Dmitry Zamula, Dmytro Kulyk, Donald Spencer, Douglas Duteil, dozingcat, Drew Moore, Dylan Johnson, Edd Hannay, Edouard Coissy, eggers, elimach, Elliott Davis, Eric Jimenez, Eric Lee Carraway, Eric Martinez, Eric Mendes Dantas, Eric Tsang, Essam Al Joubori, Evan Martin, Fabian Raetz, Fahimnur Alam, Fatima Remtullah, Federico Caselli, Felipe Batista, Felix Itzenplitz, Felix Yan, Filip Bruun, Filipe Silva, Flavio Corpa, Florian Knop, Foxandxss, Gabe Johnson, Gabe Scholz, GabrielBico, Gautam krishna.R, Georgii Dolzhykov, Georgios Kalpakas, Gerd Jungbluth, Gerard Sans, Gion Kunz, Gonzalo Ruiz de Villa, Grégory Bataille, Günter Zöchbauer, Hank Duan, Hannah Howard, Hans Larsen, Harry Terkelsen, Harry Wolff, Henrique Limas, Henry Wong, Hiroto Fukui, Hongbo Miao, Huston Hedinger, Ian Riley, Idir Ouhab Meskine, Igor Minar, Ioannis Pinakoulakis, The Ionic Team, Isaac Park, Istvan Novak, Itay Radotzki, Ivan Gabriele, Ivey Padgett, Ivo Gabe de Wolff, J. Andrew Brassington, Jack Franklin, Jacob Eggers, Jacob MacDonald, Jacob Richman, Jake Garelick, James Blacklock, James Ward, Jason Choi, Jason Kurian, Jason Teplitz, Javier Ros, Jay Kan, Jay Phelps, Jay Traband, Jeff Cross, Jeff Whelpley, Jennifer Bland, jennyraj, Jeremy Attali, Jeremy Elbourn, Jeremy Wilken, Jerome Velociter, Jesper Rønn-Jensen, Jesse Palmer, Jesús Rodríguez, Jesús Rodríguez, Jimmy Gong, Joe Eames, Joel Brewer, John Arstingstall, John Jelinek IV, John Lindquist, John Papa, John-David Dalton, Jonathan Miles, Joost de Vries, Jorge Cruz, Josef Meier, Josh Brown, Josh Gerdes, Josh Kurz, Josh Olson, Josh Thomas, Joseph Perrott, Joshua Otis, Josu Guiterrez, Julian Motz, Julie Ralph, Jules Kremer, Justin DuJardin, Kai Ruhnau, Kapunahele Wong, Kara Erickson, Kathy Walrath, Keerti Parthasarathy, Kenneth Hahn, Kevin Huang, Kevin Kirsche, Kevin Merckx, Kevin Moore, Kevin Western, Konstantin Shcheglov, Kurt Hong, Levente Morva, laiso, Lina Lu, LongYinan, Lucas Mirelmann, Luka Pejovic, Lukas Ruebbelke, Marc Fisher, Marc Laval, Marcel Good, Marcy Sutton, Marcus Krahl, Marek Buko, Mark Ethan Trostler, Martin Gontovnikas, Martin Probst, Martin Staffa, Matan Lurey, Mathias Raacke, Matias Niemelä, Matt Follett, Matt Greenland, Matt Wheatley, Matteo Suppo, Matthew Hill, Matthew Schranz, Matthew Windwer, Max Sills, Maxim Salnikov, Melinda Sarnicki Bernardo, Michael Giambalvo, Michael Goderbauer, Michael Mrowetz, Michael-Rainabba Richardson, Michał Gołębiowski, Mikael Morlund, Mike Ryan, Minko Gechev, Miško Hevery, Mohamed Hegazy, Nan Schweiger, Naomi Black, Nathan Walker, The NativeScript Team, Nicholas Hydock, Nick Mann, Nick Raphael, Nick Van Dyck, Ning Xia, Olivier Chafik, Olivier Combe, Oto Dočkal, Pablo Villoslada Puigcerber, Pascal Precht, Patrice Chalin, Patrick Stapleton, Paul Gschwendtner, Pawel Kozlowski, Pengfei Yang, Pete Bacon Darwin, Pete Boere, Pete Mertz, Philip Harrison, Phillip Alexander, Phong Huynh, Polvista, Pouja, Pouria Alimirzaei, Prakal, Prayag Verma, Rado Kirov, Raul Jimenez, Razvan Moraru, Rene Weber, Rex Ye, Richard Harrington, Richard Kho, Richard Sentino, Rob Eisenberg, Rob Richardson, Rob Wormald, Robert Ferentz, Robert Messerle, Roberto Simonetti, Rodolfo Yabut, Sam Herrmann, Sam Julien, Sam Lin, Sam Rawlins, Sammy Jelin, Sander Elias, Scott Hatcher, Scott Hyndman, Scott Little, ScottSWu, Sebastian Hillig, Sebastian Müller, Sebastián Duque, Sekib Omazic, Shahar Talmi, Shai Reznik, Sharon DiOrio, Shannon Ayres, Shefali Sinha, Shlomi Assaf, Shuhei Kagawa, Sigmund Cherem, Simon Hürlimann (CyT), Simon Ramsay, Stacy Gay, Stephen Adams, Stephen Fluin, Steve Mao, Steve Schmitt, Suguru Inatomi, Tamas Csaba, Ted Sander, Tero Parviainen, Thierry Chatel, Thierry Templier, Thomas Burleson, Thomas Henley, Tim Blasi, Tim Ruffles, Timur Meyster, Tobias Bosch, Tony Childs, Tom Ingebretsen, Tom Schoener, Tommy Odom, Torgeir Helgevold, Travis Kaufman, Trotyl Yu, Tycho Grouwstra, The Typescript Team, Uli Köhler, Uri Shaked, Utsav Shah, Valter Júnior, Vamsi V, Vamsi Varikuti, Vanga Sasidhar, Veikko Karsikko, Victor Berchet, Victor Mejia, Victor Savkin, Vinci Rufus, Vijay Menon, Vikram Subramanian, Vivek Ghaisas, Vladislav Zarakovsky, Vojta Jina, Ward Bell, Wassim Chegham, Wenqian Guo, Wesley Cho, Will Ngo, William Johnson, William Welling, Wilson Mendes Neto, Wojciech Kwiatek, Yang Lin, Yegor Jbanov, Zach Bjornson, Zhicheng Wang, and many more...</span><br /><br />With gratitude and appreciation, and anticipation to see what you'll build next, welcome to the next stage of Angular.<br /><br /><i>By Jules Kremer, Angular Team</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/angular-version-2-proprioception-reinforcement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Introducing OpenType Font Variations</title>
		<link>https://googledata.org/google-open-source/introducing-opentype-font-variations/</link>
		<comments>https://googledata.org/google-open-source/introducing-opentype-font-variations/#comments</comments>
		<pubDate>Wed, 14 Sep 2016 09:15:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=06ae535fe7064456fa5a5b80f94d848f</guid>
		<description><![CDATA[Cze&#347;&#263; and hello from the <a href="https://www.atypi.org/conferences/atypi-warsaw-2016/">ATypI conference</a> in Warsaw! Together with Microsoft, Apple and Adobe, we&#8217;re happy to announce the launch of variable fonts as part of <a href="https://www.microsoft.com/typography/otspec180/">OpenType 1.8</a>, the newest version of the font standard. With variable fonts, your device can display text in myriads of weights, widths, or other stylistic variations from a single font file with less space and bandwidth.<br /><div><a href="https://2.bp.blogspot.com/-cto8HpDt8Zg/V9hyUb7pT8I/AAAAAAAAA4I/lq07y2SWQ3cCj6XcQGNTIQ-_8s_GDUPgACLcB/s1600/image01.gif"><img border="0" height="100" src="https://2.bp.blogspot.com/-cto8HpDt8Zg/V9hyUb7pT8I/AAAAAAAAA4I/lq07y2SWQ3cCj6XcQGNTIQ-_8s_GDUPgACLcB/s200/image01.gif"></a><a href="https://4.bp.blogspot.com/-E9_Jo5wGhj4/V9hyUcyh-7I/AAAAAAAAA4M/lDu9B8EBK9gxQGw8ehhIiH79wcaZzVBNgCLcB/s1600/image00.gif"><img border="0" height="100" src="https://4.bp.blogspot.com/-E9_Jo5wGhj4/V9hyUcyh-7I/AAAAAAAAA4M/lDu9B8EBK9gxQGw8ehhIiH79wcaZzVBNgCLcB/s200/image00.gif"></a></div><div>&#160;<span><i>OpenType variable fonts support OpenType Layout variation.</i></span></div><div><div><i>To prevent that the $ sign becomes a black blob,</i></div><div><i>the stroke disappears at a certain weight.</i><br /><i><br /></i></div></div><div><br /></div><div>At Google, we started tinkering with variable fonts about two years ago. We were fascinated by the typographic opportunities, and we got really excited when we realized that variable fonts would also help <a href="https://medium.com/@tiro/12ba6cd2369">to save space and bandwidth</a>. We proposed reviving <a href="https://en.wikipedia.org/wiki/QuickDraw_GX">Apple&#8217;s TrueType GX</a> variations in <a href="https://www.microsoft.com/typography/otspec180/">OpenType</a>, and started experimenting with it in our tools. The folks at Microsoft then started a four-way collaboration between Microsoft, Apple, Adobe, and Google, together with experts from type foundries and tool makers. Microsoft did the spec work; Apple brought their existing technology and expertise; Adobe updated their CFF format into CFF2; and we brought the tools and testing we&#8217;d been developing. &#160;After months of intense polishing, the specification is now finished.<br /><br />On the Google end, we did a lot of work to build, edit and display variable fonts:</div><div><div><ul><li>implemented most of the spec in <a href="https://github.com/behdad/fonttools/tree/opentype-gx">FontTools</a></li><li>updated the <a href="http://github.com/googlei18n/fontmake">fontmake pipeline</a> so variable fonts can be built from common source formats</li><li>updated <a href="https://github.com/behdad/harfbuzz/">HarfBuzz</a></li><li>worked with Adobe to implement CFF2 in FreeType</li><li>fixed bugs in <a href="https://www.freetype.org/">FreeType</a></li><li>developed a <a href="https://github.com/googlei18n/fontview">demo tool FontView</a></li></ul></div></div><div><div>As always, all our font tools are free and open source for everyone to use and contribute.<br /><br />Now that the spec is public, we can finish the work by merging the changes upstream so that our code will soon flow into products. We&#8217;ll also update Noto to support variations (for many writing systems, the <a href="https://github.com/googlei18n/noto-source">sources</a> are already there &#8212; the rest will follow). Much more work lies ahead, for example, implementing variations in <a href="https://fonts.google.com/">Google Fonts</a>. Together with other browser makers, we&#8217;re already working on a proposal to extend <a href="https://www.w3.org/TR/css-fonts-3/">CSS fonts</a> with variations. Once everyone agrees on the format, we&#8217;ll support it in <a href="https://www.google.com/chrome/">Google Chrome</a>. And there are many other challenges ahead, like incorporating font variations into other Google products&#8212;so it will be a busy time for us! &#160;We are incredibly excited that an amazing <a href="https://medium.com/@tiro/12ba6cd2369">technology from 23 years ago</a> is coming back to life again today. Huge thanks to our friends at Adobe, Apple, and Microsoft for a great collaboration!</div><div><br /></div><div>To learn more, read <a href="https://medium.com/@tiro/12ba6cd2369">Introducing OpenType Variable Fonts</a>, or talk to us at the <a href="https://groups.google.com/forum/#!forum/fonttools">FontTools group</a>.</div></div><div><br /></div><div><i>By Behdad Esfahbod and Sascha Brawer, Fonts and Text Rendering, Google Internationalization</i></div>]]></description>
				<content:encoded><![CDATA[Cześć and hello from the <a href="https://www.atypi.org/conferences/atypi-warsaw-2016/">ATypI conference</a> in Warsaw! Together with Microsoft, Apple and Adobe, we’re happy to announce the launch of variable fonts as part of <a href="https://www.microsoft.com/typography/otspec180/">OpenType 1.8</a>, the newest version of the font standard. With variable fonts, your device can display text in myriads of weights, widths, or other stylistic variations from a single font file with less space and bandwidth.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-cto8HpDt8Zg/V9hyUb7pT8I/AAAAAAAAA4I/lq07y2SWQ3cCj6XcQGNTIQ-_8s_GDUPgACLcB/s1600/image01.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://2.bp.blogspot.com/-cto8HpDt8Zg/V9hyUb7pT8I/AAAAAAAAA4I/lq07y2SWQ3cCj6XcQGNTIQ-_8s_GDUPgACLcB/s200/image01.gif" /></a><a href="https://4.bp.blogspot.com/-E9_Jo5wGhj4/V9hyUcyh-7I/AAAAAAAAA4M/lDu9B8EBK9gxQGw8ehhIiH79wcaZzVBNgCLcB/s1600/image00.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://4.bp.blogspot.com/-E9_Jo5wGhj4/V9hyUcyh-7I/AAAAAAAAA4M/lDu9B8EBK9gxQGw8ehhIiH79wcaZzVBNgCLcB/s200/image00.gif" /></a></div><div style="text-align: center;">&nbsp;<span style="text-align: center;"><i>OpenType variable fonts support OpenType Layout variation.</i></span></div><div><div style="text-align: center;"><i>To prevent that the $ sign becomes a black blob,</i></div><div style="text-align: center;"><i>the stroke disappears at a certain weight.</i><br /><i><br /></i></div></div><div><br /></div><div>At Google, we started tinkering with variable fonts about two years ago. We were fascinated by the typographic opportunities, and we got really excited when we realized that variable fonts would also help <a href="https://medium.com/@tiro/12ba6cd2369">to save space and bandwidth</a>. We proposed reviving <a href="https://en.wikipedia.org/wiki/QuickDraw_GX">Apple’s TrueType GX</a> variations in <a href="https://www.microsoft.com/typography/otspec180/">OpenType</a>, and started experimenting with it in our tools. The folks at Microsoft then started a four-way collaboration between Microsoft, Apple, Adobe, and Google, together with experts from type foundries and tool makers. Microsoft did the spec work; Apple brought their existing technology and expertise; Adobe updated their CFF format into CFF2; and we brought the tools and testing we’d been developing. &nbsp;After months of intense polishing, the specification is now finished.<br /><br />On the Google end, we did a lot of work to build, edit and display variable fonts:</div><div><div><ul><li>implemented most of the spec in <a href="https://github.com/behdad/fonttools/tree/opentype-gx">FontTools</a></li><li>updated the <a href="http://github.com/googlei18n/fontmake">fontmake pipeline</a> so variable fonts can be built from common source formats</li><li>updated <a href="https://github.com/behdad/harfbuzz/">HarfBuzz</a></li><li>worked with Adobe to implement CFF2 in FreeType</li><li>fixed bugs in <a href="https://www.freetype.org/">FreeType</a></li><li>developed a <a href="https://github.com/googlei18n/fontview">demo tool FontView</a></li></ul></div></div><div><div>As always, all our font tools are free and open source for everyone to use and contribute.<br /><br />Now that the spec is public, we can finish the work by merging the changes upstream so that our code will soon flow into products. We’ll also update Noto to support variations (for many writing systems, the <a href="https://github.com/googlei18n/noto-source">sources</a> are already there — the rest will follow). Much more work lies ahead, for example, implementing variations in <a href="https://fonts.google.com/">Google Fonts</a>. Together with other browser makers, we’re already working on a proposal to extend <a href="https://www.w3.org/TR/css-fonts-3/">CSS fonts</a> with variations. Once everyone agrees on the format, we’ll support it in <a href="https://www.google.com/chrome/">Google Chrome</a>. And there are many other challenges ahead, like incorporating font variations into other Google products—so it will be a busy time for us! &nbsp;We are incredibly excited that an amazing <a href="https://medium.com/@tiro/12ba6cd2369">technology from 23 years ago</a> is coming back to life again today. Huge thanks to our friends at Adobe, Apple, and Microsoft for a great collaboration!</div><div><br /></div><div>To learn more, read <a href="https://medium.com/@tiro/12ba6cd2369">Introducing OpenType Variable Fonts</a>, or talk to us at the <a href="https://groups.google.com/forum/#!forum/fonttools">FontTools group</a>.</div></div><div><br /></div><div><i>By Behdad Esfahbod and Sascha Brawer, Fonts and Text Rendering, Google Internationalization</i></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/introducing-opentype-font-variations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 statistics: celebrating our mentors</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-statistics-celebrating-our-mentors/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-statistics-celebrating-our-mentors/#comments</comments>
		<pubDate>Fri, 09 Sep 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5d8fae2f601e16a57d2486d1ddc3f127</guid>
		<description><![CDATA[Our final statistics post of the year is dedicated to to the incredible <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) 2016 mentors. There were a total of 2,524 mentors, but today we'll look at the 1,500+ mentors who were assigned to an active project. Mentors are the lifeblood of our program. Without their hard work and dedication to the success of our students, there would be no GSoC. A merry band of volunteers, mentors work with students for more than 12 weeks &#8212; remotely, across multiple time zones, giving their time, expertise and guidance in addition to a regular full-time job for an average of 7.45 hours a week. Today we&#8217;ll take a closer look at our 2016 team.<br /><br />GSoC 2016 mentors reside all over the world and represent 66 countries.<br /><div><br /></div><div><br /></div><div><div><a href="https://2.bp.blogspot.com/-1eFGja-vc2g/V9GvAuNPWqI/AAAAAAAAA3o/hh01dsce7pYfDcDlhr7_MdI1z1Ubg3juwCLcB/s1600/gsoc2016_mentor_map.png"><img border="0" src="https://2.bp.blogspot.com/-1eFGja-vc2g/V9GvAuNPWqI/AAAAAAAAA3o/hh01dsce7pYfDcDlhr7_MdI1z1Ubg3juwCLcB/s1600/gsoc2016_mentor_map.png"></a></div><br /><br />Want to see the data? Here&#8217;s the <a href="https://drive.google.com/file/d/0B7BZHIBakF7PekJsRUpFVmFjSjg/view?usp=sharing">breakdown of the countries our mentors come from</a>.<br /><br /><div><a href="https://3.bp.blogspot.com/-vo-ZobVUilI/V9GuQA0S6MI/AAAAAAAAA3k/E8GHsqqQYTcDd3jWNV6LaKZlxPzIjHnMwCLcB/s1600/gsoc2016_mentor_countries.png"><img border="0" src="https://3.bp.blogspot.com/-vo-ZobVUilI/V9GuQA0S6MI/AAAAAAAAA3k/E8GHsqqQYTcDd3jWNV6LaKZlxPzIjHnMwCLcB/s1600/gsoc2016_mentor_countries.png"></a></div><br /><br />We have many mentors who participate in GSoC year after year. In 2016, we have six mentors who have participated since the program&#8217;s inception in 2005! GSoC &#8220;lifer&#8221; <a href="http://www.cs.pdx.edu/~bart">Bart Massey</a>, who participated as a mentor for <a href="https://www.pdx.edu/">Portland State University</a> and <a href="https://www.x.org/">X.Org</a> had this to say about his time with GSoC: <br /><br /><i>&#8220;I'm not sure which is more astonishing, that I am 12 years older with GSoC or that GSoC is 12 years old with me. Some of the most fantastic, interesting, brilliant and hardworking folks on the planet have gotten together every year for 12 years to change the world: Google folks and open source leadership and skilled, special students. It's been great to get to be part of it all, both as Portland State University and during my time with X.Org...I hope I get to keep working with and hanging out with these people I love every year forever.&#8221;&#160;</i><br /><br />Awww, we love you too Bart!<br /><br />There are also plenty of newbies to the program each year and 2016 is no exception. We&#8217;d like to welcome 528 (33%) new mentors to the GSoC family.<br /><br />Some fun facts:<br /><ul><li>Average age: 32</li><li>Youngest: 14</li><li>Oldest: 78</li><li>Most common mentor first name: David</li></ul>At the end of each program year, we invite two mentors from each <a href="https://summerofcode.withgoogle.com/projects/">participating organization</a> to join us at the <a href="http://google-opensource.blogspot.com/2014/05/google-summer-of-code-mentor-summit.html">Mentor Summit</a>, a three day <a href="https://en.wikipedia.org/wiki/Unconference">unconference</a> at Google HQ in Northern California. There they enjoy a weekend with their peers to talk about all things open source-y (a technical term) and have some fun.<br /><br />A huge thanks to each and every Google Summer of Code mentor. We salute you.<br /><br /><i>By Mary Radomile, Open Source Programs</i></div>]]></description>
				<content:encoded><![CDATA[Our final statistics post of the year is dedicated to to the incredible <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) 2016 mentors. There were a total of 2,524 mentors, but today we'll look at the 1,500+ mentors who were assigned to an active project. Mentors are the lifeblood of our program. Without their hard work and dedication to the success of our students, there would be no GSoC. A merry band of volunteers, mentors work with students for more than 12 weeks — remotely, across multiple time zones, giving their time, expertise and guidance in addition to a regular full-time job for an average of 7.45 hours a week. Today we’ll take a closer look at our 2016 team.<br /><br />GSoC 2016 mentors reside all over the world and represent 66 countries.<br /><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-1eFGja-vc2g/V9GvAuNPWqI/AAAAAAAAA3o/hh01dsce7pYfDcDlhr7_MdI1z1Ubg3juwCLcB/s1600/gsoc2016_mentor_map.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-1eFGja-vc2g/V9GvAuNPWqI/AAAAAAAAA3o/hh01dsce7pYfDcDlhr7_MdI1z1Ubg3juwCLcB/s1600/gsoc2016_mentor_map.png" /></a></div><br /><br />Want to see the data? Here’s the <a href="https://drive.google.com/file/d/0B7BZHIBakF7PekJsRUpFVmFjSjg/view?usp=sharing">breakdown of the countries our mentors come from</a>.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-vo-ZobVUilI/V9GuQA0S6MI/AAAAAAAAA3k/E8GHsqqQYTcDd3jWNV6LaKZlxPzIjHnMwCLcB/s1600/gsoc2016_mentor_countries.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-vo-ZobVUilI/V9GuQA0S6MI/AAAAAAAAA3k/E8GHsqqQYTcDd3jWNV6LaKZlxPzIjHnMwCLcB/s1600/gsoc2016_mentor_countries.png" /></a></div><br /><br />We have many mentors who participate in GSoC year after year. In 2016, we have six mentors who have participated since the program’s inception in 2005! GSoC “lifer” <a href="http://www.cs.pdx.edu/~bart">Bart Massey</a>, who participated as a mentor for <a href="https://www.pdx.edu/">Portland State University</a> and <a href="https://www.x.org/">X.Org</a> had this to say about his time with GSoC: <br /><br /><i>“I'm not sure which is more astonishing, that I am 12 years older with GSoC or that GSoC is 12 years old with me. Some of the most fantastic, interesting, brilliant and hardworking folks on the planet have gotten together every year for 12 years to change the world: Google folks and open source leadership and skilled, special students. It's been great to get to be part of it all, both as Portland State University and during my time with X.Org...I hope I get to keep working with and hanging out with these people I love every year forever.”&nbsp;</i><br /><br />Awww, we love you too Bart!<br /><br />There are also plenty of newbies to the program each year and 2016 is no exception. We’d like to welcome 528 (33%) new mentors to the GSoC family.<br /><br />Some fun facts:<br /><ul><li>Average age: 32</li><li>Youngest: 14</li><li>Oldest: 78</li><li>Most common mentor first name: David</li></ul>At the end of each program year, we invite two mentors from each <a href="https://summerofcode.withgoogle.com/projects/">participating organization</a> to join us at the <a href="http://google-opensource.blogspot.com/2014/05/google-summer-of-code-mentor-summit.html">Mentor Summit</a>, a three day <a href="https://en.wikipedia.org/wiki/Unconference">unconference</a> at Google HQ in Northern California. There they enjoy a weekend with their peers to talk about all things open source-y (a technical term) and have some fun.<br /><br />A huge thanks to each and every Google Summer of Code mentor. We salute you.<br /><br /><i>By Mary Radomile, Open Source Programs</i></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-statistics-celebrating-our-mentors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Summer of Code 2016 is a wrap</title>
		<link>https://googledata.org/google-open-source/google-summer-of-code-2016-is-a-wrap/</link>
		<comments>https://googledata.org/google-open-source/google-summer-of-code-2016-is-a-wrap/#comments</comments>
		<pubDate>Fri, 02 Sep 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8a3fd7858d76b7c86ac52daa52ee5a24</guid>
		<description><![CDATA[<span><span><img alt="soc_horizontal500.png" height="55" src="https://lh3.googleusercontent.com/u48et0_HN1pYP0cJbMFXIVPXxMPecN0DO2Y8oDgJxyXMrKDaLxKOClVfg2YzbgKD1jFvFGd321nrhP87Mp5H93LwNd9fqZf0SV0XW_p8KWVr0Qx_XBC4evk2bChzvHQ36CSEo52r" width="500"></span></span><br /><br />As school in much of the world begins, <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> 2016 winds down. The last three months have seen a whirlwind of activity on over <a href="https://summerofcode.withgoogle.com/organizations/">178 open source projects</a>. University students from around the globe have been working with their mentors to contribute their technical skills to the common good.<br /><br />Student participants submitted their completed work late last month, mentors evaluated the submissions, and the results have been announced.<br /><br />We accepted <a href="https://google-opensource.blogspot.com/2016/06/more-statistics-from-google-summer-of.html">1,206 university students</a> from <a href="https://google-opensource.blogspot.com/2016/05/google-summer-of-code-2016-statistics.html">67 countries</a> in April and we are excited to announce that 1,032 students (85.6%) successfully completed the program. To learn more about how that compares to previous years, check out our <a href="https://developers.google.com/open-source/gsoc/resources/stats">statistics</a> from the last eleven years.<br /><br />Google Summer of Code isn&#8217;t over though. In October we&#8217;ll be hosting our annual <a href="http://google-opensource.blogspot.com/2014/05/google-summer-of-code-mentor-summit.html">mentor summit</a> in Sunnyvale, California where mentors and organization administrations will meet and exchange ideas.<br /><br />Thank you to all of the students, mentors and organization administrators for your contributions to open source and for making the 12th year of Google Summer of Code such a great success!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[<span id="docs-internal-guid-f5f948a5-e76f-2f93-c546-59df8383eea5"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><img alt="soc_horizontal500.png" height="55" src="https://lh3.googleusercontent.com/u48et0_HN1pYP0cJbMFXIVPXxMPecN0DO2Y8oDgJxyXMrKDaLxKOClVfg2YzbgKD1jFvFGd321nrhP87Mp5H93LwNd9fqZf0SV0XW_p8KWVr0Qx_XBC4evk2bChzvHQ36CSEo52r" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="500" /></span></span><br /><br />As school in much of the world begins, <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> 2016 winds down. The last three months have seen a whirlwind of activity on over <a href="https://summerofcode.withgoogle.com/organizations/">178 open source projects</a>. University students from around the globe have been working with their mentors to contribute their technical skills to the common good.<br /><br />Student participants submitted their completed work late last month, mentors evaluated the submissions, and the results have been announced.<br /><br />We accepted <a href="https://google-opensource.blogspot.com/2016/06/more-statistics-from-google-summer-of.html">1,206 university students</a> from <a href="https://google-opensource.blogspot.com/2016/05/google-summer-of-code-2016-statistics.html">67 countries</a> in April and we are excited to announce that 1,032 students (85.6%) successfully completed the program. To learn more about how that compares to previous years, check out our <a href="https://developers.google.com/open-source/gsoc/resources/stats">statistics</a> from the last eleven years.<br /><br />Google Summer of Code isn’t over though. In October we’ll be hosting our annual <a href="http://google-opensource.blogspot.com/2014/05/google-summer-of-code-mentor-summit.html">mentor summit</a> in Sunnyvale, California where mentors and organization administrations will meet and exchange ideas.<br /><br />Thank you to all of the students, mentors and organization administrators for your contributions to open source and for making the 12th year of Google Summer of Code such a great success!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/google-summer-of-code-2016-is-a-wrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>From Summer of Code to Game of Thrones on the back of a JavaScript Dragon (Part 3)</title>
		<link>https://googledata.org/google-open-source/from-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-3/</link>
		<comments>https://googledata.org/google-open-source/from-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-3/#comments</comments>
		<pubDate>Fri, 26 Aug 2016 17:45:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ffb3e1947def2a9be087544d42594f3b</guid>
		<description><![CDATA[<i>This guest post is a part of a short series about Tatyana Goldberg, Guy Yachdav and Christian Dallago and the journey that was inspired by their participation as Google Summer of Code mentors for the <a href="https://biojsnet.herokuapp.com/">BioJS</a> project. Check out the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html">first</a> and <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of_12.html">second</a> posts in the series.</i><br /><br />This blog post marks the end of our short series following our adventures in open source. As you may recall, it all started thanks to <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) which <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html">brought our team together</a>. The GSoC collaboration spurred us to start a class at&#160;<a href="http://www.tum.de/en/homepage/">Technical University of Munich</a> (TUM) that eventually took on the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of_12.html">Game of Thrones data science project</a> which became an international sensation.<br /><br />The success of our Game of Thrones project opened a lot of doors. First, we were invited to participate in the <a href="http://www.morpheuscup.com/">Morpheus Cup</a> which is a prestigious university olympiad that brings together students from all over Europe to compete in digital challenges.<br /><br />Our team rocked the competition winning two challenges and making it to the finalist stage in the third challenge. We were honored to represent our university and grateful for Google&#8217;s sponsorship of our team.<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img alt="WhatsApp-Image-20160510 (1).jpeg" height="308" src="https://lh5.googleusercontent.com/SrvV9EU9FD3U5krCExVD_uDuxo8ExHIr1FOViioXRZBEV-Tt4l4ChsHMFkoElSeeM_cePXjYdH4NadsUq-XxUN5iibunyx3EneOC9wypmfGPU8yAZYVvTE2Pg_6FXMEknU0TAsvM" width="624"></td></tr><tr><td><b>The students and mentors of the Game of Thrones project at the Morpheus Cup challenge in May 2016. </b>From left to right: Georgi Anastasov, Emiliyana Kalinova, Maximilian Bandle (all students), Guy Yachdav (mentor), Christian Dallago (mentor), Tobias Piffrader, Theodor Chesleran (both students) and Tatyana Goldberg (mentor).</td></tr></tbody></table><div><span><span></span></span></div><div>Another opportunity that followed was an invitation to speak at <a href="http://www.tedxtum.com/past-events/tedxtum-salon-2016-the-common-extraordinary/how-to-predict-everything-even-who-dies-next-in-game-of-thrones">a TEDx event at TUM</a> on July 28th, 2016. In the event, titled &#8220;The Common Extraordinary,&#8221; Guy presented our work with data mining as bioinformaticians, sharing how we&#8217;ve made the field of data science accessible to our students and how we helped popularize it through the Game of Thrones project.</div><div><div><br /></div><div>More speaking engagements are already scheduled: at meetups, coffee talks and conferences where we plan to keep evangelizing data mining and tell the story of our open source adventure.</div><div><br /></div><div>What&#8217;s next? We&#8217;re excited to continue as mentors and org admins in GSoC and to carry on teaching <a href="https://rostlab.org/owiki/index.php/Javascript_technology_2016-2">data science and JavaScript</a> at the university. In between classes and our daily research work we&#8217;re now being asked by friends, family members, colleagues and even strangers whether we can help them use data mining to answer questions on subjects ranging from politics, science, sports and even their personal lives.<br /><br />Just the other day we were approached with the idea of developing an app that would take in a set of personality traits, process them along with social network data and help in suggesting life decisions: Should I date that person? Should I really take this job? Is Baltimore the city for me?<br /><div><br /></div>That interest goes even beyond our personal circles. A recent <a href="http://www.ke-next.de/panorama/was-game-of-thrones-mit-industrie-4-0-zu-tun-hat-218.html">trade media report</a> pointed out that by using machine learning in an unexpected context, the Game of Thrones project demonstrated the disruptive force of data mining. This force, the article continues, could make an impact on the next industrial revolution - Industry 4.0 - where data plays a key role.<br /><br />Do you have interesting questions you&#8217;d like to answer or a data set you&#8217;d like to make predictions with? Curious about BioJS or our JavaScript course? Please reach out to us on <a href="https://twitter.com/mldreamteam">Twitter</a> or in the comments.</div><div><br /></div><div>In the near future we dream of starting our own consultancy, as we already have requests from companies that want our help with upcoming data science projects. It seems our team has found its entrepreneurial bent!</div><div><br /></div><div>We hope enjoyed this trilogy of blog posts, that our story has inspired you and that you too will continue to adventure in open source and collaborative development. If you&#8217;re not involved with Google Summer of Code, <a href="https://developers.google.com/open-source/gsoc/">consider joining</a>. It&#8217;s a great way to build up your project and share it with the world. More importantly, it lets you work with amazing people with whom, as we learned, it is possible to reach the sky.</div><div><br /></div><div><i>By Tatyana Goldberg, Christian Dallago, and Guy Yachdav, BioJS</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>This guest post is a part of a short series about Tatyana Goldberg, Guy Yachdav and Christian Dallago and the journey that was inspired by their participation as Google Summer of Code mentors for the <a href="https://biojsnet.herokuapp.com/">BioJS</a> project. Check out the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html">first</a> and <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of_12.html">second</a> posts in the series.</i><br /><br />This blog post marks the end of our short series following our adventures in open source. As you may recall, it all started thanks to <a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a> (GSoC) which <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html">brought our team together</a>. The GSoC collaboration spurred us to start a class at&nbsp;<a href="http://www.tum.de/en/homepage/">Technical University of Munich</a> (TUM) that eventually took on the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of_12.html">Game of Thrones data science project</a> which became an international sensation.<br /><br />The success of our Game of Thrones project opened a lot of doors. First, we were invited to participate in the <a href="http://www.morpheuscup.com/">Morpheus Cup</a> which is a prestigious university olympiad that brings together students from all over Europe to compete in digital challenges.<br /><br />Our team rocked the competition winning two challenges and making it to the finalist stage in the third challenge. We were honored to represent our university and grateful for Google’s sponsorship of our team.<br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img alt="WhatsApp-Image-20160510 (1).jpeg" height="308" src="https://lh5.googleusercontent.com/SrvV9EU9FD3U5krCExVD_uDuxo8ExHIr1FOViioXRZBEV-Tt4l4ChsHMFkoElSeeM_cePXjYdH4NadsUq-XxUN5iibunyx3EneOC9wypmfGPU8yAZYVvTE2Pg_6FXMEknU0TAsvM" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr><tr><td class="tr-caption" style="text-align: center;"><b>The students and mentors of the Game of Thrones project at the Morpheus Cup challenge in May 2016. </b>From left to right: Georgi Anastasov, Emiliyana Kalinova, Maximilian Bandle (all students), Guy Yachdav (mentor), Christian Dallago (mentor), Tobias Piffrader, Theodor Chesleran (both students) and Tatyana Goldberg (mentor).</td></tr></tbody></table><div><span id="docs-internal-guid-98642add-99ea-6145-c52d-ad2610f9dc5e"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"></span></span></div><div>Another opportunity that followed was an invitation to speak at <a href="http://www.tedxtum.com/past-events/tedxtum-salon-2016-the-common-extraordinary/how-to-predict-everything-even-who-dies-next-in-game-of-thrones">a TEDx event at TUM</a> on July 28th, 2016. In the event, titled “The Common Extraordinary,” Guy presented our work with data mining as bioinformaticians, sharing how we’ve made the field of data science accessible to our students and how we helped popularize it through the Game of Thrones project.</div><div><div><br /></div><div>More speaking engagements are already scheduled: at meetups, coffee talks and conferences where we plan to keep evangelizing data mining and tell the story of our open source adventure.</div><div><br /></div><div>What’s next? We’re excited to continue as mentors and org admins in GSoC and to carry on teaching <a href="https://rostlab.org/owiki/index.php/Javascript_technology_2016-2">data science and JavaScript</a> at the university. In between classes and our daily research work we’re now being asked by friends, family members, colleagues and even strangers whether we can help them use data mining to answer questions on subjects ranging from politics, science, sports and even their personal lives.<br /><br />Just the other day we were approached with the idea of developing an app that would take in a set of personality traits, process them along with social network data and help in suggesting life decisions: Should I date that person? Should I really take this job? Is Baltimore the city for me?<br /><div><br /></div>That interest goes even beyond our personal circles. A recent <a href="http://www.ke-next.de/panorama/was-game-of-thrones-mit-industrie-4-0-zu-tun-hat-218.html">trade media report</a> pointed out that by using machine learning in an unexpected context, the Game of Thrones project demonstrated the disruptive force of data mining. This force, the article continues, could make an impact on the next industrial revolution - Industry 4.0 - where data plays a key role.<br /><br />Do you have interesting questions you’d like to answer or a data set you’d like to make predictions with? Curious about BioJS or our JavaScript course? Please reach out to us on <a href="https://twitter.com/mldreamteam">Twitter</a> or in the comments.</div><div><br /></div><div>In the near future we dream of starting our own consultancy, as we already have requests from companies that want our help with upcoming data science projects. It seems our team has found its entrepreneurial bent!</div><div><br /></div><div>We hope enjoyed this trilogy of blog posts, that our story has inspired you and that you too will continue to adventure in open source and collaborative development. If you’re not involved with Google Summer of Code, <a href="https://developers.google.com/open-source/gsoc/">consider joining</a>. It’s a great way to build up your project and share it with the world. More importantly, it lets you work with amazing people with whom, as we learned, it is possible to reach the sky.</div><div><br /></div><div><i>By Tatyana Goldberg, Christian Dallago, and Guy Yachdav, BioJS</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/from-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Stories from Google Code-in: OpenMRS and SCoRe</title>
		<link>https://googledata.org/google-open-source/stories-from-google-code-in-openmrs-and-score/</link>
		<comments>https://googledata.org/google-open-source/stories-from-google-code-in-openmrs-and-score/#comments</comments>
		<pubDate>Mon, 22 Aug 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=16d40f4d64ed27aeeb4093b1264e818b</guid>
		<description><![CDATA[<a href="https://developers.google.com/open-source/gci/">Google Code-in</a> is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the third installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html">Google Code-in 2015 grand prize winners</a>. Be sure to check out the <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html">first</a> and <a href="http://google-opensource.blogspot.com/2016/08/stories-from-google-code-in-kde.html">second</a> posts in the series, too.<br /><br />In this post we look at the stories of three more Google Code-in (GCI) grand prize winners. Our grand prize winners come from a pool of <a href="http://google-opensource.blogspot.com/2016/01/google-code-in-2015-our-biggest-year-yet.html">980 students</a> <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html">from 65 countries</a> who, all told, completed 4,776 tasks for 14 open source projects.<br /><br />We were lucky enough to host many of these extraordinary young coders at Google HQ for a few days this summer. Over that time, we learned more about where they came from, what they gained by participating in GCI and what they plan to do as new members of the open source community.<br /><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img height="238" src="https://lh6.googleusercontent.com/b2DDcr_6iGo8ucNFjKhVS-mtmCOe9rjwXm49PIKudYRrbRk8KEGiEkbMApBHerj9pijZxhGDqIiFKWh3jGs-wRjDrz2QTIG0Gia4z1owrIRlkyVT4LmyYN-TWJK0ZxpsPM_bGdyp" width="424"></td></tr><tr><td>Google Code-in 2015 Grand Prize Winners explore the SF Bay Area in this immersive Google Street View display with fellow open source program managers Stephanie Taylor and Cat Allman who run GCI.</td></tr></tbody></table>Our first story today is that of B&#345;etislav H&#225;jek from the Czech Republic, who chose to work with the <a href="http://openmrs.org/">OpenMRS</a> project because he sees their work as important. OpenMRS is an open source medical record system that improves healthcare delivery in resource-constrained regions.<br /><br />B&#345;etislav got into computer science through web development, so he started by working on tasks related to HTML and CSS. This gave him confidence to take on more challenging tasks. His favorite task was creating a web application for searching through patients. While he didn&#8217;t find it hard, he learned a lot and was proud to have made something useful. Reflecting on Google Code-in, B&#345;etislav said: <i>&#8220;That's the thing I like about GCI. I always treat tasks as opportunities to learn something new. And the learning is more entertaining since I work on real problems.&#8221;</i><br /><br />IRC communication proved to be an important part of B&#345;etislav&#8217;s success. Other students were there and tried to help each other out as best they could, and there were always mentors available to help guide them. He enjoyed the friendly environment. The community motivated him to work harder and try new things. In the end, B&#345;etislav was glad to have participated and is motivated to continue his work.<br /><br />Next we have Vicente Bermudez from Uruguay who discovered Google Code-in through <a href="http://www.cromo.com.uy/el-chico-google-n588706">a story in the local news</a> celebrating a Uruguayan grand prize winner from a previous year. Like B&#345;etislav, Vicente chose to work on the OpenMRS project because the cause spoke to him.<br /><br />He got into programming through his love of video games and his desire to create his own. He hadn&#8217;t heard about programming before but initial research piqued his interest. Following his curiosity, he learned Java and expanded his knowledge from there. Conveniently, much of OpenMRS is built with Java!<br /><br />The task-based structure worked well for Vicente. He was unsure of some tasks, recognizing that he didn&#8217;t know much about what they required. For instance, he hesitated to take on one that involved creating <a href="https://issues.openmrs.org/browse/GCI-77">a Windows Phone app</a> because he had never created a mobile app. But he persisted and, five days later, he had completed it and learned a lot about mobile development.<br /><br />It surprised Vicente how much he learned in such a short time span. He had this to say: <i>&#8220;During the contest I gained knowledge in a variety of fields such as programming, testing, video editing, and graphic design. The mentors encouraged us to think about quality instead of quantity, and I learned a lot from that.&#8221;</i><br /><br />Vicente loved his Google Code-in experience and plans to continue contributing to open source projects, especially OpenMRS.<br /><br />The last student story we&#8217;ll share today is that of Anesu Mafuvadze, a student from the US who worked with the <a href="http://www.scorelab.org/">Sustainable Computing Research Group</a> (SCoRe). His introduction to computer science came through robotics in one of his high school classes which used a language similar to C++.<br /><br />Anesu was thrilled by the experience of bringing the robots to life with code. He described his introduction this way: <i>&#8220;The more I programmed the more captivated I became; I loved how easily I could convert my wildest ideas into fully functioning programs; I loved the thrill of working in an environment that demands minute precision; above all, I loved creating programs that other people found useful.&#8221;</i><br /><br />Online documentation and YouTube tutorials fueled Anesu&#8217;s education for several years as he picked up multiple languages and began participating in programming contests. But he knew something was missing, Anesu lacked real world coding experience and had never collaborated with others. As such, he didn&#8217;t pay much attention to the readability of his code, wasn&#8217;t aware of version control, didn&#8217;t write extensive tests and had never built something for the common good.<br /><br />Enter Google Code-in. Working with mentors helped Anesu deliver quality and building open source software required him to learn collaboration tools and value readability. The contest also gave him an opportunity to build on skills that he hadn&#8217;t developed, such as web development. Anesu says the experience made him a better programmer and that the introduction to open source has motivated him to use his skills on projects that benefit society.<br /><br />Thank you to B&#345;etislav, Vicente and Anesu for their hard work contributing to open source projects and for sharing their stories with us. We have one more blog post coming with more student stories so stay tuned!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[<a href="https://developers.google.com/open-source/gci/">Google Code-in</a> is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the third installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html">Google Code-in 2015 grand prize winners</a>. Be sure to check out the <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html">first</a> and <a href="http://google-opensource.blogspot.com/2016/08/stories-from-google-code-in-kde.html">second</a> posts in the series, too.<br /><br />In this post we look at the stories of three more Google Code-in (GCI) grand prize winners. Our grand prize winners come from a pool of <a href="http://google-opensource.blogspot.com/2016/01/google-code-in-2015-our-biggest-year-yet.html">980 students</a> <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html">from 65 countries</a> who, all told, completed 4,776 tasks for 14 open source projects.<br /><br />We were lucky enough to host many of these extraordinary young coders at Google HQ for a few days this summer. Over that time, we learned more about where they came from, what they gained by participating in GCI and what they plan to do as new members of the open source community.<br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="text-align: center;"><img height="238" src="https://lh6.googleusercontent.com/b2DDcr_6iGo8ucNFjKhVS-mtmCOe9rjwXm49PIKudYRrbRk8KEGiEkbMApBHerj9pijZxhGDqIiFKWh3jGs-wRjDrz2QTIG0Gia4z1owrIRlkyVT4LmyYN-TWJK0ZxpsPM_bGdyp" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="424" /></td></tr><tr><td class="tr-caption" style="max-width: inherit; text-align: center; width: 100%;">Google Code-in 2015 Grand Prize Winners explore the SF Bay Area in this immersive Google Street View display with fellow open source program managers Stephanie Taylor and Cat Allman who run GCI.</td></tr></tbody></table>Our first story today is that of Břetislav Hájek from the Czech Republic, who chose to work with the <a href="http://openmrs.org/">OpenMRS</a> project because he sees their work as important. OpenMRS is an open source medical record system that improves healthcare delivery in resource-constrained regions.<br /><br />Břetislav got into computer science through web development, so he started by working on tasks related to HTML and CSS. This gave him confidence to take on more challenging tasks. His favorite task was creating a web application for searching through patients. While he didn’t find it hard, he learned a lot and was proud to have made something useful. Reflecting on Google Code-in, Břetislav said: <i>“That's the thing I like about GCI. I always treat tasks as opportunities to learn something new. And the learning is more entertaining since I work on real problems.”</i><br /><br />IRC communication proved to be an important part of Břetislav’s success. Other students were there and tried to help each other out as best they could, and there were always mentors available to help guide them. He enjoyed the friendly environment. The community motivated him to work harder and try new things. In the end, Břetislav was glad to have participated and is motivated to continue his work.<br /><br />Next we have Vicente Bermudez from Uruguay who discovered Google Code-in through <a href="http://www.cromo.com.uy/el-chico-google-n588706">a story in the local news</a> celebrating a Uruguayan grand prize winner from a previous year. Like Břetislav, Vicente chose to work on the OpenMRS project because the cause spoke to him.<br /><br />He got into programming through his love of video games and his desire to create his own. He hadn’t heard about programming before but initial research piqued his interest. Following his curiosity, he learned Java and expanded his knowledge from there. Conveniently, much of OpenMRS is built with Java!<br /><br />The task-based structure worked well for Vicente. He was unsure of some tasks, recognizing that he didn’t know much about what they required. For instance, he hesitated to take on one that involved creating <a href="https://issues.openmrs.org/browse/GCI-77">a Windows Phone app</a> because he had never created a mobile app. But he persisted and, five days later, he had completed it and learned a lot about mobile development.<br /><br />It surprised Vicente how much he learned in such a short time span. He had this to say: <i>“During the contest I gained knowledge in a variety of fields such as programming, testing, video editing, and graphic design. The mentors encouraged us to think about quality instead of quantity, and I learned a lot from that.”</i><br /><br />Vicente loved his Google Code-in experience and plans to continue contributing to open source projects, especially OpenMRS.<br /><br />The last student story we’ll share today is that of Anesu Mafuvadze, a student from the US who worked with the <a href="http://www.scorelab.org/">Sustainable Computing Research Group</a> (SCoRe). His introduction to computer science came through robotics in one of his high school classes which used a language similar to C++.<br /><br />Anesu was thrilled by the experience of bringing the robots to life with code. He described his introduction this way: <i>“The more I programmed the more captivated I became; I loved how easily I could convert my wildest ideas into fully functioning programs; I loved the thrill of working in an environment that demands minute precision; above all, I loved creating programs that other people found useful.”</i><br /><br />Online documentation and YouTube tutorials fueled Anesu’s education for several years as he picked up multiple languages and began participating in programming contests. But he knew something was missing, Anesu lacked real world coding experience and had never collaborated with others. As such, he didn’t pay much attention to the readability of his code, wasn’t aware of version control, didn’t write extensive tests and had never built something for the common good.<br /><br />Enter Google Code-in. Working with mentors helped Anesu deliver quality and building open source software required him to learn collaboration tools and value readability. The contest also gave him an opportunity to build on skills that he hadn’t developed, such as web development. Anesu says the experience made him a better programmer and that the introduction to open source has motivated him to use his skills on projects that benefit society.<br /><br />Thank you to Břetislav, Vicente and Anesu for their hard work contributing to open source projects and for sharing their stories with us. We have one more blog post coming with more student stories so stay tuned!<br /><br /><i>By Josh Simmons, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/stories-from-google-code-in-openmrs-and-score/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Opening up Science Journal</title>
		<link>https://googledata.org/google-open-source/opening-up-science-journal/</link>
		<comments>https://googledata.org/google-open-source/opening-up-science-journal/#comments</comments>
		<pubDate>Fri, 19 Aug 2016 16:56:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=6c8b9d00e42786b1ca7583e5c5ae6613</guid>
		<description><![CDATA[<a href="http://g.co/downloadsciencejournal">Science Journal</a> is an app that turns your Android phone into a mobile science tool, allowing you to use the sensors in your phone to explore the world around you. The <a href="https://makingscience.withgoogle.com/">Making &#38; Science</a> team <a href="http://googleforeducation.blogspot.com/2016/05/inspiring-future-makers-and-scientists.html">launched Science Journal</a> a few months ago at Bay Area Maker Faire 2016 and have been excited to see different projects people have done with it all over the world!<br /> <br />Today we are happy to announce that we are releasing Science Journal 1.1 on the Google Play Store and also <a href="https://github.com/google/science-journal">publishing the core source</a> for the app. Open source software and hardware has been hugely beneficial to the science education ecosystem. By open sourcing, we&#8217;ll be able to improve the app faster and also to provide the community with an example of a modern Android app built with <a href="https://developer.android.com/design/material/index.html">Material Design principles</a>.<br /><br />One important feature in Science Journal is the ability to connect to external devices over Bluetooth LE. We have <a href="https://github.com/google/science-journal-arduino">open source firmware</a> which runs on several Arduino microcontrollers already. In the near future, we will provide alternate ways to get your sensor data into Science Journal: stay tuned (or follow along with our commits)!<br /><br />We believe that anyone can be a scientist anywhere. Science doesn&#8217;t just happen in the classroom or lab. Tools like Science Journal let you see how the world works with just your phone and now you can explore how Science Journal itself works, too. Give it a try and let us know what you think!<br /><i><br /></i><i>By Justin Koh, Software Engineer</i>]]></description>
				<content:encoded><![CDATA[<a href="http://g.co/downloadsciencejournal">Science Journal</a> is an app that turns your Android phone into a mobile science tool, allowing you to use the sensors in your phone to explore the world around you. The <a href="https://makingscience.withgoogle.com/">Making &amp; Science</a> team <a href="http://googleforeducation.blogspot.com/2016/05/inspiring-future-makers-and-scientists.html">launched Science Journal</a> a few months ago at Bay Area Maker Faire 2016 and have been excited to see different projects people have done with it all over the world!<br /><iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/mqupDuvGWFU" width="560"></iframe> <br />Today we are happy to announce that we are releasing Science Journal 1.1 on the Google Play Store and also <a href="https://github.com/google/science-journal">publishing the core source</a> for the app. Open source software and hardware has been hugely beneficial to the science education ecosystem. By open sourcing, we’ll be able to improve the app faster and also to provide the community with an example of a modern Android app built with <a href="https://developer.android.com/design/material/index.html">Material Design principles</a>.<br /><br />One important feature in Science Journal is the ability to connect to external devices over Bluetooth LE. We have <a href="https://github.com/google/science-journal-arduino">open source firmware</a> which runs on several Arduino microcontrollers already. In the near future, we will provide alternate ways to get your sensor data into Science Journal: stay tuned (or follow along with our commits)!<br /><br />We believe that anyone can be a scientist anywhere. Science doesn’t just happen in the classroom or lab. Tools like Science Journal let you see how the world works with just your phone and now you can explore how Science Journal itself works, too. Give it a try and let us know what you think!<br /><i><br /></i><i>By Justin Koh, Software Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/opening-up-science-journal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>A Google Santa Tracker update from Santa&#8217;s Elves</title>
		<link>https://googledata.org/google-open-source/a-google-santa-tracker-update-from-santas-elves/</link>
		<comments>https://googledata.org/google-open-source/a-google-santa-tracker-update-from-santas-elves/#comments</comments>
		<pubDate>Wed, 17 Aug 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=af056f86c8b054d6e89ce4b46bc7453b</guid>
		<description><![CDATA[<i></i><br /><i>Originally posted on the <a href="https://developers.googleblog.com/2016/08/a-google-santa-tracker-update-from.html">Google Developers Blog</a></i><br /><i><br /></i><i>By&#160;<a href="https://google.com/+SamThorogood">Sam Thorogood</a>, Developer Programs Engineer </i><br /><i><br /></i> <br />Today, we're announcing that the open source version of Google's Santa Tracker has been updated with the Android and web experiences that ran in December 2015. We extended, enhanced and upgraded our code, and you can see how we used our developer products - including Firebase and Polymer - to build a fun, educational and engaging experience. <br /><br /><div><a href="https://4.bp.blogspot.com/--J7mdXgjyPc/V7OYlRkkqpI/AAAAAAAACHU/UQhe7aZzlI8a6MQkgo-K2mZbErttBvKmgCLcB/s1600/image04.png"><img border="0" height="274" src="https://4.bp.blogspot.com/--J7mdXgjyPc/V7OYlRkkqpI/AAAAAAAACHU/UQhe7aZzlI8a6MQkgo-K2mZbErttBvKmgCLcB/s640/image04.png" width="640"></a></div><br />To get started, you can check out the code on GitHub at <a href="https://github.com/google/santa-tracker-web">google/santa-tracker-web</a>and <a href="https://github.com/google/santa-tracker-android">google/santa-tracker-android</a>. Both repositories include instructions so you can build your own version. <br />Santa Tracker isn&#8217;t just about watching Santa&#8217;s progress as he delivers presents on December 24. Visitors can also have fun with the winter-inspired experiences, games and educational content by exploring Santa's Village while Santa prepares for his big journey throughout the holidays. <br />Below is a summary of what we&#8217;ve released as open source. <br /><h3><strong>Android app</strong></h3><ul><li>The Santa Tracker Android app is a single APK, supporting all devices, such as phones, tablets and TVs, running Ice Cream Sandwich (4.0) and up. The source code for the app can be found <a href="https://github.com/google/santa-tracker-android">here</a>. </li><li>Santa Tracker leverages Firebase features, including <a href="https://firebase.google.com/docs/remote-config/api-overview">Remote Config API</a>, <a href="https://firebase.google.com/docs/invites/?utm_campaign=play%20games_discussion_santatracker_081716&#38;utm_source=gdev&#38;utm_medium=blog">App Invites</a> to invite your friends to play along, and <a href="https://firebase.google.com/docs/analytics/?utm_campaign=play%20games_discussion_santatracker_081716&#38;utm_source=gdev&#38;utm_medium=blog">Firebase Analytics</a> to help our elves better understand users of the app. </li><li><a href="https://github.com/google/santa-tracker-android/tree/master/app/village">Santa&#8217;s Village</a> is a launcher for videos, games and the tracker that responds well to multiple devices such as phones and tablets. There's even an alternative launcher based on the Leanback user interface for Android TVs.</li></ul><br /><div><a href="https://2.bp.blogspot.com/-52y8dgLK8CY/V7OZhBSuCDI/AAAAAAAACHw/qGa66kjV_WA8lkJxndTl332zPHiAFs2wgCLcB/s1600/image01.png"><img border="0" height="208" src="https://2.bp.blogspot.com/-52y8dgLK8CY/V7OZhBSuCDI/AAAAAAAACHw/qGa66kjV_WA8lkJxndTl332zPHiAFs2wgCLcB/s400/image01.png" width="400"></a></div><br /><ul><li>Games on Santa Tracker Android are built using many technologies such as <a href="http://www.jbox2d.org/">JBox2D</a> (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/gumball">gumball game</a>), Android view hierarchy (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/matching">memory match game</a>) and OpenGL with special rendering engine (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/jetpack">jetpack game</a>). We've also included a holiday-themed variation of <a href="https://google.github.io/pienoon/">Pie Noon</a>, a fun game that works on Android TV, your phone, and inside Google Cardboard's VR.</li></ul><h3><strong>Android Wear</strong></h3><br /><div><a href="https://3.bp.blogspot.com/-xKjE-wCLy4o/V7OZLSsP0TI/AAAAAAAACHk/3zMB2WvKRiYWx1fiXKVEhlZakGKwOBUWwCLcB/s1600/image03.png"><img border="0" height="329" src="https://3.bp.blogspot.com/-xKjE-wCLy4o/V7OZLSsP0TI/AAAAAAAACHk/3zMB2WvKRiYWx1fiXKVEhlZakGKwOBUWwCLcB/s400/image03.png" width="400"></a></div><br /><ul><li>The custom watch faces on Android Wear provide a personalized touch. Having Santa or one of his friendly elves tell the time brings a smile to all. <a href="https://www.youtube.com/watch?v=VkvHKtmsvYA">Building custom watch faces</a> is a lot of fun but providing a performant, battery friendly watch face requires <a href="http://android-developers.blogspot.com/2014/12/making-performant-watch-face.html?utm_campaign=play%20games_discussion_santatracker_081716&#38;utm_source=gdev&#38;utm_medium=blog">certain considerations</a>. The watch face source code can be found <a href="https://github.com/google/santa-tracker-android/blob/master/app/wearable/src/main/java/com/google/android/apps/santatracker/SantaWatchFaceService.java">here</a>. </li><li>Santa Tracker uses notifications to let users know when Santa has started his journey. The notifications are further <a href="https://github.com/google/santa-tracker-android/blob/master/app/wearable/src/main/java/com/google/android/apps/santatracker/WearNotificationService.java">enhanced to provide a great experience on wearables</a> using custom backgrounds and actions that deep link into the app. </li></ul><h3><strong>On the web</strong></h3><br /><div><a href="https://1.bp.blogspot.com/-hhG4L5hBJBk/V7OZSit2cFI/AAAAAAAACHo/ISD5NQPkaoIoeVUoPWoziT_QzTMp_XhZQCLcB/s1600/image00.png"><img border="0" height="400" src="https://1.bp.blogspot.com/-hhG4L5hBJBk/V7OZSit2cFI/AAAAAAAACHo/ISD5NQPkaoIoeVUoPWoziT_QzTMp_XhZQCLcB/s400/image00.png" width="233"></a></div><br /><ul><li>Santa Tracker is mobile-first: this year's experience was built for the mobile web, including an amazing brand new, interactive - yet fully responsive, village: with three breakpoints, touch gesture support and support for the <a href="https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android?hl=en?utm_campaign=play%20games_discussion_santatracker_081716&#38;utm_source=gdev&#38;utm_medium=blog">Web App Manifest</a>. </li><li>To help us develop Santa at scale, we've upgraded to <a href="https://www.polymer-project.org/">Polymer 1.0+</a>. Santa Tracker's use of Polymer demonstrates how easy it is to package code into reusable components. Every <a href="https://github.com/google/santa-tracker-web/tree/master/scenes">house</a>in Santa's Village is a custom element, only loaded when needed, minimizing the startup cost of Santa Tracker.</li></ul><br /><div><a href="https://4.bp.blogspot.com/-C5hUjrCVhJM/V7OZYFD4w3I/AAAAAAAACHs/FhBWHvA1M0olXSzCAy1nvVCIDT4mviAMgCLcB/s1600/image02.png"><img border="0" height="254" src="https://4.bp.blogspot.com/-C5hUjrCVhJM/V7OZYFD4w3I/AAAAAAAACHs/FhBWHvA1M0olXSzCAy1nvVCIDT4mviAMgCLcB/s400/image02.png" width="400"></a></div><br /><ul><li>Many of the amazing new games (like <a href="https://github.com/santatracker/santatracker/tree/master/scenes/presentbounce">Present Bounce</a>) were built with the latest JavaScript standards (ES6) and are compiled to support older browsers via the <a href="https://developers.google.com/closure/compiler/?utm_campaign=play%20games_discussion_santatracker_081716&#38;utm_source=gdev&#38;utm_medium=blog">Google Closure Compiler</a>. </li><li>Santa Tracker's interactive and fun experience <a href="https://github.com/google/santa-tracker-web/search?l=javascript&#38;q=Animation">is enhanced</a> using the Web Animations API, <a href="https://w3c.github.io/web-animations/">a standardized JavaScript API</a>for unifying animated content. </li><li>We simplified the Chromecast support this year, focusing on a great screensaver that would countdown to the big event on December 24th - and occasionally autoplay some of the <a href="https://www.youtube.com/watch?v=IXmDOu-eSx4">great</a> <a href="https://www.youtube.com/watch?v=sQnKCU_A0Yc">video</a> <a href="https://www.youtube.com/watch?v=_WdYujHlmHA">content</a> from around Santa's Village.</li></ul>We hope that this update inspires you to make your own magical experiences based on all the interesting and exciting components that came together to make Santa Tracker!]]></description>
				<content:encoded><![CDATA[<i></i><br /><i>Originally posted on the <a href="https://developers.googleblog.com/2016/08/a-google-santa-tracker-update-from.html">Google Developers Blog</a></i><br /><i><br /></i><i>By&nbsp;<a href="https://google.com/+SamThorogood">Sam Thorogood</a>, Developer Programs Engineer </i><br /><i><br /></i> <br />Today, we're announcing that the open source version of Google's Santa Tracker has been updated with the Android and web experiences that ran in December 2015. We extended, enhanced and upgraded our code, and you can see how we used our developer products - including Firebase and Polymer - to build a fun, educational and engaging experience. <br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/--J7mdXgjyPc/V7OYlRkkqpI/AAAAAAAACHU/UQhe7aZzlI8a6MQkgo-K2mZbErttBvKmgCLcB/s1600/image04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="274" src="https://4.bp.blogspot.com/--J7mdXgjyPc/V7OYlRkkqpI/AAAAAAAACHU/UQhe7aZzlI8a6MQkgo-K2mZbErttBvKmgCLcB/s640/image04.png" width="640" /></a></div><br />To get started, you can check out the code on GitHub at <a href="https://github.com/google/santa-tracker-web">google/santa-tracker-web</a>and <a href="https://github.com/google/santa-tracker-android">google/santa-tracker-android</a>. Both repositories include instructions so you can build your own version. <br />Santa Tracker isn’t just about watching Santa’s progress as he delivers presents on December 24. Visitors can also have fun with the winter-inspired experiences, games and educational content by exploring Santa's Village while Santa prepares for his big journey throughout the holidays. <br />Below is a summary of what we’ve released as open source. <br /><h3><strong>Android app</strong></h3><ul><li>The Santa Tracker Android app is a single APK, supporting all devices, such as phones, tablets and TVs, running Ice Cream Sandwich (4.0) and up. The source code for the app can be found <a href="https://github.com/google/santa-tracker-android">here</a>. </li><li>Santa Tracker leverages Firebase features, including <a href="https://firebase.google.com/docs/remote-config/api-overview">Remote Config API</a>, <a href="https://firebase.google.com/docs/invites/?utm_campaign=play%20games_discussion_santatracker_081716&amp;utm_source=gdev&amp;utm_medium=blog">App Invites</a> to invite your friends to play along, and <a href="https://firebase.google.com/docs/analytics/?utm_campaign=play%20games_discussion_santatracker_081716&amp;utm_source=gdev&amp;utm_medium=blog">Firebase Analytics</a> to help our elves better understand users of the app. </li><li><a href="https://github.com/google/santa-tracker-android/tree/master/app/village">Santa’s Village</a> is a launcher for videos, games and the tracker that responds well to multiple devices such as phones and tablets. There's even an alternative launcher based on the Leanback user interface for Android TVs.</li></ul><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-52y8dgLK8CY/V7OZhBSuCDI/AAAAAAAACHw/qGa66kjV_WA8lkJxndTl332zPHiAFs2wgCLcB/s1600/image01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="208" src="https://2.bp.blogspot.com/-52y8dgLK8CY/V7OZhBSuCDI/AAAAAAAACHw/qGa66kjV_WA8lkJxndTl332zPHiAFs2wgCLcB/s400/image01.png" width="400" /></a></div><br /><ul><li>Games on Santa Tracker Android are built using many technologies such as <a href="http://www.jbox2d.org/">JBox2D</a> (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/gumball">gumball game</a>), Android view hierarchy (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/matching">memory match game</a>) and OpenGL with special rendering engine (<a href="https://github.com/google/santa-tracker-android/tree/master/app/santa-tracker/src/main/java/com/google/android/apps/santatracker/games/jetpack">jetpack game</a>). We've also included a holiday-themed variation of <a href="https://google.github.io/pienoon/">Pie Noon</a>, a fun game that works on Android TV, your phone, and inside Google Cardboard's VR.</li></ul><h3><strong>Android Wear</strong></h3><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-xKjE-wCLy4o/V7OZLSsP0TI/AAAAAAAACHk/3zMB2WvKRiYWx1fiXKVEhlZakGKwOBUWwCLcB/s1600/image03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="329" src="https://3.bp.blogspot.com/-xKjE-wCLy4o/V7OZLSsP0TI/AAAAAAAACHk/3zMB2WvKRiYWx1fiXKVEhlZakGKwOBUWwCLcB/s400/image03.png" width="400" /></a></div><br /><ul><li>The custom watch faces on Android Wear provide a personalized touch. Having Santa or one of his friendly elves tell the time brings a smile to all. <a href="https://www.youtube.com/watch?v=VkvHKtmsvYA">Building custom watch faces</a> is a lot of fun but providing a performant, battery friendly watch face requires <a href="http://android-developers.blogspot.com/2014/12/making-performant-watch-face.html?utm_campaign=play%20games_discussion_santatracker_081716&amp;utm_source=gdev&amp;utm_medium=blog">certain considerations</a>. The watch face source code can be found <a href="https://github.com/google/santa-tracker-android/blob/master/app/wearable/src/main/java/com/google/android/apps/santatracker/SantaWatchFaceService.java">here</a>. </li><li>Santa Tracker uses notifications to let users know when Santa has started his journey. The notifications are further <a href="https://github.com/google/santa-tracker-android/blob/master/app/wearable/src/main/java/com/google/android/apps/santatracker/WearNotificationService.java">enhanced to provide a great experience on wearables</a> using custom backgrounds and actions that deep link into the app. </li></ul><h3><strong>On the web</strong></h3><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-hhG4L5hBJBk/V7OZSit2cFI/AAAAAAAACHo/ISD5NQPkaoIoeVUoPWoziT_QzTMp_XhZQCLcB/s1600/image00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://1.bp.blogspot.com/-hhG4L5hBJBk/V7OZSit2cFI/AAAAAAAACHo/ISD5NQPkaoIoeVUoPWoziT_QzTMp_XhZQCLcB/s400/image00.png" width="233" /></a></div><br /><ul><li>Santa Tracker is mobile-first: this year's experience was built for the mobile web, including an amazing brand new, interactive - yet fully responsive, village: with three breakpoints, touch gesture support and support for the <a href="https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android?hl=en?utm_campaign=play%20games_discussion_santatracker_081716&amp;utm_source=gdev&amp;utm_medium=blog">Web App Manifest</a>. </li><li>To help us develop Santa at scale, we've upgraded to <a href="https://www.polymer-project.org/">Polymer 1.0+</a>. Santa Tracker's use of Polymer demonstrates how easy it is to package code into reusable components. Every <a href="https://github.com/google/santa-tracker-web/tree/master/scenes">house</a>in Santa's Village is a custom element, only loaded when needed, minimizing the startup cost of Santa Tracker.</li></ul><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-C5hUjrCVhJM/V7OZYFD4w3I/AAAAAAAACHs/FhBWHvA1M0olXSzCAy1nvVCIDT4mviAMgCLcB/s1600/image02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://4.bp.blogspot.com/-C5hUjrCVhJM/V7OZYFD4w3I/AAAAAAAACHs/FhBWHvA1M0olXSzCAy1nvVCIDT4mviAMgCLcB/s400/image02.png" width="400" /></a></div><br /><ul><li>Many of the amazing new games (like <a href="https://github.com/santatracker/santatracker/tree/master/scenes/presentbounce">Present Bounce</a>) were built with the latest JavaScript standards (ES6) and are compiled to support older browsers via the <a href="https://developers.google.com/closure/compiler/?utm_campaign=play%20games_discussion_santatracker_081716&amp;utm_source=gdev&amp;utm_medium=blog">Google Closure Compiler</a>. </li><li>Santa Tracker's interactive and fun experience <a href="https://github.com/google/santa-tracker-web/search?l=javascript&amp;q=Animation">is enhanced</a> using the Web Animations API, <a href="https://w3c.github.io/web-animations/">a standardized JavaScript API</a>for unifying animated content. </li><li>We simplified the Chromecast support this year, focusing on a great screensaver that would countdown to the big event on December 24th - and occasionally autoplay some of the <a href="https://www.youtube.com/watch?v=IXmDOu-eSx4">great</a> <a href="https://www.youtube.com/watch?v=sQnKCU_A0Yc">video</a> <a href="https://www.youtube.com/watch?v=_WdYujHlmHA">content</a> from around Santa's Village.</li></ul>We hope that this update inspires you to make your own magical experiences based on all the interesting and exciting components that came together to make Santa Tracker! ]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/a-google-santa-tracker-update-from-santas-elves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>From Google Summer of Code to Game of Thrones on the Back of a JavaScript Dragon (Part 2)</title>
		<link>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-2/</link>
		<comments>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-2/#comments</comments>
		<pubDate>Fri, 12 Aug 2016 22:16:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8bdce4132d1d2e4638f9b8d25079c168</guid>
		<description><![CDATA[<i>This guest post is a part of a short series about&#160;Guy Yachdav, Tatyana Goldberg and Christian Dallago&#160;and the journey that was inspired by&#160;their&#160;participation as Google Summer of Code mentors for the <a href="https://biojsnet.herokuapp.com/" target="_blank">BioJS</a> project. Don&#8217;t miss the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html" target="_blank">first post</a> in the series.&#160;Heads up, this post contains spoilers for Game of Thrones seasons 5 and 6!</i><br /><div><br /></div><div><div>We built on the <a href="https://developers.google.com/open-source/gsoc/" target="_blank">Google Summer of Code</a> (GSoC) philosophy and the lessons we learned from participating in 2014 by starting a <a href="https://rostlab.org/owiki/index.php/Javascript_technology_2016" target="_blank">JavaScript Technology class</a> at the <a href="http://www.tum.de/en/homepage/" target="_blank">Technical University of Munich</a> (TUM).</div><div><br /></div><div>We began with two dozen students who worked on expanding the BioJS visualization library. Our class became popular quickly and the number of applicants doubled each semester (nearly 180 applicants for 40 seats in the 2016 summer term).</div><div><br /></div><div>In 2016 our team grew to include <a href="https://twitter.com/chdallago" target="_blank">Christian Dallago</a>, who had joined as a GSoC mentor. Together we decided to break with tradition of our course&#8217;s previous semesters. Instead of focusing on data visualization, we wanted to introduce students to data science with JavaScript. To get our students fully engaged, we decided the project would center on data from the hit TV show, <a href="https://en.wikipedia.org/wiki/Game_of_Thrones" target="_blank">Game of Thrones</a>.</div><div><br /></div><div>Our aim was to create <a href="http://got.show/" target="_blank">an online portal for Game of Thrones fans</a>&#160;which would:</div><div><ol><li>Provide the most comprehensive, structured and open data set about the Game of Thrones world <a href="http://api.got.show/" target="_blank">accessible via API</a>.</li><li>Present an <a href="https://www.got.show/map" target="_blank">interactive map</a> based on JavaScript.</li><li>Listen to what people are saying on Twitter about each of the show&#8217;s characters.</li><li>Use machine learning algorithms to predict <a href="https://www.got.show/machine-learning-algorithm-predicts-death-game-of-thrones" target="_blank">the likelihood of each character&#8217;s death</a>.</li></ol></div><div>Our plan worked &#8212; the students were engaged. It was a beautiful sight to see: GitHub repos humming with activity as each dev team delved deeper into their projects. As a project manager, you know you&#8217;ve got something good when issues are being opened and closed at 4:00 AM!</div><div><br /></div><div>The results were mind blowing. In 50 days of programming, 36 students opened over 1,200 issues and pull requests, pushed 3,300 commits, released four apps to NPM, and, of course, produced one <a href="https://got.show/" target="_blank">absolutely amazing website</a>.</div><div><br /></div><div>The website amasses data from 2,028 characters. Our map shows 240 landmarks and the paths traveled by 28 characters. Our Twitter sentiment analysis tool analyzed over 3 million tweets. And we launched the <a href="https://www.got.show/machine-learning-algorithm-predicts-death-game-of-thrones" target="_blank">first ever machine learning-based prediction algorithm</a> that predicts the likelihood of dying for the 1,451 characters in the show that are still alive.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img alt="image02fix.png" height="381" src="https://lh6.googleusercontent.com/rjdUHvF367qxmrP-t7ec-hVMX-Yfxg6VLXLOn-v5wM2fOJKv6SxnvtYafI063oZVfq1NNXSmlxYKqruexavU8gb2-abONnAa-p9p1m5N3kGgtaq0FGBWKZis36vSBkS5Gt2NK7cC" width="624"></td></tr><tr><td><b>Visualization of Twitter sentiment analysis data for <a href="https://www.got.show/characters/Jon%20Snow" target="_blank">Jon Snow</a> during season 5 of Game of Thrones. </b>The X axis shows the timeline and the Y axis shows the number of positive (green) and negative (red) tweets. Each tweet is analyzed by an algorithm using a neural network to determine whether the tweet&#8217;s writer has a positive, negative or neutral attitude toward the character.&#160;</td></tr></tbody></table><div>Since launch, the site&#8217;s popularity has skyrocketed. Following our <a href="http://www.tum.de/en/about-tum/news/press-releases/short/article/33047/" target="_blank">press release</a>, we were covered by over 1,500 media outlets, most notably <a href="http://time.com/4299666/game-of-thrones-computer-algorithm-death/" target="_blank">Time</a>, <a href="https://www.theguardian.com/technology/2016/apr/19/game-of-thrones-algorithm-jon-snow-death" target="_blank">The Guardian</a>,&#160;<a href="http://www.rollingstone.de/wer-stirbt-als-naechster-bei-game-of-thrones-studie-bietet-die-antwort-1009929/" target="_blank">Rolling Stone</a>, <a href="http://www.dailymail.co.uk/sciencetech/article-3547914/Who-die-Game-Thrones-Computer-algorithm-predicts-fate-characters-season-six-hit-series.html" target="_blank">Daily Mail</a>, <a href="http://www.bbc.co.uk/programmes/b077ckz1" target="_blank">BBC</a>, <a href="http://www.theguardian.com/tv-and-radio/video/2016/apr/21/a-song-of-ice-and-data-students-create-death-prediction-software-for-game-of-thrones-video" target="_blank">Reuters</a>, <a href="http://www.telegraph.co.uk/technology/2016/04/19/computer-program-predicts-who-will-die-in-game-of-thrones-next/" target="_blank">The Telegraph</a>, <a href="http://www.cnet.com/news/algorithm-predicts-fans-have-not-seen-the-last-of-a-certain-game-of-thrones-character/" target="_blank">CNET</a> and many more. <a href="http://now.howstuffworks.com/2016/04/22/predicting-the-next-death-game-thrones" target="_blank">HowStuffWorks</a>, <a href="http://www.vulture.com/2016/04/this-algorithm-predicts-game-of-thrones-deaths.html" target="_blank">The Vulture</a> and others produced videos about the site and <a href="http://www.tvguide.com/tvshows/midnight-with-chris-hardwick/video/593026/game-of-thrones-is-back-a-song-of-ice-and-data-26303966/" target="_blank">Chris Hardwick&#8217;s Comedy Central show</a> did a segment about us. We've also given countless interviews to <a href="http://www.ctvnews.ca/entertainment/who-s-next-to-die-algorithm-predicts-upcoming-deaths-in-game-of-thrones-1.2871377" target="_blank">TV</a>, radio and newspapers.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img alt="Blog2_Figure1_v3.png" height="171" src="https://lh3.googleusercontent.com/VQLFhru0fcYcp3bPi_PJ_L93eze3y_TsDAtZCJktbm_v9t5Sw62xjd9T3EtVKte0sGkeMEOWy3ARrBQ4Wl0jOdbAfrPo66tZWWpwYdfZsQU_6iDB1cuQDYqj3Oo_tDgRtRwKk9rT" width="624"></td></tr><tr><td></td><td><span><b>Google Analytics for the website. </b>Left chart shows the number of visitors to the website during the first week after launch, reaching over 73K visitors on April 25th. Right chart shows the number of visitors at a given time point during the same week.</span></td></tr></tbody></table><div>The most exciting part of the project was predicting the likelihood that any given character would die using <a href="https://en.wikipedia.org/wiki/Machine_learning" target="_blank">machine learning</a>. Machine learning algorithms find rules and patterns in the data, things that humans cannot obviously and simply detect. Once the rules and patterns are identified, we apply machine learning to make inferences or predictions from novel, previously unseen, data sets.</div><div><br /></div><div><i>Warning: The next paragraphs contain spoilers for seasons 5 and 6 of Game of Thrones!</i></div><div><br /></div><div>In order to <a href="https://got.show/ranking">predict the likelihood of a character&#8217;s death</a>, we collected information about all of the characters that appeared in books 1 to 5 and analyzed over 30 features, including age, gender, marital status and others. Then we used a <a href="https://en.wikipedia.org/wiki/Support_vector_machine" target="_blank">support vector machine</a> (SVM) to statistically compare the features of characters, both dead and alive, to predict who would get the axe next. Our prediction was correct for 74% of all cases and surprised us by placing a number of characters thought to be relatively safe in grave danger.</div><div><br /></div><div>According to our predictions, Jon Snow, who was seemingly betrayed and murdered by fellow members of the Night&#8217;s Watch at the end of season 5, had only an 11% chance of dying. Indeed, Jon has risen from the dead in the second episode of season 6! We also predicted that the rulers of Dorn (Doran and Trystane) Martell are at a high likelihood of death and, as predicted, they were taken out in the first episode of the new season.</div><div><br /></div><div>Of course, as is always the case with predictions, there were also misses. We didn&#8217;t expect Roose Bolton to be killed off nor did we see Hodor&#8217;s departure coming.</div><div><br /></div><div>This experience was an amazing ride for our team and it all started with Google Summer of Code! In the next post we&#8217;ll share what followed and where we see ourselves heading in the future.</div><div><br /></div><div><i>By Guy Yachdav, Tatyana Goldberg and Christian Dallago, BioJS</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>This guest post is a part of a short series about&nbsp;Guy Yachdav, Tatyana Goldberg and Christian Dallago&nbsp;and the journey that was inspired by&nbsp;their&nbsp;participation as Google Summer of Code mentors for the <a href="https://biojsnet.herokuapp.com/" >BioJS</a> project. Don’t miss the <a href="http://google-opensource.blogspot.com/2016/08/from-google-summer-of-code-to-game-of.html" >first post</a> in the series.&nbsp;Heads up, this post contains spoilers for Game of Thrones seasons 5 and 6!</i><br /><div><br /></div><div><div>We built on the <a href="https://developers.google.com/open-source/gsoc/" >Google Summer of Code</a> (GSoC) philosophy and the lessons we learned from participating in 2014 by starting a <a href="https://rostlab.org/owiki/index.php/Javascript_technology_2016" >JavaScript Technology class</a> at the <a href="http://www.tum.de/en/homepage/" >Technical University of Munich</a> (TUM).</div><div><br /></div><div>We began with two dozen students who worked on expanding the BioJS visualization library. Our class became popular quickly and the number of applicants doubled each semester (nearly 180 applicants for 40 seats in the 2016 summer term).</div><div><br /></div><div>In 2016 our team grew to include <a href="https://twitter.com/chdallago" >Christian Dallago</a>, who had joined as a GSoC mentor. Together we decided to break with tradition of our course’s previous semesters. Instead of focusing on data visualization, we wanted to introduce students to data science with JavaScript. To get our students fully engaged, we decided the project would center on data from the hit TV show, <a href="https://en.wikipedia.org/wiki/Game_of_Thrones" >Game of Thrones</a>.</div><div><br /></div><div>Our aim was to create <a href="http://got.show/" >an online portal for Game of Thrones fans</a>&nbsp;which would:</div><div><ol><li>Provide the most comprehensive, structured and open data set about the Game of Thrones world <a href="http://api.got.show/" >accessible via API</a>.</li><li>Present an <a href="https://www.got.show/map" >interactive map</a> based on JavaScript.</li><li>Listen to what people are saying on Twitter about each of the show’s characters.</li><li>Use machine learning algorithms to predict <a href="https://www.got.show/machine-learning-algorithm-predicts-death-game-of-thrones" >the likelihood of each character’s death</a>.</li></ol></div><div>Our plan worked — the students were engaged. It was a beautiful sight to see: GitHub repos humming with activity as each dev team delved deeper into their projects. As a project manager, you know you’ve got something good when issues are being opened and closed at 4:00 AM!</div><div><br /></div><div>The results were mind blowing. In 50 days of programming, 36 students opened over 1,200 issues and pull requests, pushed 3,300 commits, released four apps to NPM, and, of course, produced one <a href="https://got.show/" >absolutely amazing website</a>.</div><div><br /></div><div>The website amasses data from 2,028 characters. Our map shows 240 landmarks and the paths traveled by 28 characters. Our Twitter sentiment analysis tool analyzed over 3 million tweets. And we launched the <a href="https://www.got.show/machine-learning-algorithm-predicts-death-game-of-thrones" >first ever machine learning-based prediction algorithm</a> that predicts the likelihood of dying for the 1,451 characters in the show that are still alive.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img alt="image02fix.png" height="381" src="https://lh6.googleusercontent.com/rjdUHvF367qxmrP-t7ec-hVMX-Yfxg6VLXLOn-v5wM2fOJKv6SxnvtYafI063oZVfq1NNXSmlxYKqruexavU8gb2-abONnAa-p9p1m5N3kGgtaq0FGBWKZis36vSBkS5Gt2NK7cC" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr><tr><td class="tr-caption" style="text-align: left;"><b>Visualization of Twitter sentiment analysis data for <a href="https://www.got.show/characters/Jon%20Snow" >Jon Snow</a> during season 5 of Game of Thrones. </b>The X axis shows the timeline and the Y axis shows the number of positive (green) and negative (red) tweets. Each tweet is analyzed by an algorithm using a neural network to determine whether the tweet’s writer has a positive, negative or neutral attitude toward the character.&nbsp;</td></tr></tbody></table><div>Since launch, the site’s popularity has skyrocketed. Following our <a href="http://www.tum.de/en/about-tum/news/press-releases/short/article/33047/" >press release</a>, we were covered by over 1,500 media outlets, most notably <a href="http://time.com/4299666/game-of-thrones-computer-algorithm-death/" >Time</a>, <a href="https://www.theguardian.com/technology/2016/apr/19/game-of-thrones-algorithm-jon-snow-death" >The Guardian</a>,&nbsp;<a href="http://www.rollingstone.de/wer-stirbt-als-naechster-bei-game-of-thrones-studie-bietet-die-antwort-1009929/" >Rolling Stone</a>, <a href="http://www.dailymail.co.uk/sciencetech/article-3547914/Who-die-Game-Thrones-Computer-algorithm-predicts-fate-characters-season-six-hit-series.html" >Daily Mail</a>, <a href="http://www.bbc.co.uk/programmes/b077ckz1" >BBC</a>, <a href="http://www.theguardian.com/tv-and-radio/video/2016/apr/21/a-song-of-ice-and-data-students-create-death-prediction-software-for-game-of-thrones-video" >Reuters</a>, <a href="http://www.telegraph.co.uk/technology/2016/04/19/computer-program-predicts-who-will-die-in-game-of-thrones-next/" >The Telegraph</a>, <a href="http://www.cnet.com/news/algorithm-predicts-fans-have-not-seen-the-last-of-a-certain-game-of-thrones-character/" >CNET</a> and many more. <a href="http://now.howstuffworks.com/2016/04/22/predicting-the-next-death-game-thrones" >HowStuffWorks</a>, <a href="http://www.vulture.com/2016/04/this-algorithm-predicts-game-of-thrones-deaths.html" >The Vulture</a> and others produced videos about the site and <a href="http://www.tvguide.com/tvshows/midnight-with-chris-hardwick/video/593026/game-of-thrones-is-back-a-song-of-ice-and-data-26303966/" >Chris Hardwick’s Comedy Central show</a> did a segment about us. We've also given countless interviews to <a href="http://www.ctvnews.ca/entertainment/who-s-next-to-die-algorithm-predicts-upcoming-deaths-in-game-of-thrones-1.2871377" >TV</a>, radio and newspapers.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img alt="Blog2_Figure1_v3.png" height="171" src="https://lh3.googleusercontent.com/VQLFhru0fcYcp3bPi_PJ_L93eze3y_TsDAtZCJktbm_v9t5Sw62xjd9T3EtVKte0sGkeMEOWy3ARrBQ4Wl0jOdbAfrPo66tZWWpwYdfZsQU_6iDB1cuQDYqj3Oo_tDgRtRwKk9rT" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr><tr><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: left;"><span style="font-size: 12.8px;"><b>Google Analytics for the website. </b>Left chart shows the number of visitors to the website during the first week after launch, reaching over 73K visitors on April 25th. Right chart shows the number of visitors at a given time point during the same week.</span></td></tr></tbody></table><div>The most exciting part of the project was predicting the likelihood that any given character would die using <a href="https://en.wikipedia.org/wiki/Machine_learning" >machine learning</a>. Machine learning algorithms find rules and patterns in the data, things that humans cannot obviously and simply detect. Once the rules and patterns are identified, we apply machine learning to make inferences or predictions from novel, previously unseen, data sets.</div><div><br /></div><div><i>Warning: The next paragraphs contain spoilers for seasons 5 and 6 of Game of Thrones!</i></div><div><br /></div><div>In order to <a href="https://got.show/ranking">predict the likelihood of a character’s death</a>, we collected information about all of the characters that appeared in books 1 to 5 and analyzed over 30 features, including age, gender, marital status and others. Then we used a <a href="https://en.wikipedia.org/wiki/Support_vector_machine" >support vector machine</a> (SVM) to statistically compare the features of characters, both dead and alive, to predict who would get the axe next. Our prediction was correct for 74% of all cases and surprised us by placing a number of characters thought to be relatively safe in grave danger.</div><div><br /></div><div>According to our predictions, Jon Snow, who was seemingly betrayed and murdered by fellow members of the Night’s Watch at the end of season 5, had only an 11% chance of dying. Indeed, Jon has risen from the dead in the second episode of season 6! We also predicted that the rulers of Dorn (Doran and Trystane) Martell are at a high likelihood of death and, as predicted, they were taken out in the first episode of the new season.</div><div><br /></div><div>Of course, as is always the case with predictions, there were also misses. We didn’t expect Roose Bolton to be killed off nor did we see Hodor’s departure coming.</div><div><br /></div><div>This experience was an amazing ride for our team and it all started with Google Summer of Code! In the next post we’ll share what followed and where we see ourselves heading in the future.</div><div><br /></div><div><i>By Guy Yachdav, Tatyana Goldberg and Christian Dallago, BioJS</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Which languages convey the most information in the least space? Introducing the Unimorph dataset.</title>
		<link>https://googledata.org/google-open-source/which-languages-convey-the-most-information-in-the-least-space-introducing-the-unimorph-dataset/</link>
		<comments>https://googledata.org/google-open-source/which-languages-convey-the-most-information-in-the-least-space-introducing-the-unimorph-dataset/#comments</comments>
		<pubDate>Mon, 08 Aug 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0f5658a26e27f704cf0f92ac5d888b70</guid>
		<description><![CDATA[Several years ago a science journalist asked me which languages could pack the most information into a 140-character Tweet. Because <a href="https://dev.twitter.com/overview/api/counting-characters" target="_blank">Twitter defines a character</a> roughly as a single Unicode code point, this turns out to be an easy question to answer. Chinese almost certainly rates as the most &#8220;compact&#8221; language from that point of view because a single Chinese character represents a whole <a href="https://en.wikipedia.org/wiki/Morpheme" target="_blank">morpheme</a>&#160;(in linguist terminology, a minimal unit of meaning) whereas an English letter only represents a part of a morpheme. The Chinese equivalent of <i>I don&#8217;t eat meat</i>, which in English takes 16 characters including spaces is &#25105;&#19981;&#21507;&#32905;, which takes just four.<br /><br />But this question relates to a broader question that as a linguist I have often been asked: which languages are the most &#8220;efficient&#8221; at conveying information? Or, which languages can convey the same information in the smallest amount of space? Untethered by the idiosyncrasies of Twitter, this question becomes quite difficult to answer. What do you mean by &#8220;space&#8221;? Number of characters? Number of bytes? Number of syllables? Each of these has its own problems. And perhaps more crucially, what do you mean by &#8220;information&#8221;? The <a href="https://en.wikipedia.org/wiki/Claude_Shannon" target="_blank">Shannon</a>&#160;notion of <a href="https://en.wikipedia.org/wiki/Information_theory" target="_blank">information</a>&#160;does not straightforwardly apply here.<br /><br />A group of us at Google set out to answer this question, or at least to provide the form that an answer would have to take. We had the resources and experience needed to annotate data in multiple languages, and we were able to divert some of those resources to this task. The results were published in a <a href="http://www.lrec-conf.org/proceedings/lrec2014/pdf/47_Paper.pdf" target="_blank">paper</a>&#160;presented at the <a href="http://www.lrec-conf.org/proceedings/lrec2014/index.html" target="_blank">2014 <i>International Conference on Language Resources and Evaluation</i></a> in Reykjav&#237;k, Iceland.<br /><br />We are now releasing the <a href="https://github.com/google/unimorph" target="_blank">data on GitHub</a>. The data consist of 85 sentences typical of the kinds of sentences generated by <a href="https://www.google.com/search/about/" target="_blank">Google Now</a>, translated into eight typologically diverse languages: English, French, Italian, German, Russian, Arabic, Korean, Chinese, which include some highly <a href="https://en.wikipedia.org/wiki/Fusional_language" target="_blank">inflected</a>&#160;and <a href="https://en.wikipedia.org/wiki/Uninflected_word" target="_blank">uninflected</a>&#160;languages, and various types of morphology including inflectional and <a href="https://en.wikipedia.org/wiki/Agglutinative_language" target="_blank">agglutinative</a>. The data were annotated by one to three annotators depending on the language, with morphological information, counts of the marked features and other information. The main data file is in HTML, color coded by language, which makes it easy to browse but also easy to extract into other formats.<br /><br />Since the basic information conveyed by each sentence can be assumed to be the same across languages, the main focus of the research was on the additional information that each language marks,<i> and cannot avoid marking</i>. For example, the English sentence:<br /><br /><div><i>Use my location for the search results and other services.</i></div><div><br /></div>has the French translation:<br /><br /><div><i>Utilis<b>ez</b> ma position pour les r&#233;sultats de recherche et d'autres services.</i></div><br />The verb ending -ez, in boldface above marks &#8220;addressee respect&#8221;, a bit of information that is missing from the English original. &#160;One could have used a different ending on the French verb, but then that would <i>not </i>avoid this bit of information&#8212;it would be choosing to mark lack of respect, or familiarity with the addressee.<br /><br />In the paper we tried various ways of measuring the differing information content of the languages relative to various definitions of &#8220;space&#8221;. Considering all the factors together, we concluded that the languages that conveyed the most information in a given amount of space were highly inflected languages like Russian, with uninflected languages like Chinese actually being the &#8220;least efficient&#8221; at conveying information.<br /><br />We don&#8217;t expect this to be the final answer, which is why we are releasing the data as open source in the hopes that others will find it useful and maybe can even extend it to more sentences or a wider variety of languages. Ultimately though, any answer to the question of which languages convey the most information in the smallest amount of space must seriously address what is meant by &#8220;information&#8221;, and must pay heed to the famous maxim by the Russian linguist <a href="https://en.wikipedia.org/wiki/Roman_Jakobson">Roman Jakobson</a> <a href="https://web.stanford.edu/~eckert/PDF/jakobson.pdf">(1959)</a> that &#8220;languages differ essentially in what they must convey and not in what they may convey.&#8221;<br /><br /><i>By Richard Sproat, Research Scientist</i>]]></description>
				<content:encoded><![CDATA[Several years ago a science journalist asked me which languages could pack the most information into a 140-character Tweet. Because <a href="https://dev.twitter.com/overview/api/counting-characters" >Twitter defines a character</a> roughly as a single Unicode code point, this turns out to be an easy question to answer. Chinese almost certainly rates as the most “compact” language from that point of view because a single Chinese character represents a whole <a href="https://en.wikipedia.org/wiki/Morpheme" >morpheme</a>&nbsp;(in linguist terminology, a minimal unit of meaning) whereas an English letter only represents a part of a morpheme. The Chinese equivalent of <i>I don’t eat meat</i>, which in English takes 16 characters including spaces is 我不吃肉, which takes just four.<br /><br />But this question relates to a broader question that as a linguist I have often been asked: which languages are the most “efficient” at conveying information? Or, which languages can convey the same information in the smallest amount of space? Untethered by the idiosyncrasies of Twitter, this question becomes quite difficult to answer. What do you mean by “space”? Number of characters? Number of bytes? Number of syllables? Each of these has its own problems. And perhaps more crucially, what do you mean by “information”? The <a href="https://en.wikipedia.org/wiki/Claude_Shannon" >Shannon</a>&nbsp;notion of <a href="https://en.wikipedia.org/wiki/Information_theory" >information</a>&nbsp;does not straightforwardly apply here.<br /><br />A group of us at Google set out to answer this question, or at least to provide the form that an answer would have to take. We had the resources and experience needed to annotate data in multiple languages, and we were able to divert some of those resources to this task. The results were published in a <a href="http://www.lrec-conf.org/proceedings/lrec2014/pdf/47_Paper.pdf" >paper</a>&nbsp;presented at the <a href="http://www.lrec-conf.org/proceedings/lrec2014/index.html" >2014 <i>International Conference on Language Resources and Evaluation</i></a> in Reykjavík, Iceland.<br /><br />We are now releasing the <a href="https://github.com/google/unimorph" >data on GitHub</a>. The data consist of 85 sentences typical of the kinds of sentences generated by <a href="https://www.google.com/search/about/" >Google Now</a>, translated into eight typologically diverse languages: English, French, Italian, German, Russian, Arabic, Korean, Chinese, which include some highly <a href="https://en.wikipedia.org/wiki/Fusional_language" >inflected</a>&nbsp;and <a href="https://en.wikipedia.org/wiki/Uninflected_word" >uninflected</a>&nbsp;languages, and various types of morphology including inflectional and <a href="https://en.wikipedia.org/wiki/Agglutinative_language" >agglutinative</a>. The data were annotated by one to three annotators depending on the language, with morphological information, counts of the marked features and other information. The main data file is in HTML, color coded by language, which makes it easy to browse but also easy to extract into other formats.<br /><br />Since the basic information conveyed by each sentence can be assumed to be the same across languages, the main focus of the research was on the additional information that each language marks,<i> and cannot avoid marking</i>. For example, the English sentence:<br /><br /><div style="text-align: center;"><i>Use my location for the search results and other services.</i></div><div style="text-align: center;"><br /></div>has the French translation:<br /><br /><div style="text-align: center;"><i>Utilis<b>ez</b> ma position pour les résultats de recherche et d'autres services.</i></div><br />The verb ending -ez, in boldface above marks “addressee respect”, a bit of information that is missing from the English original. &nbsp;One could have used a different ending on the French verb, but then that would <i>not </i>avoid this bit of information—it would be choosing to mark lack of respect, or familiarity with the addressee.<br /><br />In the paper we tried various ways of measuring the differing information content of the languages relative to various definitions of “space”. Considering all the factors together, we concluded that the languages that conveyed the most information in a given amount of space were highly inflected languages like Russian, with uninflected languages like Chinese actually being the “least efficient” at conveying information.<br /><br />We don’t expect this to be the final answer, which is why we are releasing the data as open source in the hopes that others will find it useful and maybe can even extend it to more sentences or a wider variety of languages. Ultimately though, any answer to the question of which languages convey the most information in the smallest amount of space must seriously address what is meant by “information”, and must pay heed to the famous maxim by the Russian linguist <a href="https://en.wikipedia.org/wiki/Roman_Jakobson">Roman Jakobson</a> <a href="https://web.stanford.edu/~eckert/PDF/jakobson.pdf">(1959)</a> that “languages differ essentially in what they must convey and not in what they may convey.”<br /><br /><i>By Richard Sproat, Research Scientist</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/which-languages-convey-the-most-information-in-the-least-space-introducing-the-unimorph-dataset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Making Rubyists more comfortable on Google Cloud Platform</title>
		<link>https://googledata.org/google-open-source/making-rubyists-more-comfortable-on-google-cloud-platform/</link>
		<comments>https://googledata.org/google-open-source/making-rubyists-more-comfortable-on-google-cloud-platform/#comments</comments>
		<pubDate>Fri, 05 Aug 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1ec641a53847a7cda548155793eb64bc</guid>
		<description><![CDATA[One of the many <a href="http://developers.google.com/open-source/" target="_blank">open source efforts</a> at Google is the <a href="http://googlecloudplatform.github.io/" target="_blank">Google Cloud Platform</a> (GCP) native libraries for our most popular languages. One of these libraries is the <a href="https://github.com/GoogleCloudPlatform/gcloud-ruby" target="_blank">gcloud-ruby project on GitHub</a>&#160;which is released as the <a href="https://rubygems.org/gems/gcloud" target="_blank">gcloud gem on rubygems.org</a>. There are several gems for accessing Google Cloud Platform resources from Ruby but this gem is different. It is hand coded by Rubyists for Rubyists and that has some distinct advantages.<br /><br />Many of us have had experience working with libraries that are clearly ported from another language. I usually talk about them as Ruby with a Java accent or Python with a Perl accent. Generally they work just fine but you can run into some low level friction &#8212; sometimes things just don&#8217;t feel right. Native gems written by members of the community solve this problem. In the case of gcloud-ruby there are some really concrete examples.<br /><br />First, gcloud-ruby uses syntax that is similar to other popular Ruby libraries. For example, the syntax for specifying a table schema in <a href="https://cloud.google.com/bigquery/" target="_blank">BigQuery</a> (Google Cloud Platform's very large scale data warehouse) looks like this:<br /><br /><pre>table <span>=</span> dataset.create_table <span>"baby_names"</span> <span>do </span>&#124;<span>schema</span>&#124;<br />  schema.string <span>"name"</span><br />  schema.string <span>"sex"</span><br />  schema.integer <span>"number"</span><br /><span>end</span><br /></pre><br />Creating the same table in popular Ruby on Rails looks like this:<br /><div><br /></div><div><pre>create_table <span>"baby_names"</span> <span>do </span>&#124;<span>schema</span>&#124;<br />  schema.string <span>"name"</span><br />  schema.string <span>"sex"</span><br />  schema.integer <span>"number<br />end<br /></span></pre><div><br /></div><div><div>The two are nearly identical. That makes getting up to speed on BigQuery easier and quicker than it would be if the Ruby library didn't use patterns that are already known to the majority of Rubyists.&#160;</div><div><br /></div><div>Another way the gcloud-ruby library meets the community where it is at is by embracing the community's fondness for doing things several different ways. In Ruby there are often several correct ways to do a given task.</div><div><br /></div><div>The gcloud-ruby library is no exception. There are a few different ways to authenticate and create the objects you use to interact with the API. Ruby also has many common methods that have aliases. In the standard library Enumerable#map and Enumerable#collect actually run the same code path for example. In gcloud-ruby the vision API uses aliases. <a href="https://cloud.google.com/vision/" target="_blank">Google Cloud Vision</a> provides a single endpoint: annotate. gcloud-ruby has an <i>annotate</i> method but also aliases this method as <i>mark</i> and <i>detect</i> if those make more sense to you (detect is the method that makes the most sense to my brain so that's the one I use). By providing a couple of different aliases it can mean the first thing you try is more likely to work. This speeds up development time and makes learning the library easier.&#160;</div><div><br /></div><div>The last way the gcloud-ruby gem makes Rubyists feel at home is by having comprehensive tests, a common value and popular discussion topic for the Ruby community. gcloud-ruby uses minitest-spec for testing, a popular choice that most Rubyists can easily read. When I was learning the <a href="https://cloud.google.com/storage/docs/gsutil/addlhelp/CloudStorageAPIs" target="_blank">storage API</a> I looked at the tests for storage to learn how to use the library. There is outstanding documentation as well for those who prefer learning that way but I'm so used to looking at tests that I really appreciated that gcloud-ruby has well written and easily accessible tests.</div><div><br /></div><div>Above are three examples of how hand-coded libraries from within the community can improve the user experience when learning to use tools. Of course, doing all the development on GitHub in the open also helps. Users can easily see what bugs people have run into and what features are next up in the production queue. And if a user has a feature request (like the previously mentioned Cloud Vision support) they can create a GitHub issue.</div><div><br /></div><div>If you&#8217;re a Rubyist, give <a href="https://github.com/GoogleCloudPlatform/gcloud-ruby/" target="_blank">gcloud-ruby</a> a shot and let us know what you think!</div><div><br /></div><div><i>By Aja Hammerly, Developer Advocate</i></div></div></div>]]></description>
				<content:encoded><![CDATA[One of the many <a href="http://developers.google.com/open-source/" >open source efforts</a> at Google is the <a href="http://googlecloudplatform.github.io/" >Google Cloud Platform</a> (GCP) native libraries for our most popular languages. One of these libraries is the <a href="https://github.com/GoogleCloudPlatform/gcloud-ruby" >gcloud-ruby project on GitHub</a>&nbsp;which is released as the <a href="https://rubygems.org/gems/gcloud" >gcloud gem on rubygems.org</a>. There are several gems for accessing Google Cloud Platform resources from Ruby but this gem is different. It is hand coded by Rubyists for Rubyists and that has some distinct advantages.<br /><br />Many of us have had experience working with libraries that are clearly ported from another language. I usually talk about them as Ruby with a Java accent or Python with a Perl accent. Generally they work just fine but you can run into some low level friction — sometimes things just don’t feel right. Native gems written by members of the community solve this problem. In the case of gcloud-ruby there are some really concrete examples.<br /><br />First, gcloud-ruby uses syntax that is similar to other popular Ruby libraries. For example, the syntax for specifying a table schema in <a href="https://cloud.google.com/bigquery/" >BigQuery</a> (Google Cloud Platform's very large scale data warehouse) looks like this:<br /><br /><pre style="background: #fff; color: black;">table <span style="color: #0100b6; font-weight: 700;">=</span> dataset.create_table <span style="color: #d80800;">"baby_names"</span> <span style="color: #0100b6; font-weight: 700;">do </span>|<span style="color: #0206ff; font-style: italic;">schema</span>|<br />  schema.string <span style="color: #d80800;">"name"</span><br />  schema.string <span style="color: #d80800;">"sex"</span><br />  schema.integer <span style="color: #d80800;">"number"</span><br /><span style="color: #0100b6; font-weight: 700;">end</span><br /></pre><br />Creating the same table in popular Ruby on Rails looks like this:<br /><div><br /></div><div><pre style="background: #fff; color: black;">create_table <span style="color: #d80800;">"baby_names"</span> <span style="color: #0100b6; font-weight: 700;">do </span>|<span style="color: #0206ff; font-style: italic;">schema</span>|<br />  schema.string <span style="color: #d80800;">"name"</span><br />  schema.string <span style="color: #d80800;">"sex"</span><br />  schema.integer <span style="color: #d80800;">"number<br />end<br /></span></pre><div><br /></div><div><div>The two are nearly identical. That makes getting up to speed on BigQuery easier and quicker than it would be if the Ruby library didn't use patterns that are already known to the majority of Rubyists.&nbsp;</div><div><br /></div><div>Another way the gcloud-ruby library meets the community where it is at is by embracing the community's fondness for doing things several different ways. In Ruby there are often several correct ways to do a given task.</div><div><br /></div><div>The gcloud-ruby library is no exception. There are a few different ways to authenticate and create the objects you use to interact with the API. Ruby also has many common methods that have aliases. In the standard library Enumerable#map and Enumerable#collect actually run the same code path for example. In gcloud-ruby the vision API uses aliases. <a href="https://cloud.google.com/vision/" >Google Cloud Vision</a> provides a single endpoint: annotate. gcloud-ruby has an <i>annotate</i> method but also aliases this method as <i>mark</i> and <i>detect</i> if those make more sense to you (detect is the method that makes the most sense to my brain so that's the one I use). By providing a couple of different aliases it can mean the first thing you try is more likely to work. This speeds up development time and makes learning the library easier.&nbsp;</div><div><br /></div><div>The last way the gcloud-ruby gem makes Rubyists feel at home is by having comprehensive tests, a common value and popular discussion topic for the Ruby community. gcloud-ruby uses minitest-spec for testing, a popular choice that most Rubyists can easily read. When I was learning the <a href="https://cloud.google.com/storage/docs/gsutil/addlhelp/CloudStorageAPIs" >storage API</a> I looked at the tests for storage to learn how to use the library. There is outstanding documentation as well for those who prefer learning that way but I'm so used to looking at tests that I really appreciated that gcloud-ruby has well written and easily accessible tests.</div><div><br /></div><div>Above are three examples of how hand-coded libraries from within the community can improve the user experience when learning to use tools. Of course, doing all the development on GitHub in the open also helps. Users can easily see what bugs people have run into and what features are next up in the production queue. And if a user has a feature request (like the previously mentioned Cloud Vision support) they can create a GitHub issue.</div><div><br /></div><div>If you’re a Rubyist, give <a href="https://github.com/GoogleCloudPlatform/gcloud-ruby/" >gcloud-ruby</a> a shot and let us know what you think!</div><div><br /></div><div><i>By Aja Hammerly, Developer Advocate</i></div></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/making-rubyists-more-comfortable-on-google-cloud-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Stories from Google Code-in: KDE, MetaBrainz and Haiku</title>
		<link>https://googledata.org/google-open-source/stories-from-google-code-in-kde-metabrainz-and-haiku/</link>
		<comments>https://googledata.org/google-open-source/stories-from-google-code-in-kde-metabrainz-and-haiku/#comments</comments>
		<pubDate>Mon, 01 Aug 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=09ba6da3fa1740c1c37c5d759188e4b6</guid>
		<description><![CDATA[<i><a href="https://developers.google.com/open-source/gci/" target="_blank">Google Code-in</a> is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the second installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html" target="_blank">Google Code-in 2015 grand prize winners</a>. Be sure to check out <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html" target="_blank">the first post in the series</a>.</i><br /><br />This week we profile three more grand prize winners from Google Code-in 2015. These students came from <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html" target="_blank">all around the world</a> to celebrate with us in June after successfully completing 692 tasks that resulted in significant contributions to the <a href="https://codein.withgoogle.com/archive/2015/organization/" target="_blank">participating open source projects</a>.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img height="288" src="https://lh6.googleusercontent.com/MkM89KjcZH7-vBcebt8IBHjFYUTpiDNeVAuKwOF3jwxGMmgrvXFecyYeI_2dJHQt4c_xV4R6X0fjfxBKqa2X7IfxibCN435O1inytk0bgzZgFO6jopHzr6LAFOYHjeEL5ENe5Yu7" width="431"></td></tr><tr><td>Google Code-in 2015 Grand Prize Winners and Mentors were treated to a cruise around San Francisco Bay.</td></tr></tbody></table><div><span><span></span></span></div><div><br /></div><div><div>Students were paired with mentors who guided them as they learned both new technologies and how to collaborate on real-world projects. While most students had some programming experience, many were new to open source. In the end, they learned new skills, connected with open source communities and many will continue to contribute to open source projects.</div><div><br /></div><div>We&#8217;re proud of all of the participants and grateful to the mentors who helped them. We invited the contest winners to write about their experience and many took us up on the offer. Here are their stories:</div><div><br /></div><div>First up today is Imran Tatriev, a student from Kazakhstan who decided to work on the <a href="https://www.kde.org/" target="_blank">KDE</a> project because loved their philosophy and had experience with C++ and Qt. He was a finalist in <a href="https://melange-staging.appspot.com/archive/gci/2014/orgs/openmrs" target="_blank">Google Code-in 2014</a> when he worked with the <a href="http://openmrs.org/" target="_blank">OpenMRS</a> project.</div><div><br /></div><div>Imran&#8217;s work on KDE included contributing to projects such as <a href="https://www.kdevelop.org/" target="_blank">KDevelop</a>, <a href="https://marble.kde.org/" target="_blank">Marble</a> and <a href="https://www.kde.org/applications/education/gcompris/" target="_blank">GCompris</a>. His biggest challenge was working on the <a href="https://docs.kde.org/trunk5/en/extragear-kdevelop/kdevelop/debugging-programs-in-kdevelop.html" target="_blank">KDevelop IDE&#8217;s debugger</a> where he was tasked with highlighting crashed threads. Highlighting the crashed thread was trivial, finding the thread that had crashed was not. It took him five days to solve that problem and he credits his mentor with helping him to work through it.</div><div><br /></div><div>In the end, Imran learned a lot about regular expressions, the architecture of large software projects, C++ and unit testing. What did he like most about his Google Code-in experience? Imran writes: <i>&#8220;The most valuable moments were meeting wonderful and smart people.&#8221;</i> He plans to continue working with KDE and apply for <a href="https://developers.google.com/open-source/gsoc/" target="_blank">Google Summer of Code</a>.</div><div><br /></div><div>Next is Caroline Gschwend, a student from the US who worked on the <a href="https://metabrainz.org/" target="_blank">MetaBrainz</a> project. Both of her parents are computer scientists and she credits them with spurring her interest.</div><div><br /></div><div>A homeschool student with a unique approach to education, Caroline loves to learn and voraciously consumes free online resources. She had this to say: <i>&#8220;I think that free, online learning is an amazing benefit to our society. With access to a computer and the internet, anyone, anywhere, can learn anything.&#8221;</i></div><div><br /></div><div>Caroline discovered Google Code-in through her mother who had, in turn, discovered the contest through <a href="http://googleforeducation.blogspot.com/" target="_blank">Google for Education</a>. Caroline dug in and decided it was right up her alley. She loved that it embraced beginners with open arms and introduced new people to open source. Ultimately, she decided to work with MetaBrainz because, as a classically trained violinist, MusicBrainz piqued her interest. Their projects are primarily written in Perl and Python and, while Caroline was fluent in Java, it was too interesting to pass up.</div><div><br /></div><div>As with most students, Caroline found collaboration to be a big part of the learning curve -- from GitHub to Git and IRC. Her mentors and other community contributors on IRC helped Caroline through the process and, looking back, she found that collaboration to be her favorite part of the whole experience. She loved that the mentors helped her to produce professional quality work rather than focusing on quantity.</div><div><br /></div><div>Google Code-in gave Caroline a chance to learn about collaboration, <a href="https://inkscape.org/" target="_blank">Inkspace</a>, icon design, web development and more. She has continued her work in open source and plans to apply for Google Summer of Code.</div><div><br /></div><div>The last student we&#8217;re highlighting today is Vale Tolpegin, a student from the US who worked on the <a href="https://www.haiku-os.org/" target="_blank">Haiku</a> project, an open source operating system for personal computers. He also participated in Google Code-in 2014 but didn&#8217;t feel his skills were sharp enough to attack the more challenging tasks, like the ones he tackled this time around for Haiku.</div><div><br /></div><div>Vale took on a wide range of tasks from documentation to application development, his favorite being the creation of the Haiku Hardware Repository. The repository is a Django website that lets people search and share hardware tests to determine if a given machine will work with Haiku.</div><div><br /></div><div>He ran into a sticky issue early on, spending nearly a week finding a race condition within an application maintained by Haiku. Vale found it frustrating, but his mentors helped him see it through to the end. That wasn&#8217;t the only big challenge he ran into and, ultimately, bested: he spent another week debugging a Remote Desktop Application, software which had a very large code base.</div><div><br /></div><div>Despite the two time consuming challenges, Vale managed to accomplish a lot more during the contest, including building a graph plotter and fixing bugs in the Haiku package manager. Vale had this to say:</div><div><br /></div><div><i>&#8220;After finishing GCI, I have continued to work with Haiku and the experiences I have gained will continue to have an impact on me for years to come. Participating in GCI has truly been a life-&#173;changing experience!&#8221;</i></div><div><br /></div><div>Thank you to Imran, Caroline and Vale for their contributions to open source and for sharing their Google Code-in experiences with us. Stay tuned, we&#8217;ve got two more posts coming in this series!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></description>
				<content:encoded><![CDATA[<i><a href="https://developers.google.com/open-source/gci/" >Google Code-in</a> is our annual contest that gives students age 13 to 17 experience in computer science through contributions to open source projects. This blog post is the second installment in our series reflecting on the experiences of <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html" >Google Code-in 2015 grand prize winners</a>. Be sure to check out <a href="http://google-opensource.blogspot.com/2016/07/stories-from-google-code-in-fossasia.html" >the first post in the series</a>.</i><br /><br />This week we profile three more grand prize winners from Google Code-in 2015. These students came from <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html" >all around the world</a> to celebrate with us in June after successfully completing 692 tasks that resulted in significant contributions to the <a href="https://codein.withgoogle.com/archive/2015/organization/" >participating open source projects</a>.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="text-align: center;"><img height="288" src="https://lh6.googleusercontent.com/MkM89KjcZH7-vBcebt8IBHjFYUTpiDNeVAuKwOF3jwxGMmgrvXFecyYeI_2dJHQt4c_xV4R6X0fjfxBKqa2X7IfxibCN435O1inytk0bgzZgFO6jopHzr6LAFOYHjeEL5ENe5Yu7" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="431" /></td></tr><tr><td class="tr-caption" style="text-align: center; width: 100%; max-width: inherit;">Google Code-in 2015 Grand Prize Winners and Mentors were treated to a cruise around San Francisco Bay.</td></tr></tbody></table><div><span id="docs-internal-guid-bf5554a5-386f-5f2a-8b84-9a1a9d59b074"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"></span></span></div><div><br /></div><div><div>Students were paired with mentors who guided them as they learned both new technologies and how to collaborate on real-world projects. While most students had some programming experience, many were new to open source. In the end, they learned new skills, connected with open source communities and many will continue to contribute to open source projects.</div><div><br /></div><div>We’re proud of all of the participants and grateful to the mentors who helped them. We invited the contest winners to write about their experience and many took us up on the offer. Here are their stories:</div><div><br /></div><div>First up today is Imran Tatriev, a student from Kazakhstan who decided to work on the <a href="https://www.kde.org/" >KDE</a> project because loved their philosophy and had experience with C++ and Qt. He was a finalist in <a href="https://melange-staging.appspot.com/archive/gci/2014/orgs/openmrs" >Google Code-in 2014</a> when he worked with the <a href="http://openmrs.org/" >OpenMRS</a> project.</div><div><br /></div><div>Imran’s work on KDE included contributing to projects such as <a href="https://www.kdevelop.org/" >KDevelop</a>, <a href="https://marble.kde.org/" >Marble</a> and <a href="https://www.kde.org/applications/education/gcompris/" >GCompris</a>. His biggest challenge was working on the <a href="https://docs.kde.org/trunk5/en/extragear-kdevelop/kdevelop/debugging-programs-in-kdevelop.html" >KDevelop IDE’s debugger</a> where he was tasked with highlighting crashed threads. Highlighting the crashed thread was trivial, finding the thread that had crashed was not. It took him five days to solve that problem and he credits his mentor with helping him to work through it.</div><div><br /></div><div>In the end, Imran learned a lot about regular expressions, the architecture of large software projects, C++ and unit testing. What did he like most about his Google Code-in experience? Imran writes: <i>“The most valuable moments were meeting wonderful and smart people.”</i> He plans to continue working with KDE and apply for <a href="https://developers.google.com/open-source/gsoc/" >Google Summer of Code</a>.</div><div><br /></div><div>Next is Caroline Gschwend, a student from the US who worked on the <a href="https://metabrainz.org/" >MetaBrainz</a> project. Both of her parents are computer scientists and she credits them with spurring her interest.</div><div><br /></div><div>A homeschool student with a unique approach to education, Caroline loves to learn and voraciously consumes free online resources. She had this to say: <i>“I think that free, online learning is an amazing benefit to our society. With access to a computer and the internet, anyone, anywhere, can learn anything.”</i></div><div><br /></div><div>Caroline discovered Google Code-in through her mother who had, in turn, discovered the contest through <a href="http://googleforeducation.blogspot.com/" >Google for Education</a>. Caroline dug in and decided it was right up her alley. She loved that it embraced beginners with open arms and introduced new people to open source. Ultimately, she decided to work with MetaBrainz because, as a classically trained violinist, MusicBrainz piqued her interest. Their projects are primarily written in Perl and Python and, while Caroline was fluent in Java, it was too interesting to pass up.</div><div><br /></div><div>As with most students, Caroline found collaboration to be a big part of the learning curve -- from GitHub to Git and IRC. Her mentors and other community contributors on IRC helped Caroline through the process and, looking back, she found that collaboration to be her favorite part of the whole experience. She loved that the mentors helped her to produce professional quality work rather than focusing on quantity.</div><div><br /></div><div>Google Code-in gave Caroline a chance to learn about collaboration, <a href="https://inkscape.org/" >Inkspace</a>, icon design, web development and more. She has continued her work in open source and plans to apply for Google Summer of Code.</div><div><br /></div><div>The last student we’re highlighting today is Vale Tolpegin, a student from the US who worked on the <a href="https://www.haiku-os.org/" >Haiku</a> project, an open source operating system for personal computers. He also participated in Google Code-in 2014 but didn’t feel his skills were sharp enough to attack the more challenging tasks, like the ones he tackled this time around for Haiku.</div><div><br /></div><div>Vale took on a wide range of tasks from documentation to application development, his favorite being the creation of the Haiku Hardware Repository. The repository is a Django website that lets people search and share hardware tests to determine if a given machine will work with Haiku.</div><div><br /></div><div>He ran into a sticky issue early on, spending nearly a week finding a race condition within an application maintained by Haiku. Vale found it frustrating, but his mentors helped him see it through to the end. That wasn’t the only big challenge he ran into and, ultimately, bested: he spent another week debugging a Remote Desktop Application, software which had a very large code base.</div><div><br /></div><div>Despite the two time consuming challenges, Vale managed to accomplish a lot more during the contest, including building a graph plotter and fixing bugs in the Haiku package manager. Vale had this to say:</div><div><br /></div><div><i>“After finishing GCI, I have continued to work with Haiku and the experiences I have gained will continue to have an impact on me for years to come. Participating in GCI has truly been a life-­changing experience!”</i></div><div><br /></div><div>Thank you to Imran, Caroline and Vale for their contributions to open source and for sharing their Google Code-in experiences with us. Stay tuned, we’ve got two more posts coming in this series!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/stories-from-google-code-in-kde-metabrainz-and-haiku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Stories from Google Code-in: FOSSASIA and Haiku</title>
		<link>https://googledata.org/google-open-source/stories-from-google-code-in-fossasia-and-haiku/</link>
		<comments>https://googledata.org/google-open-source/stories-from-google-code-in-fossasia-and-haiku/#comments</comments>
		<pubDate>Fri, 29 Jul 2016 17:11:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=935cc12fee7ad475ae02dd2e92a7a87b</guid>
		<description><![CDATA[<a href="https://developers.google.com/open-source/gci/" target="_blank">Google Code-in</a> is our annual contest to help pre-university students gain real-world computer science experience by taking on tasks of varying difficulty levels with the help of volunteer mentors. These tasks are created by open source projects so while learning, the students are contributing to the software many of us use on a daily basis.<br /><br />The finalists and winners for our 2015/2016 season were <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html" target="_blank">announced in February</a> and, in June, the grand prize winners joined us for four days of learning and celebration. Students and their guardians came from <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html" target="_blank">all around the world</a>. One of my favorite things, as one of the Googler hosts, was seeing the light bulbs go on above parents&#8217; heads as they came to understand open source and why it&#8217;s so important. These parents and guardians were even more proud of the students as they learned how much their teenager has contributed to the world through participating in Google Code-in.<br /><br />We&#8217;ve invited contest winners and organizations to write about their experience and will be sharing their stories in a series of blog posts. This marks the first post in the series.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img src="https://lh3.googleusercontent.com/sVzq3ieBAWze79fFk8EnEvRNXIpnB2wJOMmr-r6GXg3T5qgAyUu5d_RbOtDuMbW-vZr1pi1dsd5uKUQzc_acghnSoUmEduy_tk40AiaEYaGxJtsIxe--YnVt9m8S3sCiWNmvHUOv" width="422"></td></tr><tr><td>Google Code-in 2015 Grand Prize Winners and Mentors</td></tr></tbody></table><div><span><span></span></span></div><div><br /></div><div><div>Let&#8217;s start with Jason Wong, a student from the US who worked with <a href="http://fossasia.org/" target="_blank">FOSSASIA</a>. FOSSASIA supports open source developers in Asia through events and coding programs.</div><div><br /></div><div>Jason got into computer science during middle school at a summer camp where he built a website describing the differences between Linux, OS X, and Windows. &#160;He dove deeper into web development by learning PHP and JavaScript through YouTube videos. He enjoyed being able to build more complex and dynamic websites. Like many new developers, Jason became very confident but did not concern himself with important aspects of programming like testing.</div><div><br /></div><div>He learned about Google Code-in when Stephanie Taylor, fellow open source program manager who manages the GCI program here at Google, gave a talk at his school. Jason dove right in picking FOSSASIA as the project he would contribute to.</div><div><br /></div><div>FOSSASIA offered Jason a chance to learn a lot about development and open source. He worked on their event pages, integrated <a href="http://loklak.org/" target="_blank">Loklak</a> and added an RSS section to their website, gaining experience with version control, Docker, Pharo and Node.js in the process. Most importantly, Jason learned about collaboration. He had this to say:</div><div><br /></div><div><i>&#8220;Collaboration is so important in the open source community as it allows everyone to come together to help the world. Google Code-in has persuaded me to contribute to open source in the future.&#8221;</i></div><div><br /></div><div>Next up we have Hannah Pan, another US student. She chose to work on <a href="https://www.haiku-os.org/" target="_blank">Haiku</a>, an open source operating system built for personal computers, because it used the C/C++ language which she was already confident with.</div><div><br /></div><div>Hannah got into computer science through a high school AP course and discovered Google Code-in through this blog (woohoo!). She decided to participate even though it had already been underway for two weeks. Aiming just to make the top 10 in order to have a chance at being a finalist (and earn a hoodie), Hannah finished as a grand prize winner!&#160;</div><div><br /></div><div>The learning curve was steep: *nix commands, build tools and GitHub all presented new challenges. She was surprised how much code she had to sift through sometimes just to isolate the cause of minor bugs.</div><div><br /></div><div>Like all of the participants, Hannah found her mentors to be crucial in providing both technical guidance and moral support. She explained, <i>&#8220;I was amazed at my mentors&#8217; expertise, dedication, modesty, and high standards. They taught me to strive for excellence rather than settle for mediocrity.&#8221;</i></div><div><br /></div><div>Among other things, Hannah added localization support to the Tipster app, fixed extractDebugInfo, and even wrote <a href="https://www.haiku-os.org/node/10404" target="_blank">a how-to article</a> relating to the work. Reflecting on her experience, Hannah wrote:</div><div><br /></div><div><i>&#8220;On the technical side, not only have I learned a lot, but I have realized how much more I have yet to learn. In addition, it has taught me some important life skills that no doubt will benefit me in my future endeavors. I&#8217;d like to thank my mentors and other students who inspired me and pushed me to do my best.&#8221;</i></div><div><br /></div><div>Thank you to Jason and Hannah both for contributing to open source and sharing their Google Code-in experiences with us. Stay tuned as we continue this series in our next blog post!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></description>
				<content:encoded><![CDATA[<a href="https://developers.google.com/open-source/gci/" >Google Code-in</a> is our annual contest to help pre-university students gain real-world computer science experience by taking on tasks of varying difficulty levels with the help of volunteer mentors. These tasks are created by open source projects so while learning, the students are contributing to the software many of us use on a daily basis.<br /><br />The finalists and winners for our 2015/2016 season were <a href="http://google-opensource.blogspot.com/2016/02/announcing-google-code-in-2015-winners.html" >announced in February</a> and, in June, the grand prize winners joined us for four days of learning and celebration. Students and their guardians came from <a href="http://google-opensource.blogspot.com/2016/02/google-code-in-2015-diving-into-numbers.html" >all around the world</a>. One of my favorite things, as one of the Googler hosts, was seeing the light bulbs go on above parents’ heads as they came to understand open source and why it’s so important. These parents and guardians were even more proud of the students as they learned how much their teenager has contributed to the world through participating in Google Code-in.<br /><br />We’ve invited contest winners and organizations to write about their experience and will be sharing their stories in a series of blog posts. This marks the first post in the series.<br /><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;"><tbody><tr><td style="text-align: center;"><img src="https://lh3.googleusercontent.com/sVzq3ieBAWze79fFk8EnEvRNXIpnB2wJOMmr-r6GXg3T5qgAyUu5d_RbOtDuMbW-vZr1pi1dsd5uKUQzc_acghnSoUmEduy_tk40AiaEYaGxJtsIxe--YnVt9m8S3sCiWNmvHUOv" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="422" /></td></tr><tr><td class="tr-caption" style="max-width: inherit; text-align: center;">Google Code-in 2015 Grand Prize Winners and Mentors</td></tr></tbody></table><div><span id="docs-internal-guid-73f53c67-37a1-4309-7826-ac2f20496f6b"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"></span></span></div><div><br /></div><div><div>Let’s start with Jason Wong, a student from the US who worked with <a href="http://fossasia.org/" >FOSSASIA</a>. FOSSASIA supports open source developers in Asia through events and coding programs.</div><div><br /></div><div>Jason got into computer science during middle school at a summer camp where he built a website describing the differences between Linux, OS X, and Windows. &nbsp;He dove deeper into web development by learning PHP and JavaScript through YouTube videos. He enjoyed being able to build more complex and dynamic websites. Like many new developers, Jason became very confident but did not concern himself with important aspects of programming like testing.</div><div><br /></div><div>He learned about Google Code-in when Stephanie Taylor, fellow open source program manager who manages the GCI program here at Google, gave a talk at his school. Jason dove right in picking FOSSASIA as the project he would contribute to.</div><div><br /></div><div>FOSSASIA offered Jason a chance to learn a lot about development and open source. He worked on their event pages, integrated <a href="http://loklak.org/" >Loklak</a> and added an RSS section to their website, gaining experience with version control, Docker, Pharo and Node.js in the process. Most importantly, Jason learned about collaboration. He had this to say:</div><div><br /></div><div><i>“Collaboration is so important in the open source community as it allows everyone to come together to help the world. Google Code-in has persuaded me to contribute to open source in the future.”</i></div><div><br /></div><div>Next up we have Hannah Pan, another US student. She chose to work on <a href="https://www.haiku-os.org/" >Haiku</a>, an open source operating system built for personal computers, because it used the C/C++ language which she was already confident with.</div><div><br /></div><div>Hannah got into computer science through a high school AP course and discovered Google Code-in through this blog (woohoo!). She decided to participate even though it had already been underway for two weeks. Aiming just to make the top 10 in order to have a chance at being a finalist (and earn a hoodie), Hannah finished as a grand prize winner!&nbsp;</div><div><br /></div><div>The learning curve was steep: *nix commands, build tools and GitHub all presented new challenges. She was surprised how much code she had to sift through sometimes just to isolate the cause of minor bugs.</div><div><br /></div><div>Like all of the participants, Hannah found her mentors to be crucial in providing both technical guidance and moral support. She explained, <i>“I was amazed at my mentors’ expertise, dedication, modesty, and high standards. They taught me to strive for excellence rather than settle for mediocrity.”</i></div><div><br /></div><div>Among other things, Hannah added localization support to the Tipster app, fixed extractDebugInfo, and even wrote <a href="https://www.haiku-os.org/node/10404" >a how-to article</a> relating to the work. Reflecting on her experience, Hannah wrote:</div><div><br /></div><div><i>“On the technical side, not only have I learned a lot, but I have realized how much more I have yet to learn. In addition, it has taught me some important life skills that no doubt will benefit me in my future endeavors. I’d like to thank my mentors and other students who inspired me and pushed me to do my best.”</i></div><div><br /></div><div>Thank you to Jason and Hannah both for contributing to open source and sharing their Google Code-in experiences with us. Stay tuned as we continue this series in our next blog post!</div><div><br /></div><div><i>By Josh Simmons, Open Source Programs Office</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/stories-from-google-code-in-fossasia-and-haiku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>From Google Summer of Code to Game of Thrones on the Back of a JavaScript Dragon (Part 1)</title>
		<link>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-1/</link>
		<comments>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-1/#comments</comments>
		<pubDate>Tue, 26 Jul 2016 21:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5762b174ab65220c515f5b6afdbdb3e7</guid>
		<description><![CDATA[<i>This guest post is a part of a short series about Tatyana Goldberg and Guy Yachdav, instructors at <a href="http://www.tum.de/en/homepage/" target="_blank">Technical University of Munich</a>, and the journey that was inspired by their participation as Google Summer of Code mentors for the BioJS project.</i><br /><div><br /></div><div>Hello there! We are from the <a href="https://biojsnet.herokuapp.com/" target="_blank">BioJavaScript</a> (BioJS) project which first joined <a href="https://developers.google.com/open-source/gsoc/" target="_blank">Google Summer of Code</a> (GSoC) in <a href="https://melange-staging.appspot.com/archive/gsoc/2014/orgs/biojs" target="_blank">2014</a>. Our experience in the program set us on a grand open source adventure that we&#8217;ll be sharing with you in a series of blog posts. We hope you enjoy our story and, more importantly, hope it inspires you to pursue your own open source adventure.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img height="320" src="https://lh6.googleusercontent.com/63hJZ7oAGyfeLbMEyz3_I4iLBa9cF-y_m5mOPumYyk55B_jOjVXyokYzjXFLGqLg7rFiglJnjFxVwYDLze_dBo1fMpigXU4GDIWbLL6Zqy_bnQpVQbt7LAhcIMhcA6petnwnHbDS" width="180"></td></tr><tr><td>Tatyana Goldberg and Guy Yachdav, GSoC mentors and open source enthusiasts. Photo taken at the <a href="http://www.morpheuscup.com/" target="_blank">MorpheusCup</a> competition Luxembourg, May 2016.</td></tr></tbody></table><div><div>We came together around the BioJS community, an open source project for creating beautiful and interactive open source visualizations of biological data on the web. BioJS visualizations are made up of components which have a modular design. This modular design enables several things: they can be used by non-programmers, they can be combined to make more complex visualizations, and they can be easily integrated into existing web applications. Despite being a young community, BioJS already has traction in industry and academia.</div><div><br /></div><div>In early 2014 we decided to apply for GSoC and we were fortunate to have our application accepted on our first try. The experience was extremely positive &#8212; the five students we accepted delivered great software and they had a big impact on the BioJS community:</div></div><div><div><ul><li>The number of mailing list subscribers doubled in less than a month.</li><li>All five of our accepted students from 2014 became core developers.</li><li>Students were invited to six international conferences to share their work.</li><li>Students helped organize the first BioJS conference held July 2015.</li><li>Most importantly, the students have independently designed BioJS version 2.0 which positioned BioJS as the leading open source visualization library for biological data.&#160;</li></ul></div><div>You can see three examples of the work GSoC students did on BioJS below:</div></div><div><br /></div><div><span><span><img height="136" src="https://lh5.googleusercontent.com/FbUHBUY-GmrI727nQd3K2lid0I4nPWpQUydyXEibMdfrnOeLB5wXlKlQWPSAMeBz_rfa8YAFjpQZjWItcpqrSHOoy6BGcCKw6AWjk3SjkBfmopJnzG3k-fxW4hdtO0xAS8Brjv2J" width="640"></span></span></div><div><br /></div><div><div><a href="http://msa.biojs.net/" target="_blank">MSAViewer</a> is a visualization and analysis of multiple sequence alignments and was developed by Sebastian Wilzbach. <a href="http://www.biojs.io/d/biojs-vis-proteome" target="_blank">Proteome Viewer</a> is a multilevel visualization of proteomes in the UniProt database and was developed by Jose Villaveces. <a href="http://www.biojs.io/d/biojs-vis-hgv" target="_blank">Genetic Variation Viewer</a> is visualization of the number and type of mutations at each position in a biological sequence and was developed by Saket Choudhary.</div><div><br /></div><div>We learned a lot in the first year we participated in Google Summer of Code. Here are some of the takeaways that are especially relevant to mentors and organizations that are considering joining the program:</div></div><div><ol><li>GSoC is a great source of dedicated and enthusiastic young developers.</li><li>Mentors need to carefully manage students, listen to them and let them lead initiatives when it makes sense.</li><li>Org admins should leverage success in GSoC beyond the program.</li><li>Orgs need to find the most motivated students and make sure their projects are feasible.</li><li>People want to share in your success, so participation in GSoC can start a positive feedback loop attracting new contributors and users.</li><li>Most importantly: the ideas behind GSoC - the love for open source and coding - are contagious and spread easily to larger audiences, especially to students and other people who work in academia. Just try it!&#160;</li></ol><div>Our positive experience spurred us to seek out and conquer new challenges. Stay tuned for our next post where we explain how GSoC inspired us to create a popular new class and how we applied data science to <a href="https://en.wikipedia.org/wiki/Game_of_Thrones" target="_blank">Game of Thrones</a>.</div></div><div><div><br /></div><div><i>By Tatyana Goldberg and Guy Yachdav, BioJS and TU Munich</i></div></div>]]></description>
				<content:encoded><![CDATA[<i>This guest post is a part of a short series about Tatyana Goldberg and Guy Yachdav, instructors at <a href="http://www.tum.de/en/homepage/" >Technical University of Munich</a>, and the journey that was inspired by their participation as Google Summer of Code mentors for the BioJS project.</i><br /><div><br /></div><div>Hello there! We are from the <a href="https://biojsnet.herokuapp.com/" >BioJavaScript</a> (BioJS) project which first joined <a href="https://developers.google.com/open-source/gsoc/" >Google Summer of Code</a> (GSoC) in <a href="https://melange-staging.appspot.com/archive/gsoc/2014/orgs/biojs" >2014</a>. Our experience in the program set us on a grand open source adventure that we’ll be sharing with you in a series of blog posts. We hope you enjoy our story and, more importantly, hope it inspires you to pursue your own open source adventure.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><img height="320" src="https://lh6.googleusercontent.com/63hJZ7oAGyfeLbMEyz3_I4iLBa9cF-y_m5mOPumYyk55B_jOjVXyokYzjXFLGqLg7rFiglJnjFxVwYDLze_dBo1fMpigXU4GDIWbLL6Zqy_bnQpVQbt7LAhcIMhcA6petnwnHbDS" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="180" /></td></tr><tr><td class="tr-caption" style="text-align: center;">Tatyana Goldberg and Guy Yachdav, GSoC mentors and open source enthusiasts. Photo taken at the <a href="http://www.morpheuscup.com/" >MorpheusCup</a> competition Luxembourg, May 2016.</td></tr></tbody></table><div><div>We came together around the BioJS community, an open source project for creating beautiful and interactive open source visualizations of biological data on the web. BioJS visualizations are made up of components which have a modular design. This modular design enables several things: they can be used by non-programmers, they can be combined to make more complex visualizations, and they can be easily integrated into existing web applications. Despite being a young community, BioJS already has traction in industry and academia.</div><div><br /></div><div>In early 2014 we decided to apply for GSoC and we were fortunate to have our application accepted on our first try. The experience was extremely positive — the five students we accepted delivered great software and they had a big impact on the BioJS community:</div></div><div><div><ul><li>The number of mailing list subscribers doubled in less than a month.</li><li>All five of our accepted students from 2014 became core developers.</li><li>Students were invited to six international conferences to share their work.</li><li>Students helped organize the first BioJS conference held July 2015.</li><li>Most importantly, the students have independently designed BioJS version 2.0 which positioned BioJS as the leading open source visualization library for biological data.&nbsp;</li></ul></div><div>You can see three examples of the work GSoC students did on BioJS below:</div></div><div><br /></div><div><span id="docs-internal-guid-c421c76c-28a4-ab9c-b33f-1721951d88b6"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><img height="136" src="https://lh5.googleusercontent.com/FbUHBUY-GmrI727nQd3K2lid0I4nPWpQUydyXEibMdfrnOeLB5wXlKlQWPSAMeBz_rfa8YAFjpQZjWItcpqrSHOoy6BGcCKw6AWjk3SjkBfmopJnzG3k-fxW4hdtO0xAS8Brjv2J" style="border: none; transform: rotate(0rad);" width="640" /></span></span></div><div><br /></div><div><div><a href="http://msa.biojs.net/" >MSAViewer</a> is a visualization and analysis of multiple sequence alignments and was developed by Sebastian Wilzbach. <a href="http://www.biojs.io/d/biojs-vis-proteome" >Proteome Viewer</a> is a multilevel visualization of proteomes in the UniProt database and was developed by Jose Villaveces. <a href="http://www.biojs.io/d/biojs-vis-hgv" >Genetic Variation Viewer</a> is visualization of the number and type of mutations at each position in a biological sequence and was developed by Saket Choudhary.</div><div><br /></div><div>We learned a lot in the first year we participated in Google Summer of Code. Here are some of the takeaways that are especially relevant to mentors and organizations that are considering joining the program:</div></div><div><ol><li>GSoC is a great source of dedicated and enthusiastic young developers.</li><li>Mentors need to carefully manage students, listen to them and let them lead initiatives when it makes sense.</li><li>Org admins should leverage success in GSoC beyond the program.</li><li>Orgs need to find the most motivated students and make sure their projects are feasible.</li><li>People want to share in your success, so participation in GSoC can start a positive feedback loop attracting new contributors and users.</li><li>Most importantly: the ideas behind GSoC - the love for open source and coding - are contagious and spread easily to larger audiences, especially to students and other people who work in academia. Just try it!&nbsp;</li></ol><div>Our positive experience spurred us to seek out and conquer new challenges. Stay tuned for our next post where we explain how GSoC inspired us to create a popular new class and how we applied data science to <a href="https://en.wikipedia.org/wiki/Game_of_Thrones" >Game of Thrones</a>.</div></div><div><div><br /></div><div><i>By Tatyana Goldberg and Guy Yachdav, BioJS and TU Munich</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/from-google-summer-of-code-to-game-of-thrones-on-the-back-of-a-javascript-dragon-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Omnitone: Spatial audio on the web</title>
		<link>https://googledata.org/google-open-source/omnitone-spatial-audio-on-the-web/</link>
		<comments>https://googledata.org/google-open-source/omnitone-spatial-audio-on-the-web/#comments</comments>
		<pubDate>Mon, 25 Jul 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=dd546d0f8e5e047d1f76cc0352382755</guid>
		<description><![CDATA[<br /><a href="https://en.wikipedia.org/wiki/3D_audio_effect" target="_blank">Spatial audio</a> is a key element for an immersive virtual reality (VR) experience. By bringing spatial audio to the web, the browser can be transformed into a complete VR media player with incredible reach and engagement. That&#8217;s why the Chrome WebAudio team has created and is releasing the <a href="http://googlechrome.github.io/omnitone/" target="_blank">Omnitone</a> project, an open source spatial audio renderer with the cross-browser support.<br /><br />Our challenge was to introduce the audio spatialization technique called <a href="https://en.wikipedia.org/wiki/Ambisonics" target="_blank">ambisonics</a> so the user can hear the full-sphere surround sound on the browser. In order to achieve this, we implemented the ambisonic decoding with <a href="https://en.wikipedia.org/wiki/Binaural_recording" target="_blank">binaural rendering</a> using web technology. There are several paths for introducing a new feature into the web platform, but we chose to use only the <a href="https://webaudio.github.io/web-audio-api/" target="_blank">Web Audio API</a>. In doing so, we can reach a larger audience with this cross-browser technology, and we can also avoid the lengthy standardization process for introducing a new Web Audio component. This is possible because the Web Audio API provides all the necessary building blocks for this audio spatialization technique.<br /><br /><br /><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="https://1.bp.blogspot.com/-EM98HZWyXsk/V4Pmg3OqQgI/AAAAAAAAA2s/rU5VVLZFX-0x0ipo7s3a2sHhbA4ampAqQCLcB/s1600/image00.png"><img border="0" src="https://1.bp.blogspot.com/-EM98HZWyXsk/V4Pmg3OqQgI/AAAAAAAAA2s/rU5VVLZFX-0x0ipo7s3a2sHhbA4ampAqQCLcB/s1600/image00.png"></a></td></tr><tr><td><span>Omnitone Audio Processing Diagram</span></td></tr></tbody></table><br />The <a href="https://en.wikipedia.org/wiki/Ambisonic_data_exchange_formats#AmbiX" target="_blank">AmbiX</a> format recording, which is the target of the Omnitone decoder, contains 4 channels of audio that are encoded using ambisonics, which can then be decoded into an arbitrary speaker setup. Instead of the actual speaker array, Omnitone uses 8 virtual speakers based on an the <a href="https://en.wikipedia.org/wiki/Head-related_transfer_function" target="_blank">head-related transfer function</a> (HRTF) convolution to render the final audio stream binaurally. This binaurally-rendered audio can convey a sense of space when it is heard through headphones.<br /><br />The beauty of this mechanism lies in the sound-field rotation applied to the incoming spatial audio stream. The orientation sensor of a VR headset or a smartphone can be linked to Omnitone&#8217;s decoder to seamlessly rotate the entire sound field. The rest of the spatialization process will be handled automatically by Omnitone. A live demo can be found at the <a href="http://googlechrome.github.io/omnitone/" target="_blank">project landing page</a>.<br /><br />Throughout the project, we worked closely with the Google VR team for their VR audio expertise. Not only was their knowledge on the spatial audio a tremendous help for the project, but the collaboration also ensured identical audio spatialization across all of Google&#8217;s VR applications - both on the web and Android (e.g. <a href="https://developers.googleblog.com/2016/01/spatial-audio-comes-to-cardboard-sdk.html" target="_blank">Google VR SDK</a>, <a href="https://youtube.googleblog.com/2016/04/one-step-closer-to-reality-introducing.html" target="_blank">YouTube Android app</a>). The <a href="https://github.com/google/spatial-media" target="_blank">Spatial Media Specification</a> and <a href="https://github.com/google/spatial-media/tree/master/support/hrtfs/cube" target="_blank">HRTF sets</a> are great examples of the Google VR team&#8217;s efforts, and Omnitone is built on top of this specification and HRTF sets.<br /><br />With emerging web-based VR projects like <a href="https://webvr.info/" target="_blank">WebVR</a>, Omnitone&#8217;s audio spatialization can play a critical role in a more immersive VR experience on the web. Web-based VR applications will also benefit from high-quality streaming spatial audio, as the Chrome Media team has recently added FOA compression to the open source audio codec <a href="https://www.opus-codec.org/downloads/" target="_blank">Opus</a>. More exciting things like <a href="https://developers.google.com/vr/concepts/vrview" target="_blank">VR view</a> integration, <a href="https://en.wikipedia.org/wiki/Ambisonics#Higher-order_Ambisonics" target="_blank">higher-order ambisonics</a> and mobile web support will also be coming soon to Omnitone.<br /><br />We look forward to seeing what people do with Omnitone now that it's open source. Feel free to reach out to us or leave a comment with your thoughts and feedback on <a href="https://github.com/GoogleChrome/omnitone/issues" target="_blank">the issue tracker</a> on GitHub.<br /><br /><i>By Hongchan Choi and Raymond Toy, Chrome Team</i><br /><i><br /></i><i>Due to the incomplete implementation of multichannel audio decoding on various browsers, Omnitone does not support mobile web at the time of writing.</i>]]></description>
				<content:encoded><![CDATA[<br /><a href="https://en.wikipedia.org/wiki/3D_audio_effect" >Spatial audio</a> is a key element for an immersive virtual reality (VR) experience. By bringing spatial audio to the web, the browser can be transformed into a complete VR media player with incredible reach and engagement. That’s why the Chrome WebAudio team has created and is releasing the <a href="http://googlechrome.github.io/omnitone/" >Omnitone</a> project, an open source spatial audio renderer with the cross-browser support.<br /><br />Our challenge was to introduce the audio spatialization technique called <a href="https://en.wikipedia.org/wiki/Ambisonics" >ambisonics</a> so the user can hear the full-sphere surround sound on the browser. In order to achieve this, we implemented the ambisonic decoding with <a href="https://en.wikipedia.org/wiki/Binaural_recording" >binaural rendering</a> using web technology. There are several paths for introducing a new feature into the web platform, but we chose to use only the <a href="https://webaudio.github.io/web-audio-api/" >Web Audio API</a>. In doing so, we can reach a larger audience with this cross-browser technology, and we can also avoid the lengthy standardization process for introducing a new Web Audio component. This is possible because the Web Audio API provides all the necessary building blocks for this audio spatialization technique.<br /><br /><br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center; width: 100%px;"><tbody><tr><td style="text-align: center !important;"><a href="https://1.bp.blogspot.com/-EM98HZWyXsk/V4Pmg3OqQgI/AAAAAAAAA2s/rU5VVLZFX-0x0ipo7s3a2sHhbA4ampAqQCLcB/s1600/image00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://1.bp.blogspot.com/-EM98HZWyXsk/V4Pmg3OqQgI/AAAAAAAAA2s/rU5VVLZFX-0x0ipo7s3a2sHhbA4ampAqQCLcB/s1600/image00.png" /></a></td></tr><tr><td class="tr-caption" style="max-width: none; text-align: center !important;"><span style="font-size: 12.8px;">Omnitone Audio Processing Diagram</span></td></tr></tbody></table><br />The <a href="https://en.wikipedia.org/wiki/Ambisonic_data_exchange_formats#AmbiX" >AmbiX</a> format recording, which is the target of the Omnitone decoder, contains 4 channels of audio that are encoded using ambisonics, which can then be decoded into an arbitrary speaker setup. Instead of the actual speaker array, Omnitone uses 8 virtual speakers based on an the <a href="https://en.wikipedia.org/wiki/Head-related_transfer_function" >head-related transfer function</a> (HRTF) convolution to render the final audio stream binaurally. This binaurally-rendered audio can convey a sense of space when it is heard through headphones.<br /><br />The beauty of this mechanism lies in the sound-field rotation applied to the incoming spatial audio stream. The orientation sensor of a VR headset or a smartphone can be linked to Omnitone’s decoder to seamlessly rotate the entire sound field. The rest of the spatialization process will be handled automatically by Omnitone. A live demo can be found at the <a href="http://googlechrome.github.io/omnitone/" >project landing page</a>.<br /><br />Throughout the project, we worked closely with the Google VR team for their VR audio expertise. Not only was their knowledge on the spatial audio a tremendous help for the project, but the collaboration also ensured identical audio spatialization across all of Google’s VR applications - both on the web and Android (e.g. <a href="https://developers.googleblog.com/2016/01/spatial-audio-comes-to-cardboard-sdk.html" >Google VR SDK</a>, <a href="https://youtube.googleblog.com/2016/04/one-step-closer-to-reality-introducing.html" >YouTube Android app</a>). The <a href="https://github.com/google/spatial-media" >Spatial Media Specification</a> and <a href="https://github.com/google/spatial-media/tree/master/support/hrtfs/cube" >HRTF sets</a> are great examples of the Google VR team’s efforts, and Omnitone is built on top of this specification and HRTF sets.<br /><br />With emerging web-based VR projects like <a href="https://webvr.info/" >WebVR</a>, Omnitone’s audio spatialization can play a critical role in a more immersive VR experience on the web. Web-based VR applications will also benefit from high-quality streaming spatial audio, as the Chrome Media team has recently added FOA compression to the open source audio codec <a href="https://www.opus-codec.org/downloads/" >Opus</a>. More exciting things like <a href="https://developers.google.com/vr/concepts/vrview" >VR view</a> integration, <a href="https://en.wikipedia.org/wiki/Ambisonics#Higher-order_Ambisonics" >higher-order ambisonics</a> and mobile web support will also be coming soon to Omnitone.<br /><br />We look forward to seeing what people do with Omnitone now that it's open source. Feel free to reach out to us or leave a comment with your thoughts and feedback on <a href="https://github.com/GoogleChrome/omnitone/issues" >the issue tracker</a> on GitHub.<br /><br /><i>By Hongchan Choi and Raymond Toy, Chrome Team</i><br /><i><br /></i><i>Due to the incomplete implementation of multichannel audio decoding on various browsers, Omnitone does not support mobile web at the time of writing.</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/omnitone-spatial-audio-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Kubernetes 1.3 is here!</title>
		<link>https://googledata.org/google-open-source/kubernetes-1-3-is-here/</link>
		<comments>https://googledata.org/google-open-source/kubernetes-1-3-is-here/#comments</comments>
		<pubDate>Thu, 21 Jul 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=78e03b2710fdd591b2d1529c6c4935a4</guid>
		<description><![CDATA[With all of the <a href="https://news.ycombinator.com/item?id=12022215" target="_blank">excitement</a> being generated around the <a href="http://blog.kubernetes.io/2016/07/kubernetes-1.3-bridging-cloud-native-and-enterprise-workloads.html" target="_blank">Kubernetes 1.3 release</a> and the first anniversary of Kubernetes 1.0 (<a href="https://twitter.com/search?q=%23k8sbday&#38;src=typd" target="_blank">#k8sbday</a>), now is a great time to point out some of the features that enterprise users should be taking note of.<br /><br />If you&#8217;re not familiar with Kubernetes, let me get you up to speed.<br /><br /><a href="http://kubernetes.io/docs/whatisk8s" target="_blank">Kubernetes</a> is an open-source container automation framework that builds upon <a href="http://queue.acm.org/detail.cfm?id=2898444" target="_blank">15 years of experience of running production workloads at Google</a>. Once you declare a desired state, Kubernetes works to drive your system toward that state. As a developer this means less time handling trivial tasks that a computer can automate and more time focusing on developing applications that provide value to users.<br /><br />Additionally, Kubernetes aims to be a framework that you can operate at planetary scale, run anywhere, and never outgrow.<br /><div><br /></div><div><div>With the release of Kubernetes 1.3, Kubernetes is closer than ever to meeting those goals; the 1.3 release adds exciting features such as:</div></div><div><div><ul><li><a href="http://blog.kubernetes.io/2016/07/cross-cluster-services.html" target="_blank">cross cluster federation</a> allowing for production deployments to be spread across zones, regions, or even different cloud providers</li><li>local development support with the <a href="http://blog.kubernetes.io/2016/07/minikube-easily-run-kubernetes-locally.html" target="_blank">minikube</a> tool</li><li>performance upgrades with up to <a href="http://blog.kubernetes.io/2016/07/kubernetes-updates-to-performance-and-scalability-in-1.3.html" target="_blank">2,000 nodes with 60,000 containers running</a></li><li>better support for <a href="http://blog.kubernetes.io/2016/07/thousand-instances-of-cassandra-using-kubernetes-pet-set.html" target="_blank">stateful applications</a>&#160;</li><li>and much more</li></ul></div></div><div><div>Aside from features, the coolest part about working with Kubernetes is hearing user stories. I&#8217;ll soon be publishing an interview with Joseph Jacks, co-founder of Kismatic, the enterprise Kubernetes company, on the <a href="http://blog.kubernetes.io/" target="_blank">Kubernetes blog</a>.</div><div><br /></div><div>Joseph is very active in the Kubernetes community and has extensive experience with Kubernetes in production. In the interview I ask him why he bet his business on Kubernetes, what could be better, and how he sees Kubernetes growing in the near future.</div><div><br /></div><div>Kubernetes has many, many features to offer that I didn&#8217;t get to cover in this short write-up. If you know anyone that needs to ramp up on Kubernetes, the easiest way is the free course I created with <a href="https://twitter.com/kelseyhightower" target="_blank">Kelsey Hightower</a>, <a href="https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615" target="_blank">Scalable Microservices with Kubernetes</a>. The course covers the basic features of Kubernetes. If you want an overview of what&#8217;s new in Kubernetes 1.3, feel free to look at the &#8220;What&#8217;s new in Kubernetes 1.3&#8221; <a href="https://www.youtube.com/watch?v=aMMgbDSvZ7E" target="_blank">video</a> or <a href="https://speakerdeck.com/askcarter/whats-new-in-kubernetes-1-dot-3" target="_blank">slides</a>.</div><div><br /></div><div>Finally for a more in-depth look at the 1.3 release, make sure to check out: <a href="http://blog.kubernetes.io/2016/07/five-days-of-kubernetes-1.3.html" target="_blank">5 days of Kubernetes 1.3 blog series</a>.</div></div><div><div><br /></div><div>Want to learn more about container orchestration and cloud native platforms? Here&#8217;s some recommended reading to follow up with:</div><div><ul><li><a href="https://apprenda.com/blog/heres-objective-data-says-cloud-native-platforms/" target="_blank">Here&#8217;s What the Objective Data Says About Cloud-Native Platforms (Infographic)</a></li><li><a href="http://thenewstack.io/tns-research-present-state-container-orchestration/" target="_blank">TNS Research: The Present State of Container Orchestration</a></li></ul></div><div><i>By <a href="http://twitter.com/_askcarter" target="_blank">Carter Morgan</a>, Developer Programs Engineer</i></div></div>]]></description>
				<content:encoded><![CDATA[With all of the <a href="https://news.ycombinator.com/item?id=12022215" >excitement</a> being generated around the <a href="http://blog.kubernetes.io/2016/07/kubernetes-1.3-bridging-cloud-native-and-enterprise-workloads.html" >Kubernetes 1.3 release</a> and the first anniversary of Kubernetes 1.0 (<a href="https://twitter.com/search?q=%23k8sbday&amp;src=typd" >#k8sbday</a>), now is a great time to point out some of the features that enterprise users should be taking note of.<br /><br />If you’re not familiar with Kubernetes, let me get you up to speed.<br /><br /><a href="http://kubernetes.io/docs/whatisk8s" >Kubernetes</a> is an open-source container automation framework that builds upon <a href="http://queue.acm.org/detail.cfm?id=2898444" >15 years of experience of running production workloads at Google</a>. Once you declare a desired state, Kubernetes works to drive your system toward that state. As a developer this means less time handling trivial tasks that a computer can automate and more time focusing on developing applications that provide value to users.<br /><br />Additionally, Kubernetes aims to be a framework that you can operate at planetary scale, run anywhere, and never outgrow.<br /><div><br /></div><div><div>With the release of Kubernetes 1.3, Kubernetes is closer than ever to meeting those goals; the 1.3 release adds exciting features such as:</div></div><div><div><ul><li><a href="http://blog.kubernetes.io/2016/07/cross-cluster-services.html" >cross cluster federation</a> allowing for production deployments to be spread across zones, regions, or even different cloud providers</li><li>local development support with the <a href="http://blog.kubernetes.io/2016/07/minikube-easily-run-kubernetes-locally.html" >minikube</a> tool</li><li>performance upgrades with up to <a href="http://blog.kubernetes.io/2016/07/kubernetes-updates-to-performance-and-scalability-in-1.3.html" >2,000 nodes with 60,000 containers running</a></li><li>better support for <a href="http://blog.kubernetes.io/2016/07/thousand-instances-of-cassandra-using-kubernetes-pet-set.html" >stateful applications</a>&nbsp;</li><li>and much more</li></ul></div></div><div><div>Aside from features, the coolest part about working with Kubernetes is hearing user stories. I’ll soon be publishing an interview with Joseph Jacks, co-founder of Kismatic, the enterprise Kubernetes company, on the <a href="http://blog.kubernetes.io/" >Kubernetes blog</a>.</div><div><br /></div><div>Joseph is very active in the Kubernetes community and has extensive experience with Kubernetes in production. In the interview I ask him why he bet his business on Kubernetes, what could be better, and how he sees Kubernetes growing in the near future.</div><div><br /></div><div>Kubernetes has many, many features to offer that I didn’t get to cover in this short write-up. If you know anyone that needs to ramp up on Kubernetes, the easiest way is the free course I created with <a href="https://twitter.com/kelseyhightower" >Kelsey Hightower</a>, <a href="https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615" >Scalable Microservices with Kubernetes</a>. The course covers the basic features of Kubernetes. If you want an overview of what’s new in Kubernetes 1.3, feel free to look at the “What’s new in Kubernetes 1.3” <a href="https://www.youtube.com/watch?v=aMMgbDSvZ7E" >video</a> or <a href="https://speakerdeck.com/askcarter/whats-new-in-kubernetes-1-dot-3" >slides</a>.</div><div><br /></div><div>Finally for a more in-depth look at the 1.3 release, make sure to check out: <a href="http://blog.kubernetes.io/2016/07/five-days-of-kubernetes-1.3.html" >5 days of Kubernetes 1.3 blog series</a>.</div></div><div><div><br /></div><div>Want to learn more about container orchestration and cloud native platforms? Here’s some recommended reading to follow up with:</div><div><ul><li><a href="https://apprenda.com/blog/heres-objective-data-says-cloud-native-platforms/" >Here’s What the Objective Data Says About Cloud-Native Platforms (Infographic)</a></li><li><a href="http://thenewstack.io/tns-research-present-state-container-orchestration/" >TNS Research: The Present State of Container Orchestration</a></li></ul></div><div><i>By <a href="http://twitter.com/_askcarter" >Carter Morgan</a>, Developer Programs Engineer</i></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/kubernetes-1-3-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Announcing an Open Source ADC board for BeagleBone</title>
		<link>https://googledata.org/google-open-source/announcing-an-open-source-adc-board-for-beaglebone/</link>
		<comments>https://googledata.org/google-open-source/announcing-an-open-source-adc-board-for-beaglebone/#comments</comments>
		<pubDate>Wed, 20 Jul 2016 17:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=183c8dbbf9d29e39f93c70bc358307d4</guid>
		<description><![CDATA[<div dir="ltr"><span><i>Cross posted on the <a href="http://research.googleblog.com/2016/07/announcing-open-source-adc-board-for.html" target="_blank">Google Research Blog</a></i></span><br /><span>Working with electronics, we often find ourselves soldering up a half baked electronic circuit to detect some sort of signal. For example, last year we wanted to measure the strength of a </span><a href="https://en.wikipedia.org/wiki/Carrier_wave"><span>carrier</span></a><span>. We started with traditional analog circuits &#8212; </span><a href="https://en.wikipedia.org/wiki/Operational_amplifier"><span>amplifier</span></a><span>, </span><a href="https://en.wikipedia.org/wiki/LC_circuit"><span>filter</span></a><span>, </span><a href="https://en.wikipedia.org/wiki/Envelope_detector"><span>envelope detector</span></a><span>, </span><a href="https://en.wikipedia.org/wiki/Comparator"><span>threshold</span></a><span>. You can see some of our prototypes in the image below; they get pretty messy.</span></div><div dir="ltr"><span><img height="386" src="https://lh4.googleusercontent.com/Mup4X_WIbjZocDVpB28ZPxk1zu4vbwlgFFosfD6t0Jviav39f-HH5quXes_9Q_EfPfaDFFJPp_ohFW9fKvyHLEbq6IE-uSRep-gYLtQS3e3MV0f8gyFm9LZI0-tSf0hKPgFyBJht" width="421"></span></div><b><br /></b><br /><div dir="ltr"><span>While there's a certain satisfaction in taming a signal using the physical properties of capacitors, coils of wire and transistors, it's usually easier to digitize the signal with an </span><a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span>Analog to Digital Converter</span></a><span> (ADC) and manage it with </span><a href="https://en.wikipedia.org/wiki/Digital_signal_processing"><span>Digital Signal Processing</span></a><span> (DSP) instead of electronic parts. Tweaking software doesn't require a soldering iron, and lets us modify signals in ways that would require impossible analog circuits.</span></div><b><br /></b><br /><div dir="ltr"><span>There are several standard solutions for digitizing a signal: connect a laptop to an oscilloscope or </span><a href="https://en.wikipedia.org/wiki/Data_acquisition"><span>Data Acquisition System</span></a><span> (DAQ) via USB or Ethernet, or use the onboard ADCs of a maker board like an </span><a href="https://www.arduino.cc/"><span>Arduino</span></a><span>. The former are sensitive and accurate, but also big and power hungry. The latter are cheap and tiny, but slower and have enough RAM for only milliseconds worth of high speed sample data. &#160;</span></div><b><br /></b><br /><div dir="ltr"><span>That led us to investigate single board computers like the </span><a href="http://beagleboard.org/bone"><span>BeagleBone</span></a><span> and </span><a href="https://www.raspberrypi.org/"><span>Raspberry Pi</span></a><span>, which are small and cheap like an Arduino, but have specs like a smartphone. &#160;And crucially, the BeagleBone's </span><a href="https://en.wikipedia.org/wiki/System_on_a_chip"><span>system-on-a-chip</span></a><span> (SoC) combines a beefy ARMv7 CPU with two smaller Programmable Realtime Units (PRUs) that have access to all 512MB of system RAM. &#160;This lets us dedicate the PRUs to the time-sensitive and repetitive task of reading each sample out of an external ADC, while the main CPU lets us use the data with the GNU/Linux tools we're used to.</span></div><b><br /></b><br /><div dir="ltr"><span>The result is an open source BeagleBone cape we've named </span><a href="https://github.com/google/prudaq/wiki"><span>PRUDAQ</span></a><span>. &#160;It's built around the Analog Devices AD9201 ADC, which samples two inputs simultaneously at up to 20 megasamples per second, per channel. &#160;Simultaneous sampling and high sample rates make it useful for </span><a href="https://en.wikipedia.org/wiki/Software-defined_radio"><span>software-defined radio</span></a><span> (SDR) and scientific applications where a built-in ADC isn't quite up to the task. &#160;</span></div><div dir="ltr"><span><img height="403" src="https://lh6.googleusercontent.com/J2Y7dF192504aKhDE7zq6LQwIB9WC0TiPHnsEgoJvcg12Rao2aV4MYysSaJzg7vyE7HQUWcRNFrqdWD5g1NP-Le3TY-PH45KIA-dbJBzuxo7fRnLjhs9yxTxzcdvRnscO9oy2frn" width="488"></span></div><b><br /></b><br /><div dir="ltr"><span>Our open source electrical design and sample code are available on </span><a href="https://github.com/google/prudaq/wiki"><span>GitHub</span></a><span>, and </span><a href="https://groupgets.com/manufacturers/getlab/products/prudaq" target="_blank"><span>GroupGets</span></a><span> has boards ready to ship for $79. &#160;We also were fortunate to have help from Google intern Kumar Abhishek. He added support for PRUDAQ to his </span><span><a href="https://summerofcode.withgoogle.com/" target="_blank">Google Summer of Code</a> </span><span>project </span><a href="https://github.com/abhishek-kakkar/BeagleLogic"><span>BeagleLogic</span></a><span> that performs much better than our sample code.</span></div><b><br /></b><br /><div dir="ltr"><span>We started </span><a href="https://github.com/google/prudaq/wiki"><span>PRUDAQ</span></a><span> for our own needs, but quickly realized that others might also find it useful. We're excited to get your feedback through the </span><a href="https://groups.google.com/d/forum/prudaq-users"><span>email list</span></a><span>. &#160;Tell us what can be done with inexpensive fast ADCs paired with inexpensive fast CPUs!</span></div><div dir="ltr"><span><br /></span></div><div dir="ltr"><span><i>Posted by Jason Holt, Software Engineer</i></span></div><br />]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><i>Cross posted on the <a href="http://research.googleblog.com/2016/07/announcing-open-source-adc-board-for.html" >Google Research Blog</a></i></span><br /><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Working with electronics, we often find ourselves soldering up a half baked electronic circuit to detect some sort of signal. For example, last year we wanted to measure the strength of a </span><a href="https://en.wikipedia.org/wiki/Carrier_wave" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">carrier</span></a><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">. We started with traditional analog circuits — </span><a href="https://en.wikipedia.org/wiki/Operational_amplifier" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">amplifier</span></a><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://en.wikipedia.org/wiki/LC_circuit" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">filter</span></a><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://en.wikipedia.org/wiki/Envelope_detector" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">envelope detector</span></a><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://en.wikipedia.org/wiki/Comparator" style="line-height: 1.38; text-decoration: none;"><span style="color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">threshold</span></a><span style="font-family: &quot;arial&quot;; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">. You can see some of our prototypes in the image below; they get pretty messy.</span></div><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img height="386" src="https://lh4.googleusercontent.com/Mup4X_WIbjZocDVpB28ZPxk1zu4vbwlgFFosfD6t0Jviav39f-HH5quXes_9Q_EfPfaDFFJPp_ohFW9fKvyHLEbq6IE-uSRep-gYLtQS3e3MV0f8gyFm9LZI0-tSf0hKPgFyBJht" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="421" /></span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">While there's a certain satisfaction in taming a signal using the physical properties of capacitors, coils of wire and transistors, it's usually easier to digitize the signal with an </span><a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Analog to Digital Converter</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (ADC) and manage it with </span><a href="https://en.wikipedia.org/wiki/Digital_signal_processing" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Digital Signal Processing</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (DSP) instead of electronic parts. Tweaking software doesn't require a soldering iron, and lets us modify signals in ways that would require impossible analog circuits.</span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There are several standard solutions for digitizing a signal: connect a laptop to an oscilloscope or </span><a href="https://en.wikipedia.org/wiki/Data_acquisition" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Data Acquisition System</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (DAQ) via USB or Ethernet, or use the onboard ADCs of a maker board like an </span><a href="https://www.arduino.cc/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Arduino</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. The former are sensitive and accurate, but also big and power hungry. The latter are cheap and tiny, but slower and have enough RAM for only milliseconds worth of high speed sample data. &nbsp;</span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">That led us to investigate single board computers like the </span><a href="http://beagleboard.org/bone" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">BeagleBone</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://www.raspberrypi.org/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Raspberry Pi</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, which are small and cheap like an Arduino, but have specs like a smartphone. &nbsp;And crucially, the BeagleBone's </span><a href="https://en.wikipedia.org/wiki/System_on_a_chip" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">system-on-a-chip</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (SoC) combines a beefy ARMv7 CPU with two smaller Programmable Realtime Units (PRUs) that have access to all 512MB of system RAM. &nbsp;This lets us dedicate the PRUs to the time-sensitive and repetitive task of reading each sample out of an external ADC, while the main CPU lets us use the data with the GNU/Linux tools we're used to.</span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The result is an open source BeagleBone cape we've named </span><a href="https://github.com/google/prudaq/wiki" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">PRUDAQ</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;It's built around the Analog Devices AD9201 ADC, which samples two inputs simultaneously at up to 20 megasamples per second, per channel. &nbsp;Simultaneous sampling and high sample rates make it useful for </span><a href="https://en.wikipedia.org/wiki/Software-defined_radio" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">software-defined radio</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (SDR) and scientific applications where a built-in ADC isn't quite up to the task. &nbsp;</span></div><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img height="403" src="https://lh6.googleusercontent.com/J2Y7dF192504aKhDE7zq6LQwIB9WC0TiPHnsEgoJvcg12Rao2aV4MYysSaJzg7vyE7HQUWcRNFrqdWD5g1NP-Le3TY-PH45KIA-dbJBzuxo7fRnLjhs9yxTxzcdvRnscO9oy2frn" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="488" /></span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Our open source electrical design and sample code are available on </span><a href="https://github.com/google/prudaq/wiki" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">GitHub</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="https://groupgets.com/manufacturers/getlab/products/prudaq" style="text-decoration: none;" ><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">GroupGets</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> has boards ready to ship for $79. &nbsp;We also were fortunate to have help from Google intern Kumar Abhishek. He added support for PRUDAQ to his </span><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><a href="https://summerofcode.withgoogle.com/" style="text-decoration: none;" >Google Summer of Code</a> </span><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">project </span><a href="https://github.com/abhishek-kakkar/BeagleLogic" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">BeagleLogic</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> that performs much better than our sample code.</span></div><b style="font-weight: normal;"><br /></b><br /><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We started </span><a href="https://github.com/google/prudaq/wiki" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">PRUDAQ</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> for our own needs, but quickly realized that others might also find it useful. We're excited to get your feedback through the </span><a href="https://groups.google.com/d/forum/prudaq-users" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">email list</span></a><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Tell us what can be done with inexpensive fast ADCs paired with inexpensive fast CPUs!</span></div><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: transparent; color: black; font-family: &quot;arial&quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i style="font-size: 14.6667px; line-height: 20.24px;">Posted by Jason Holt, Software Engineer</i></span></div><br />]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/announcing-an-open-source-adc-board-for-beaglebone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Lessons from Professors&#8217; Open Source Software Experience (POSSE) 2016</title>
		<link>https://googledata.org/google-open-source/lessons-from-professors-open-source-software-experience-posse-2016/</link>
		<comments>https://googledata.org/google-open-source/lessons-from-professors-open-source-software-experience-posse-2016/#comments</comments>
		<pubDate>Wed, 06 Jul 2016 16:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=f77e8deb06ddb6fdc7866b6eb1107d1e</guid>
		<description><![CDATA[<br />From <a href="http://g.co/gsoc">Google Summer of Code</a> to <a href="http://g.co/gci">Google Code-in</a>, the Open Source Programs Office does a lot to get students involved with open source. In order to learn more about supporting open source in academia, I attended the NSF funded&#160;<a href="http://foss2serve.org/index.php/POSSE">Professors' Open Source Software Experience</a>&#160;(POSSE) in Philadelphia. It was a great opportunity for us to better understand the challenges instructors face in weaving open source into their curriculum and hear solutions on how to bridge the gap.<br /><br />Almost 30 university professors and community college lecturers attended the <a href="http://foss2serve.org/index.php/Stage_2_Activities">3-day workshop</a>. During the workshop, attendees worked in small groups getting hands on experience incorporating humanitarian free and open source software (HFOSS) into their teaching. Professors were able to talk, mingle and share best practices throughout the event.<br /><br />The POSSE workshop is led by <a href="https://www.linkedin.com/in/heidi-ellis-1684b91">Heidi Ellis</a>, Professor, Department of Computer Science and Information Technology at <a href="http://www1.wne.edu/">Western New England University</a>, and <a href="https://www.linkedin.com/in/gregory-hislop-1786b91">Greg Hislop</a>, Professor of Software Engineering and Senior Associate Dean for Academic Affairs at <a href="http://drexel.edu/">Drexel University</a>. Heidi and Greg took over running POSSE five years after Red Hat began the program as an outreach effort to the higher education community. Red Hat continues as a collaborator in the effort. Around 40 university and community college professors participate in the program every year with over 100 individuals attending the workshop in the last four years.<br /><br />Here are some of the challenges professors shared:<br /><ul><li>Very little guidance on how to bring FOSS into the classroom. No standard curriculum / syllabus available to reference.&#160;</li><li>Time investment required to change the curriculum.</li><li>Will not be rewarded for teaching FOSS courses.</li><li>Will not get funds to travel for workshops/conferences unless it&#8217;s to present a paper at a conference.</li><li>Many administrations aren&#8217;t aware that adding open source is beneficial for students since more and more companies use open source and expect their new hires to be familiar with it.</li></ul><br /><div>The next POSSE will be Nov 17-19. Faculty who are interested in attending POSSE, please <a href="http://foss2serve.org/index.php/POSSE_2016-11">click here to apply</a>.</div><div><br /></div>We also discussed a number of open source programs that are currently working to engage students with open source software development:<br /><ul><li>Corporate <ul><li><a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a></li><li><a href="https://developers.google.com/open-source/gci/">Google Code-in</a></li><li><a href="https://www.redhat.com/en/about/open-source-education/schools">Red Hat Open Source in Education</a></li><li><a href="https://www.facebook.com/notes/facebook-engineering/facebook-open-academy-bringing-open-source-to-cs-curricula/10151806121378920/">Facebook Open Academy</a></li></ul></li><li>Academic <ul><li>Rochester Institute of Technology: <a href="https://www.rit.edu/programs/minors/free-and-open-source-software-and-free-culture">Free and Open Source Software and Free Culture Minor Program</a></li><li>Rensselaer Polytechnic Institute: <a href="https://rcos.io/">Rensselaer Center for Open Source</a></li><li>Oregon State University: <a href="http://osuosl.org/">Open Source Lab</a></li><li>University of California at Santa Cruz: <a href="https://cross.soe.ucsc.edu/CROSS/Home/Home.html">Center for Research on Open Source Software</a></li></ul></li></ul><br />Thanks to Heidi, Greg and the FOSS2Serve team for organizing POSSE 2016! We look forward to taking what we&#8217;ve learned and using it to better support FOSS education in academia.<br /><div><br /></div><i>By Feiran Helen Hu, Open Source Programs Office</i><br /><div><br /></div>]]></description>
				<content:encoded><![CDATA[<br />From <a href="http://g.co/gsoc">Google Summer of Code</a> to <a href="http://g.co/gci">Google Code-in</a>, the Open Source Programs Office does a lot to get students involved with open source. In order to learn more about supporting open source in academia, I attended the NSF funded&nbsp;<a href="http://foss2serve.org/index.php/POSSE">Professors' Open Source Software Experience</a>&nbsp;(POSSE) in Philadelphia. It was a great opportunity for us to better understand the challenges instructors face in weaving open source into their curriculum and hear solutions on how to bridge the gap.<br /><br />Almost 30 university professors and community college lecturers attended the <a href="http://foss2serve.org/index.php/Stage_2_Activities">3-day workshop</a>. During the workshop, attendees worked in small groups getting hands on experience incorporating humanitarian free and open source software (HFOSS) into their teaching. Professors were able to talk, mingle and share best practices throughout the event.<br /><br />The POSSE workshop is led by <a href="https://www.linkedin.com/in/heidi-ellis-1684b91">Heidi Ellis</a>, Professor, Department of Computer Science and Information Technology at <a href="http://www1.wne.edu/">Western New England University</a>, and <a href="https://www.linkedin.com/in/gregory-hislop-1786b91">Greg Hislop</a>, Professor of Software Engineering and Senior Associate Dean for Academic Affairs at <a href="http://drexel.edu/">Drexel University</a>. Heidi and Greg took over running POSSE five years after Red Hat began the program as an outreach effort to the higher education community. Red Hat continues as a collaborator in the effort. Around 40 university and community college professors participate in the program every year with over 100 individuals attending the workshop in the last four years.<br /><br />Here are some of the challenges professors shared:<br /><ul><li>Very little guidance on how to bring FOSS into the classroom. No standard curriculum / syllabus available to reference.&nbsp;</li><li>Time investment required to change the curriculum.</li><li>Will not be rewarded for teaching FOSS courses.</li><li>Will not get funds to travel for workshops/conferences unless it’s to present a paper at a conference.</li><li>Many administrations aren’t aware that adding open source is beneficial for students since more and more companies use open source and expect their new hires to be familiar with it.</li></ul><br /><div>The next POSSE will be Nov 17-19. Faculty who are interested in attending POSSE, please <a href="http://foss2serve.org/index.php/POSSE_2016-11">click here to apply</a>.</div><div><br /></div>We also discussed a number of open source programs that are currently working to engage students with open source software development:<br /><ul><li>Corporate <ul><li><a href="https://developers.google.com/open-source/gsoc/">Google Summer of Code</a></li><li><a href="https://developers.google.com/open-source/gci/">Google Code-in</a></li><li><a href="https://www.redhat.com/en/about/open-source-education/schools">Red Hat Open Source in Education</a></li><li><a href="https://www.facebook.com/notes/facebook-engineering/facebook-open-academy-bringing-open-source-to-cs-curricula/10151806121378920/">Facebook Open Academy</a></li></ul></li><li>Academic <ul><li>Rochester Institute of Technology: <a href="https://www.rit.edu/programs/minors/free-and-open-source-software-and-free-culture">Free and Open Source Software and Free Culture Minor Program</a></li><li>Rensselaer Polytechnic Institute: <a href="https://rcos.io/">Rensselaer Center for Open Source</a></li><li>Oregon State University: <a href="http://osuosl.org/">Open Source Lab</a></li><li>University of California at Santa Cruz: <a href="https://cross.soe.ucsc.edu/CROSS/Home/Home.html">Center for Research on Open Source Software</a></li></ul></li></ul><br />Thanks to Heidi, Greg and the FOSS2Serve team for organizing POSSE 2016! We look forward to taking what we’ve learned and using it to better support FOSS education in academia.<br /><div><br /></div><i>By Feiran Helen Hu, Open Source Programs Office</i><br /><div><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/lessons-from-professors-open-source-software-experience-posse-2016/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>GitHub on BigQuery: Analyze all the code</title>
		<link>https://googledata.org/google-open-source/github-on-bigquery-analyze-all-the-code/</link>
		<comments>https://googledata.org/google-open-source/github-on-bigquery-analyze-all-the-code/#comments</comments>
		<pubDate>Wed, 29 Jun 2016 20:06:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ef97efac3d37fb3666ab4be74bb12d00</guid>
		<description><![CDATA[<span>Posted by <a href="https://twitter.com/felipehoffa" target="_blank">Felipe Hoffa</a>, Google Developer Advocate</span><br /><br />Google, in collaboration with GitHub, is releasing an incredible new open dataset on <a href="https://cloud.google.com/bigquery/" target="_blank">Google BigQuery</a>. So far you've been able to monitor and analyze GitHub's pulse since 2011 (thanks <a href="https://www.githubarchive.org/" target="_blank">GitHub Archive project</a>!) and today we're adding the perfect complement to this. What could you do if you had access to analyze all the open source software in the world, with just one SQL command?<br /><br />The <a href="https://cloud.google.com/bigquery/public-data/" target="_blank">Google BigQuery Public Datasets</a> program now offers a full snapshot of the content of more than 2.8 million open source GitHub repositories in BigQuery. Thanks to our new collaboration with GitHub, you'll have access to analyze the source code of almost 2 billion files with a simple (or complex) SQL query. This will open the doors to all kinds of new insights and advances that we're just beginning to envision.<br /><br />For example, let's say you're the author of a popular open source library. Now you'll be able to find every open source project on GitHub that's using it. Even more, you'll be able to guide the future of your project by analyzing how it's being used, and improve your APIs based on what your users are actually doing with it.<br /><br />On the security side, we've seen how the most popular open source projects benefit from having multiple eyes and hands working on them. This visibility helps projects get hardened and buggy code cleaned up. What if you could search for errors with similar patterns in every other open source project? Would you notify their authors and send them pull requests? Well, now you can.  Some concepts to keep in mind while working with BigQuery and the GitHub contents dataset: <br /><ul><li>With BigQuery everyone gets <a href="https://cloud.google.com/bigquery/pricing" target="_blank">a terabyte every month to run queries</a>. If you've never tried BigQuery before, follow these <a href="https://www.reddit.com/r/bigquery/comments/3dg9le/analyzing_50_billion_wikipedia_pageviews_in_5/" target="_blank">getting started instructions</a>.</li><li>The contents table has all the non-binary files in GitHub that are less than 1MB. It's a huge table, with more than 1.5 terabytes of data! This means the monthly terabyte for BigQuery queries won't last long if you want to query this table. To make your life easier, we've created extracts with only <a href="https://bigquery.cloud.google.com/table/bigquery-public-data:github_repos.sample_contents" target="_blank">a sample of 10% of all files of the most popular projects</a>, as well as another dataset with <a href="https://bigquery.cloud.google.com/dataset/fh-bigquery:github_extracts" target="_blank">all the .go, .rb. .js, .php, .py, and .java code</a>. Use them to make your free quota last!</li><li>If these tables are not enough, you can always create your own extracts (but you'll be billed for the respective storage). To do so, you could sign up for $300 in <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> credits.  These credits could be used to store terabytes (and more) of data in BigQuery.</li><li>BigQuery makes it easy to join different datasets. How about ranking coding patterns by the number of stars their projects get? See a related post looking at the <a href="https://medium.com/google-cloud/big-data-stories-in-seconds-hacker-news-abe52bc5caad#.1oncu4tb7" target="_blank">Hacker News effect on a project&#8217;s GitHub stars</a>.</li><li>SQL is not enough? Learn how BigQuery allows you to run arbitrary <a href="https://cloud.google.com/bigquery/user-defined-functions" target="_blank">JavaScript code inside SQL</a> to enable a full range of possibilities.</li></ul>To learn more, read <a href="https://github.com/blog/2201-making-open-source-data-more-available" target="_blank">GitHub's announcement</a> and try some <a href="https://cloud.google.com/bigquery/public-data/github" target="_blank">sample queries</a>. Share your queries and findings in our <a href="https://www.reddit.com/r/bigquery/comments/4qhlog/all_the_open_source_code_in_github_now_shared/" target="_blank">reddit.com/r/bigquery</a> and <a href="https://news.ycombinator.com/item?id=12004442" target="_blank">Hacker News</a> posts. The ideas are endless, and I'll start collecting tips and links to other articles on this <a href="https://medium.com/@hoffa/b3576fd2b150#.v2dtbkagi" target="_blank">post on Medium</a>.<br /><br />Stay curious!]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by <a href="https://twitter.com/felipehoffa" >Felipe Hoffa</a>, Google Developer Advocate</span><br /><br />Google, in collaboration with GitHub, is releasing an incredible new open dataset on <a href="https://cloud.google.com/bigquery/" >Google BigQuery</a>. So far you've been able to monitor and analyze GitHub's pulse since 2011 (thanks <a href="https://www.githubarchive.org/" >GitHub Archive project</a>!) and today we're adding the perfect complement to this. What could you do if you had access to analyze all the open source software in the world, with just one SQL command?<br /><br />The <a href="https://cloud.google.com/bigquery/public-data/" >Google BigQuery Public Datasets</a> program now offers a full snapshot of the content of more than 2.8 million open source GitHub repositories in BigQuery. Thanks to our new collaboration with GitHub, you'll have access to analyze the source code of almost 2 billion files with a simple (or complex) SQL query. This will open the doors to all kinds of new insights and advances that we're just beginning to envision.<br /><br />For example, let's say you're the author of a popular open source library. Now you'll be able to find every open source project on GitHub that's using it. Even more, you'll be able to guide the future of your project by analyzing how it's being used, and improve your APIs based on what your users are actually doing with it.<br /><br />On the security side, we've seen how the most popular open source projects benefit from having multiple eyes and hands working on them. This visibility helps projects get hardened and buggy code cleaned up. What if you could search for errors with similar patterns in every other open source project? Would you notify their authors and send them pull requests? Well, now you can.  Some concepts to keep in mind while working with BigQuery and the GitHub contents dataset: <br /><ul><li>With BigQuery everyone gets <a href="https://cloud.google.com/bigquery/pricing" >a terabyte every month to run queries</a>. If you've never tried BigQuery before, follow these <a href="https://www.reddit.com/r/bigquery/comments/3dg9le/analyzing_50_billion_wikipedia_pageviews_in_5/" >getting started instructions</a>.</li><li>The contents table has all the non-binary files in GitHub that are less than 1MB. It's a huge table, with more than 1.5 terabytes of data! This means the monthly terabyte for BigQuery queries won't last long if you want to query this table. To make your life easier, we've created extracts with only <a href="https://bigquery.cloud.google.com/table/bigquery-public-data:github_repos.sample_contents" >a sample of 10% of all files of the most popular projects</a>, as well as another dataset with <a href="https://bigquery.cloud.google.com/dataset/fh-bigquery:github_extracts" >all the .go, .rb. .js, .php, .py, and .java code</a>. Use them to make your free quota last!</li><li>If these tables are not enough, you can always create your own extracts (but you'll be billed for the respective storage). To do so, you could sign up for $300 in <a href="https://cloud.google.com/" >Google Cloud Platform</a> credits.  These credits could be used to store terabytes (and more) of data in BigQuery.</li><li>BigQuery makes it easy to join different datasets. How about ranking coding patterns by the number of stars their projects get? See a related post looking at the <a href="https://medium.com/google-cloud/big-data-stories-in-seconds-hacker-news-abe52bc5caad#.1oncu4tb7" >Hacker News effect on a project’s GitHub stars</a>.</li><li>SQL is not enough? Learn how BigQuery allows you to run arbitrary <a href="https://cloud.google.com/bigquery/user-defined-functions" >JavaScript code inside SQL</a> to enable a full range of possibilities.</li></ul>To learn more, read <a href="https://github.com/blog/2201-making-open-source-data-more-available" >GitHub's announcement</a> and try some <a href="https://cloud.google.com/bigquery/public-data/github" >sample queries</a>. Share your queries and findings in our <a href="https://www.reddit.com/r/bigquery/comments/4qhlog/all_the_open_source_code_in_github_now_shared/" >reddit.com/r/bigquery</a> and <a href="https://news.ycombinator.com/item?id=12004442" >Hacker News</a> posts. The ideas are endless, and I'll start collecting tips and links to other articles on this <a href="https://medium.com/@hoffa/b3576fd2b150#.v2dtbkagi" >post on Medium</a>.<br /><br />Stay curious!]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/github-on-bigquery-analyze-all-the-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>More statistics from Google Summer of Code 2016</title>
		<link>https://googledata.org/google-open-source/more-statistics-from-google-summer-of-code-2016/</link>
		<comments>https://googledata.org/google-open-source/more-statistics-from-google-summer-of-code-2016/#comments</comments>
		<pubDate>Tue, 28 Jun 2016 18:49:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1b0ce4ee53200e98777db1c0e2fcc74b</guid>
		<description><![CDATA[<div><a href="https://summerofcode.withgoogle.com/" target="_blank" title="Google Summer of Code"><img alt="Google Summer of Code" border="0" height="200" src="https://4.bp.blogspot.com/-q86epwDgbNI/VzIdzpxbM_I/AAAAAAAAAF0/ULg3hhr0rzcQSkmvwT987oFBpu4Ze8kmwCLcB/s200/sun.png" width="198"></a></div><a href="https://summerofcode.withgoogle.com/" target="_blank">Google Summer of Code</a> (GSoC) 2016 is officially at its halfway point. Mentors and students have just completed their midterm evaluations and it&#8217;s time for our second <a href="http://google-opensource.blogspot.com/2016/05/google-summer-of-code-2016-statistics.html" target="_blank">stats post</a>. This time we take a closer look at our participating students.<br /><br />First, we&#8217;d like to highlight the universities with the most student participants. Congratulations are due to the International Institute of Information Technology - Hyderabad for claiming the top spot for the third consecutive year!<br /><br /><table><thead><tr><td valign="bottom"><b>Country</b></td>   <td valign="bottom"><b>School</b></td>   <td valign="bottom"><b>2016 Accepted Students</b></td>   <td valign="bottom"><b>2015 Accepted Students</b></td>   <td valign="bottom"><b>12 Year Total</b></td>  </tr></thead><tbody><tr><td>India</td>   <td><a href="http://iiit.ac.in/">International Institute of Information Technology - Hyderabad</a></td>   <td>50</td>   <td>62</td>   <td>252</td>  </tr><tr><td>Sri Lanka</td>   <td><a href="http://www.mrt.ac.lk/">University of Moratuwa</a></td>   <td>29</td>   <td>44</td>   <td>320</td>  </tr><tr><td>Romania</td>   <td><a href="http://www.upb.ro/en/">University POLITEHNICA of Bucharest</a></td>   <td>24</td>   <td>14</td>   <td>155</td>  </tr><tr><td>India</td>   <td><a href="http://www.bits-goa.ac.in/">Birla Institute of Technology and Science Pilani, Goa Campus </a></td>   <td>22</td>   <td>15</td>   <td>110</td>  </tr><tr><td>India</td>   <td><a href="http://www.bits-pilani.ac.in/">Birla Institute of Technology and Science, Pilani Campus</a></td>   <td>22</td>   <td>18</td>   <td>116</td>  </tr><tr><td>India</td>   <td><a href="http://www.iitb.ac.in/">Indian Institute of Technology, Bombay</a></td>   <td>18</td>   <td>13</td>   <td>75</td>  </tr><tr><td>India</td>   <td><a href="http://www.iitkgp.ac.in/">Indian Institute of Technology, Kharagpur</a></td>   <td>15</td>   <td>8</td>   <td>92</td>  </tr><tr><td>India</td>   <td><a href="http://www.iitr.ac.in/">Indian Institute of Technology, Roorkee</a></td>   <td>15</td>   <td>8</td>   <td>57</td>  </tr><tr><td>India</td>   <td><a href="https://www.iiitd.ac.in/">Indraprastha Institute of Information Technology Delhi</a></td>   <td>15</td>   <td>7</td>   <td>27</td>  </tr><tr><td>India</td>   <td><a href="https://www.amrita.edu/campus/amritapuri">Amrita School of Engineering, Amrita University, Amritapuri Campus</a></td>   <td>13</td>   <td>5</td>   <td>33</td>  </tr><tr><td>India</td>   <td><a href="http://www.iitg.ac.in/">Indian Institute of Technology, Guwahati</a></td>   <td>13</td>   <td>5</td>   <td>38</td>  </tr><tr><td>Cameroon</td>   <td><a href="http://www.ubuea.cm/">University of Buea</a></td>   <td>12</td>   <td>10</td>   <td>26</td>  </tr><tr><td>India</td>   <td><a href="http://www.dtu.ac.in/">Delhi Technological University </a></td>   <td>12</td>   <td>9</td>   <td>60</td>  </tr><tr><td>India</td>   <td><a href="http://www.iitbhu.ac.in/">Indian Institute of Technology BHU Varanasi</a></td>   <td>12</td>   <td>12</td>   <td>37</td>  </tr><tr><td>Germany</td>   <td><a href="http://www.tum.de/en/homepage/">TU Munich</a></td>   <td>11</td>   <td>7</td>   <td>45</td>  </tr></tbody></table><br /><br />Next, we are proud to announce that 2016 marks the largest number of female GSoC participants to date &#8212; 12% of accepted students are female, up 2.2% from 2015. This is good progress, but we are certain we can do better in the future to diversify our program. The Google Open Source team will continue our outreach to many organizations, for example, <a href="http://ghc.anitaborg.org/" target="_blank">Grace Hopper</a> and <a href="http://www.blackgirlscode.com/" target="_blank">Black Girls Code</a>, to increase this number even more 2017. If you have any suggestions of organizations we should work with, please let us know in the comments.<br /><br />Finally, each year we like to look at the majors of students. As expected, the most common area of study for our participants is Computer Science (approximately 78%), but this year we have a wide variety of studies including Linguistics, Law, Music Technology and Psychology. &#160;The majority of our students this year are undergraduates (67%), followed by Masters (23%) and then PhD students (9%).<br /><br /><img src="https://lh4.googleusercontent.com/szpOs5fzjkzqkfh2SRRoFZ1qd4Ac2z4pzMFT4JGSTDYjtUbDiOCAxuUI0E2CSpk4AlyqY_Je1tlMeJrBTwU9-Xova5bSPpqYGKsslRDUH-q3Cm7d7GIkZyR2F1GTvZ5-c0VtAIp_" width="563"><br /><br />Although reviewing GSoC statistics each year is great fun, we want to stress that being &#8220;first place&#8221; is not the point of the program. Our goal is to get more and more students involved in creating free and open source software. We hope Google Summer of Code encourages contributions to projects that have the potential to make a difference worldwide. Congratulations to the students from all over the globe and keep up the good work!<br /><br /><i>By Mary Radomile, Open Source Programs Office</i>]]></description>
				<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;"><a href="https://summerofcode.withgoogle.com/" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"  title="Google Summer of Code"><img alt="Google Summer of Code" border="0" height="200" src="https://4.bp.blogspot.com/-q86epwDgbNI/VzIdzpxbM_I/AAAAAAAAAF0/ULg3hhr0rzcQSkmvwT987oFBpu4Ze8kmwCLcB/s200/sun.png" width="198" /></a></div><a href="https://summerofcode.withgoogle.com/" >Google Summer of Code</a> (GSoC) 2016 is officially at its halfway point. Mentors and students have just completed their midterm evaluations and it’s time for our second <a href="http://google-opensource.blogspot.com/2016/05/google-summer-of-code-2016-statistics.html" >stats post</a>. This time we take a closer look at our participating students.<br /><br />First, we’d like to highlight the universities with the most student participants. Congratulations are due to the International Institute of Information Technology - Hyderabad for claiming the top spot for the third consecutive year!<br /><br /><table> <thead><tr>   <td valign="bottom"><b>Country</b></td>   <td valign="bottom"><b>School</b></td>   <td valign="bottom"><b>2016 Accepted Students</b></td>   <td valign="bottom"><b>2015 Accepted Students</b></td>   <td valign="bottom"><b>12 Year Total</b></td>  </tr></thead> <tbody><tr>   <td>India</td>   <td><a href="http://iiit.ac.in/">International Institute of Information Technology - Hyderabad</a></td>   <td>50</td>   <td>62</td>   <td>252</td>  </tr><tr>   <td>Sri Lanka</td>   <td><a href="http://www.mrt.ac.lk/">University of Moratuwa</a></td>   <td>29</td>   <td>44</td>   <td>320</td>  </tr><tr>   <td>Romania</td>   <td><a href="http://www.upb.ro/en/">University POLITEHNICA of Bucharest</a></td>   <td>24</td>   <td>14</td>   <td>155</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.bits-goa.ac.in/">Birla Institute of Technology and Science Pilani, Goa Campus </a></td>   <td>22</td>   <td>15</td>   <td>110</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.bits-pilani.ac.in/">Birla Institute of Technology and Science, Pilani Campus</a></td>   <td>22</td>   <td>18</td>   <td>116</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.iitb.ac.in/">Indian Institute of Technology, Bombay</a></td>   <td>18</td>   <td>13</td>   <td>75</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.iitkgp.ac.in/">Indian Institute of Technology, Kharagpur</a></td>   <td>15</td>   <td>8</td>   <td>92</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.iitr.ac.in/">Indian Institute of Technology, Roorkee</a></td>   <td>15</td>   <td>8</td>   <td>57</td>  </tr><tr>   <td>India</td>   <td><a href="https://www.iiitd.ac.in/">Indraprastha Institute of Information Technology Delhi</a></td>   <td>15</td>   <td>7</td>   <td>27</td>  </tr><tr>   <td>India</td>   <td><a href="https://www.amrita.edu/campus/amritapuri">Amrita School of Engineering, Amrita University, Amritapuri Campus</a></td>   <td>13</td>   <td>5</td>   <td>33</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.iitg.ac.in/">Indian Institute of Technology, Guwahati</a></td>   <td>13</td>   <td>5</td>   <td>38</td>  </tr><tr>   <td>Cameroon</td>   <td><a href="http://www.ubuea.cm/">University of Buea</a></td>   <td>12</td>   <td>10</td>   <td>26</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.dtu.ac.in/">Delhi Technological University </a></td>   <td>12</td>   <td>9</td>   <td>60</td>  </tr><tr>   <td>India</td>   <td><a href="http://www.iitbhu.ac.in/">Indian Institute of Technology BHU Varanasi</a></td>   <td>12</td>   <td>12</td>   <td>37</td>  </tr><tr>   <td>Germany</td>   <td><a href="http://www.tum.de/en/homepage/">TU Munich</a></td>   <td>11</td>   <td>7</td>   <td>45</td>  </tr></tbody></table><br /><br />Next, we are proud to announce that 2016 marks the largest number of female GSoC participants to date — 12% of accepted students are female, up 2.2% from 2015. This is good progress, but we are certain we can do better in the future to diversify our program. The Google Open Source team will continue our outreach to many organizations, for example, <a href="http://ghc.anitaborg.org/" >Grace Hopper</a> and <a href="http://www.blackgirlscode.com/" >Black Girls Code</a>, to increase this number even more 2017. If you have any suggestions of organizations we should work with, please let us know in the comments.<br /><br />Finally, each year we like to look at the majors of students. As expected, the most common area of study for our participants is Computer Science (approximately 78%), but this year we have a wide variety of studies including Linguistics, Law, Music Technology and Psychology. &nbsp;The majority of our students this year are undergraduates (67%), followed by Masters (23%) and then PhD students (9%).<br /><br /><img src="https://lh4.googleusercontent.com/szpOs5fzjkzqkfh2SRRoFZ1qd4Ac2z4pzMFT4JGSTDYjtUbDiOCAxuUI0E2CSpk4AlyqY_Je1tlMeJrBTwU9-Xova5bSPpqYGKsslRDUH-q3Cm7d7GIkZyR2F1GTvZ5-c0VtAIp_" style="border: none;" width="563" /><br /><br />Although reviewing GSoC statistics each year is great fun, we want to stress that being “first place” is not the point of the program. Our goal is to get more and more students involved in creating free and open source software. We hope Google Summer of Code encourages contributions to projects that have the potential to make a difference worldwide. Congratulations to the students from all over the globe and keep up the good work!<br /><br /><i>By Mary Radomile, Open Source Programs Office</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/more-statistics-from-google-summer-of-code-2016/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open Source</title>
		<link>https://googledata.org/google-open-source/announcing-syntaxnet-the-worlds-most-accurate-parser-goes-open-source-2/</link>
		<comments>https://googledata.org/google-open-source/announcing-syntaxnet-the-worlds-most-accurate-parser-goes-open-source-2/#comments</comments>
		<pubDate>Fri, 13 May 2016 19:08:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0a18c896f140ab108c1700974d0ba463</guid>
		<description><![CDATA[<i>Originally posted on the <a href="http://googleresearch.blogspot.com/2016/05/announcing-syntaxnet-worlds-most.html" target="_blank">Google Research Blog</a></i><br /><i><br /></i><i>By Slav Petrov, Senior Staff Research Scientist</i><br /><br />At Google, we spend a lot of time thinking about how <a href="http://googleresearch.blogspot.com/2013/12/free-language-lessons-for-computers.html">computer systems</a> can <a href="http://googleresearch.blogspot.com/2015/06/a-multilingual-corpus-of-automatically.html">read</a> and <a href="http://googleresearch.blogspot.com/2014/11/a-picture-is-worth-thousand-coherent.html">understand</a> <a href="http://googleresearch.blogspot.com/2014/08/teaching-machines-to-read-between-lines.html">human language</a> in order <a href="http://googleresearch.blogspot.com/2014/04/a-billion-words-because-todays-language.html">to process it</a> in <a href="http://googleresearch.blogspot.com/2015/11/computer-respond-to-this-email.html">intelligent ways</a>. Today, we are excited to share the fruits of our research with the broader community by releasing <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a>, an open-source neural network framework implemented in <a href="https://www.tensorflow.org/">TensorFlow</a> that provides a foundation for <a href="https://en.wikipedia.org/wiki/Natural_language_understanding">Natural Language Understanding</a> (NLU) systems. Our release includes all the code needed to train new SyntaxNet models on your own data, as well as <i>Parsey McParseface</i>, an English parser that we have trained for you and that you can use to analyze English text.<br /><br />Parsey McParseface is built on powerful machine learning algorithms that learn to analyze the linguistic structure of language, and that can explain the functional role of each word in a given sentence. Because Parsey McParseface is the <a href="http://arxiv.org/abs/1603.06042">most accurate such model in the world</a>, we hope that it will be useful to developers and researchers interested in automatic extraction of information, translation, and other core applications of NLU. <br /><br /><b>How does SyntaxNet work?</b><br /><br />SyntaxNet is a framework for what&#8217;s known in academic circles as a <a href="https://en.wikipedia.org/wiki/Parsing"><i>syntactic parser</i></a>, which is a key first component in many NLU systems. Given a sentence as input, it tags each word with a part-of-speech (POS) tag that describes the word's syntactic function, and it determines the syntactic relationships between words in the sentence, represented in the dependency parse tree. These syntactic relationships are directly related to the underlying meaning of the sentence in question. To take a very simple example, consider the following dependency tree for <i>Alice saw Bob</i>:<br /><br /><div></div><div><a href="https://3.bp.blogspot.com/-M-7PIST2hq8/VzTFhESMeuI/AAAAAAAAA_s/k4wOQe0UlnwmoVnZtuU6CNHw6xLQRN7egCLcB/s1600/asawb.png" target="_blank"><img border="0" height="262" src="https://3.bp.blogspot.com/-M-7PIST2hq8/VzTFhESMeuI/AAAAAAAAA_s/k4wOQe0UlnwmoVnZtuU6CNHw6xLQRN7egCLcB/s320/asawb.png" width="320"></a></div><br />This structure encodes that <i>Alice</i> and <i>Bob</i> are nouns and <i>saw</i> is a verb. The main verb <i>saw</i> is the root of the sentence and <i>Alice</i> is the subject (nsubj) of <i>saw</i>, while <i>Bob</i> is its direct object (dobj). As expected, Parsey McParseface analyzes this sentence correctly, but also understands the following more complex example:<br /><br /><div></div><div><a href="https://4.bp.blogspot.com/-1Ntx47T1WvU/VzTF2HgbqrI/AAAAAAAAA_w/UWofRQPhqU0ITD5HPQmEVCrwsEroCN8PQCLcB/s1600/long.png" target="_blank"><img border="0" height="202" src="https://4.bp.blogspot.com/-1Ntx47T1WvU/VzTF2HgbqrI/AAAAAAAAA_w/UWofRQPhqU0ITD5HPQmEVCrwsEroCN8PQCLcB/s640/long.png" width="640"></a></div><br />This structure again encodes the fact that <i>Alice</i> and <i>Bob</i> are the subject and object respectively of <i>saw</i>, in addition that <i>Alice</i> is modified by a relative clause with the verb <i>reading</i>, that <i>saw</i> is modified by the temporal modifier <i>yesterday</i>, and so on. The grammatical relationships encoded in dependency structures allow us to easily recover the answers to various questions, for example <i>whom did Alice see?</i>, <i>who saw Bob?</i>, <i>what had Alice been reading about?</i> or <i>when did Alice see Bob?</i>. <br /><br /><b>Why is Parsing So Hard For Computers to Get Right?</b><br /><br />One of the main problems that makes parsing so challenging is that human languages show remarkable levels of ambiguity. It is not uncommon for moderate length sentences - say 20 or 30 words in length - to have hundreds, thousands, or even tens of thousands of possible syntactic structures. A natural language parser must somehow search through all of these alternatives, and find the most plausible structure given the context. As a very simple example, the sentence <i>Alice drove down the street in her car</i> has at least two possible dependency parses:<br /><br /><div><a href="https://2.bp.blogspot.com/-cXYL6RGkV_g/VzTDzbh6yEI/AAAAAAAAA_Q/1c-76sGQ124oE9njB2E6QzU6KcxDCn0KgCLcB/s1600/drovedown.png" target="_blank"><img border="0" height="136" src="https://2.bp.blogspot.com/-cXYL6RGkV_g/VzTDzbh6yEI/AAAAAAAAA_Q/1c-76sGQ124oE9njB2E6QzU6KcxDCn0KgCLcB/s640/drovedown.png" width="640"></a></div><br />The first corresponds to the (correct) interpretation where Alice is driving in her car; the second corresponds to the (absurd, but possible) interpretation where the street is located in her car. The ambiguity arises because the preposition <i>in</i> can either modify <i>drove</i> or <i>street</i>; this example is an instance of what is called <i>prepositional phrase attachment ambiguity</i>. <br /><br />Humans do a remarkable job of dealing with ambiguity, almost to the point where the problem is unnoticeable; the challenge is for computers to do the same. Multiple ambiguities such as these in longer sentences conspire to give a combinatorial explosion in the number of possible structures for a sentence. Usually the vast majority of these structures are wildly implausible, but are nevertheless possible and must be somehow discarded by a parser. <br /><br />SyntaxNet applies neural networks to the ambiguity problem. An input sentence is processed from left to right, with dependencies between words being incrementally added as each word in the sentence is considered. At each point in processing many decisions may be possible&#8212;due to ambiguity&#8212;and a neural network gives scores for competing decisions based on their plausibility. For this reason, it is very important to use <i><a href="https://en.wikipedia.org/wiki/Beam_search">beam search</a></i> in the model. Instead of simply taking the first-best decision at each point, multiple partial hypotheses are kept at each step, with hypotheses only being discarded when there are several other higher-ranked hypotheses under consideration. An example of a left-to-right sequence of decisions that produces a simple parse is shown below for the sentence <i>I booked a ticket to Google</i>.<br /><div><a href="https://2.bp.blogspot.com/-fqtmVS97tOs/VzTEAI9BQ8I/AAAAAAAAA_U/xPj0Av64sGseS0rF4Z1BbhmS77J-HuEvwCLcB/s1600/image04.gif" target="_blank"><img border="0" height="336" src="https://2.bp.blogspot.com/-fqtmVS97tOs/VzTEAI9BQ8I/AAAAAAAAA_U/xPj0Av64sGseS0rF4Z1BbhmS77J-HuEvwCLcB/s640/image04.gif" width="640"></a></div>Furthermore, as described in our <a href="http://arxiv.org/abs/1603.06042">paper</a>, it is critical to tightly <i>integrate learning and search</i> in order to achieve the highest prediction accuracy. Parsey McParseface and other <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a> models are some of the most complex networks that we have trained with the <a href="https://www.tensorflow.org/">TensorFlow</a> framework at Google. Given some data from the Google supported <a href="http://universaldependencies.org/">Universal Treebanks</a> project, you can train a parsing model on your own machine.<br /><br /><b>So How Accurate is Parsey McParseface?</b><br /><br />On a standard benchmark consisting of randomly drawn English newswire sentences (the 20 year old <a href="https://www.cis.upenn.edu/~treebank/">Penn Treebank</a>), Parsey McParseface recovers individual dependencies between words with over 94% accuracy, beating our own previous state-of-the-art results, which were already <a href="http://arxiv.org/abs/1603.06042">better than any previous approach</a>. While there are no explicit studies in the literature about human performance, we know from our in-house annotation projects that linguists trained for this task agree in 96-97% of the cases. This suggests that we are approaching human performance&#8212;but only on well-formed text. Sentences drawn from the web are a lot harder to analyze, as we learned from the <a href="http://googleresearch.blogspot.com/2011/03/building-resources-to-syntactically.html">Google WebTreebank</a> (released in 2011). Parsey McParseface achieves just over 90% of parse accuracy on this dataset. <br /><br />While the accuracy is not perfect, it&#8217;s certainly high enough to be useful in many applications. The major source of errors at this point are examples such as the prepositional phrase attachment ambiguity described above, which require real world knowledge (e.g. that a street is not likely to be located in a car) and deep contextual reasoning. Machine learning (and in particular, neural networks) have made significant progress in resolving these ambiguities. But our work is still cut out for us: we would like to develop methods that can learn world knowledge and enable equal understanding of natural language across <i>all</i> languages and contexts.<br /><br />To get started, see the <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a> code and download the Parsey McParseface parser model. Happy parsing from the main developers, Chris Alberti, David Weiss, Daniel Andor, Michael Collins &#38; Slav Petrov.]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="http://googleresearch.blogspot.com/2016/05/announcing-syntaxnet-worlds-most.html" >Google Research Blog</a></i><br /><i><br /></i><i>By Slav Petrov, Senior Staff Research Scientist</i><br /><br />At Google, we spend a lot of time thinking about how <a href="http://googleresearch.blogspot.com/2013/12/free-language-lessons-for-computers.html">computer systems</a> can <a href="http://googleresearch.blogspot.com/2015/06/a-multilingual-corpus-of-automatically.html">read</a> and <a href="http://googleresearch.blogspot.com/2014/11/a-picture-is-worth-thousand-coherent.html">understand</a> <a href="http://googleresearch.blogspot.com/2014/08/teaching-machines-to-read-between-lines.html">human language</a> in order <a href="http://googleresearch.blogspot.com/2014/04/a-billion-words-because-todays-language.html">to process it</a> in <a href="http://googleresearch.blogspot.com/2015/11/computer-respond-to-this-email.html">intelligent ways</a>. Today, we are excited to share the fruits of our research with the broader community by releasing <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a>, an open-source neural network framework implemented in <a href="https://www.tensorflow.org/">TensorFlow</a> that provides a foundation for <a href="https://en.wikipedia.org/wiki/Natural_language_understanding">Natural Language Understanding</a> (NLU) systems. Our release includes all the code needed to train new SyntaxNet models on your own data, as well as <i>Parsey McParseface</i>, an English parser that we have trained for you and that you can use to analyze English text.<br /><br />Parsey McParseface is built on powerful machine learning algorithms that learn to analyze the linguistic structure of language, and that can explain the functional role of each word in a given sentence. Because Parsey McParseface is the <a href="http://arxiv.org/abs/1603.06042">most accurate such model in the world</a>, we hope that it will be useful to developers and researchers interested in automatic extraction of information, translation, and other core applications of NLU. <br /><br /><b>How does SyntaxNet work?</b><br /><br />SyntaxNet is a framework for what’s known in academic circles as a <a href="https://en.wikipedia.org/wiki/Parsing"><i>syntactic parser</i></a>, which is a key first component in many NLU systems. Given a sentence as input, it tags each word with a part-of-speech (POS) tag that describes the word's syntactic function, and it determines the syntactic relationships between words in the sentence, represented in the dependency parse tree. These syntactic relationships are directly related to the underlying meaning of the sentence in question. To take a very simple example, consider the following dependency tree for <i>Alice saw Bob</i>:<br /><br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-M-7PIST2hq8/VzTFhESMeuI/AAAAAAAAA_s/k4wOQe0UlnwmoVnZtuU6CNHw6xLQRN7egCLcB/s1600/asawb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="262" src="https://3.bp.blogspot.com/-M-7PIST2hq8/VzTFhESMeuI/AAAAAAAAA_s/k4wOQe0UlnwmoVnZtuU6CNHw6xLQRN7egCLcB/s320/asawb.png" width="320" /></a></div><br />This structure encodes that <i>Alice</i> and <i>Bob</i> are nouns and <i>saw</i> is a verb. The main verb <i>saw</i> is the root of the sentence and <i>Alice</i> is the subject (nsubj) of <i>saw</i>, while <i>Bob</i> is its direct object (dobj). As expected, Parsey McParseface analyzes this sentence correctly, but also understands the following more complex example:<br /><br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-1Ntx47T1WvU/VzTF2HgbqrI/AAAAAAAAA_w/UWofRQPhqU0ITD5HPQmEVCrwsEroCN8PQCLcB/s1600/long.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="202" src="https://4.bp.blogspot.com/-1Ntx47T1WvU/VzTF2HgbqrI/AAAAAAAAA_w/UWofRQPhqU0ITD5HPQmEVCrwsEroCN8PQCLcB/s640/long.png" width="640" /></a></div><br />This structure again encodes the fact that <i>Alice</i> and <i>Bob</i> are the subject and object respectively of <i>saw</i>, in addition that <i>Alice</i> is modified by a relative clause with the verb <i>reading</i>, that <i>saw</i> is modified by the temporal modifier <i>yesterday</i>, and so on. The grammatical relationships encoded in dependency structures allow us to easily recover the answers to various questions, for example <i>whom did Alice see?</i>, <i>who saw Bob?</i>, <i>what had Alice been reading about?</i> or <i>when did Alice see Bob?</i>. <br /><br /><b>Why is Parsing So Hard For Computers to Get Right?</b><br /><br />One of the main problems that makes parsing so challenging is that human languages show remarkable levels of ambiguity. It is not uncommon for moderate length sentences - say 20 or 30 words in length - to have hundreds, thousands, or even tens of thousands of possible syntactic structures. A natural language parser must somehow search through all of these alternatives, and find the most plausible structure given the context. As a very simple example, the sentence <i>Alice drove down the street in her car</i> has at least two possible dependency parses:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-cXYL6RGkV_g/VzTDzbh6yEI/AAAAAAAAA_Q/1c-76sGQ124oE9njB2E6QzU6KcxDCn0KgCLcB/s1600/drovedown.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="136" src="https://2.bp.blogspot.com/-cXYL6RGkV_g/VzTDzbh6yEI/AAAAAAAAA_Q/1c-76sGQ124oE9njB2E6QzU6KcxDCn0KgCLcB/s640/drovedown.png" width="640" /></a></div><br />The first corresponds to the (correct) interpretation where Alice is driving in her car; the second corresponds to the (absurd, but possible) interpretation where the street is located in her car. The ambiguity arises because the preposition <i>in</i> can either modify <i>drove</i> or <i>street</i>; this example is an instance of what is called <i>prepositional phrase attachment ambiguity</i>. <br /><br />Humans do a remarkable job of dealing with ambiguity, almost to the point where the problem is unnoticeable; the challenge is for computers to do the same. Multiple ambiguities such as these in longer sentences conspire to give a combinatorial explosion in the number of possible structures for a sentence. Usually the vast majority of these structures are wildly implausible, but are nevertheless possible and must be somehow discarded by a parser. <br /><br />SyntaxNet applies neural networks to the ambiguity problem. An input sentence is processed from left to right, with dependencies between words being incrementally added as each word in the sentence is considered. At each point in processing many decisions may be possible—due to ambiguity—and a neural network gives scores for competing decisions based on their plausibility. For this reason, it is very important to use <i><a href="https://en.wikipedia.org/wiki/Beam_search">beam search</a></i> in the model. Instead of simply taking the first-best decision at each point, multiple partial hypotheses are kept at each step, with hypotheses only being discarded when there are several other higher-ranked hypotheses under consideration. An example of a left-to-right sequence of decisions that produces a simple parse is shown below for the sentence <i>I booked a ticket to Google</i>.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-fqtmVS97tOs/VzTEAI9BQ8I/AAAAAAAAA_U/xPj0Av64sGseS0rF4Z1BbhmS77J-HuEvwCLcB/s1600/image04.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" ><img border="0" height="336" src="https://2.bp.blogspot.com/-fqtmVS97tOs/VzTEAI9BQ8I/AAAAAAAAA_U/xPj0Av64sGseS0rF4Z1BbhmS77J-HuEvwCLcB/s640/image04.gif" width="640" /></a></div>Furthermore, as described in our <a href="http://arxiv.org/abs/1603.06042">paper</a>, it is critical to tightly <i>integrate learning and search</i> in order to achieve the highest prediction accuracy. Parsey McParseface and other <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a> models are some of the most complex networks that we have trained with the <a href="https://www.tensorflow.org/">TensorFlow</a> framework at Google. Given some data from the Google supported <a href="http://universaldependencies.org/">Universal Treebanks</a> project, you can train a parsing model on your own machine.<br /><br /><b>So How Accurate is Parsey McParseface?</b><br /><br />On a standard benchmark consisting of randomly drawn English newswire sentences (the 20 year old <a href="https://www.cis.upenn.edu/~treebank/">Penn Treebank</a>), Parsey McParseface recovers individual dependencies between words with over 94% accuracy, beating our own previous state-of-the-art results, which were already <a href="http://arxiv.org/abs/1603.06042">better than any previous approach</a>. While there are no explicit studies in the literature about human performance, we know from our in-house annotation projects that linguists trained for this task agree in 96-97% of the cases. This suggests that we are approaching human performance—but only on well-formed text. Sentences drawn from the web are a lot harder to analyze, as we learned from the <a href="http://googleresearch.blogspot.com/2011/03/building-resources-to-syntactically.html">Google WebTreebank</a> (released in 2011). Parsey McParseface achieves just over 90% of parse accuracy on this dataset. <br /><br />While the accuracy is not perfect, it’s certainly high enough to be useful in many applications. The major source of errors at this point are examples such as the prepositional phrase attachment ambiguity described above, which require real world knowledge (e.g. that a street is not likely to be located in a car) and deep contextual reasoning. Machine learning (and in particular, neural networks) have made significant progress in resolving these ambiguities. But our work is still cut out for us: we would like to develop methods that can learn world knowledge and enable equal understanding of natural language across <i>all</i> languages and contexts.<br /><br />To get started, see the <a href="https://github.com/tensorflow/models/tree/master/syntaxnet">SyntaxNet</a> code and download the Parsey McParseface parser model. Happy parsing from the main developers, Chris Alberti, David Weiss, Daniel Andor, Michael Collins &amp; Slav Petrov.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-open-source/announcing-syntaxnet-the-worlds-most-accurate-parser-goes-open-source-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
	</channel>
</rss>
