opensource.google.com

Menu
Showing posts with label meetups. Show all posts
Showing posts with label meetups. Show all posts

Googlers on the road: CLS and OSCON 2018

Friday, July 13, 2018

Next week a veritable who’s who of free and open source software luminaries, maintainers and developers will gather to celebrate the 20th annual OSCON and the 20th anniversary of the Open Source Definition. Naturally, the Google Open Source and Google Cloud teams will be there too!

Program chairs at OSCON 2017, left to right:
Rachel Roumeliotis, Kelsey Hightower, Scott Hanselman.
Photo used with permission from O'Reilly Media.
This year OSCON returns to Portland, Oregon and runs from July 16-19. As usual, it is preceded by the free-to-attend Community Leadership Summit on July 14-15.

If you’re curious about our outreach programs, our approach to open source, or any of the open source projects we’ve released, please find us! We’re eager to chat. You’ll find us and many other Googlers throughout the week on stage, in the expo hall, and at several special events that we’re running, including:
Here’s a rundown of the sessions we’re hosting this year:

Sunday, July 15th (Community Leadership Summit)

11:45am   Asking for time and/or money by Cat Allman

Monday, July 16th (Tutorials)

9:00am    Getting started with TensorFlow by Josh Gordon
1:30pm    Introduction to natural language processing with Python by Barbara Fusinska

Tuesday, July 17th (Tutorials)

9:00am    Istio Day opening remarks by Kelsey Hightower
9:00am    TensorFlow Day opening remarks by Edd Wilder-James
9:05am    Sailing to 1.0: Istio community update by April Nassi
9:05am    The state of TensorFlow by Sandeep Gupta
9:30am    Introduction to fairness in machine learning by Hallie Benjamin
9:55am    Farm to table: A TensorFlow story by Gunhan Gulsoy
11:00am  Hassle-free, scalable machine learning with Kubeflow by Barbara Fusinska
11:05am  Istio: Zero-trust communication security for production services by Samrat Ray, Tao Li, and Mak Ahmad
12:00pm  Project Magenta: Machine learning for music and art by Sherol Chen
1:35pm    Istio à la carte by Daniel Ciruli

Wednesday, July 18th (Sessions)

9:00am    Wednesday opening welcome by Kelsey Hightower
11:50am  Machine learning for continuous integration by Joseph Gregorio
1:45pm    Live-coding a beautiful, performant mobile app from scratch by Emily Fortuna and Matt Sullivan
2:35pm    Powering TensorFlow with big data using Apache Beam, Flink, and Spark by Holden Karau
5:25pm    Teaching the Next Generation to FLOSS by Josh Simmons

Thursday, July 19th (Sessions)

9:00am    Thursday opening welcome by Kelsey Hightower
9:40am    20 years later, open source is as important as ever by Sarah Novotny
11:50am  Google’s approach to distributed systems observability by Jaana B. Dogan
2:35pm    gRPC versus REST: Let the battle begin with Alex Borysov
5:05pm    Shenzhen Go: A visual Go environment for everybody, even professionals by Josh Deprez

We look forward to seeing you and the rest of the community there!

By Josh Simmons, Google Open Source

Saddle up and meet us in Texas for OSCON 2017

Wednesday, April 26, 2017

The Google Open Source team is getting ready to hit the road and join the open source panoply that is Open Source Convention (OSCON). This year the event runs May 8-11 in Austin, Texas and is preceded on May 6-7 by the free-to-attend Community Leadership Summit (CLS).
Program chairs at OSCON 2016, left to right:
Kelsey Hightower, Scott Hanselman, Rachel Roumeliotis.
Photo used with permission from O'Reilly Media.

You’ll find our team and many other Googlers throughout the week on the program schedule and in the expo hall at booth #401. We’ve got a full rundown of our schedule below, but you can swing by the expo hall anytime to discuss Google Cloud Platform, our open source outreach programs, the projects we’ve open-sourced including Kubernetes, TensorFlow, gRPC, and even our recently released open source documentation.

Of course, you’ll also find our very own Kelsey Hightower everywhere since he is serving as one of three OSCON program chairs for the second year in a row.

Are you a student, educator, project maintainer, community leader, past or present participant in Google Summer of Code or Google Code-in? Join us for lunch at the Google Summer of Code table in the conference lunch area on Wednesday afternoon. We’ll discuss our outreach programs which help open source communities grow while providing students with real world software development experience. We’ll be updating this blog post and tweeting with details closer to the date.

Without further ado, here’s our schedule of events:

Monday, May 8th (Tutorials)

Tuesday, May 9th (Tutorials)

Wednesday, May 10th (Sessions)
12:30pm Google Summer of Code and Google Code-in lunch

Thursday, May 11th (Sessions)

We look forward to seeing you deep in the heart of Texas at OSCON 2017!

By Josh Simmons, Google Open Source

Hot weather, cool code: July Unix User's Group meeting

Tuesday, July 15, 2014

Unigroup is the oldest and largest Unix User's Group (Unix/Linux/BSD) serving the Greater New York City Regional Area. It has been serving the NYC Unix/BSD Community for over 30 years, and the NYC Linux Community for over 20 years.

Unigroup organizes monthly meetings, each of which contains a main presentation on a wide variety of topics. In this month's event, happening on Thursday, July 17th, 2014, I will present the FreeBSD Test Suite and its backing testing framework, Kyua, both of which are supported by the Google Open Source Programs Office.

Today's blog post features the key concepts behind the FreeBSD Test Suite and what you can expect from Thursday’s meeting. If you are attending, please do not forget to RSVP by July 17th!

The FreeBSD Test Suite
FreeBSD is a Unix-like, free, general purpose operating system with a large codebase — over 5 million lines according to Ohloh. In order to easily ascertain the quality of the system and to ensure that such quality does not regress over time, the foundations of a test suite and a collection of tests were needed.

With funding from a Google Summer of Code project in 2007, I got involved in writing a test suite framework for NetBSD known as ATF, parts of which were rewritten under the Kyua project name starting in 2010. Both ATF and Kyua have always been standalone components able to work on any Unix-like operating system. Until recently, NetBSD was the major consumer of these testing tools, but in 2013 they spilled into FreeBSD to equip the system with its own test suite.

The goals of the FreeBSD Test Suite are to assist developers in modifying the system, to assist end users in validating that the system works according to documented expectations, and to assist the release engineering team in vetting new releases and to put the shiny-new Kyua framework to use in a production-quality project.

Currently, the FreeBSD Test Suite is part of both FreeBSD 11.0-CURRENT (the development branch) and of stable/10 (the stable branch that will yield 10.1-RELEASE). The test suite currently holds about 570 test cases — a pretty small number considering its scope, but decent enough given that the test suite foundations are still under active development.

Kyua: the test suite glue
Kyua is a runtime engine for test suites, mostly engineered towards testing operating systems. In general terms, a test suite defines the layout of its test programs and its test cases using a declarative language that Kyua is in charge of. Based on this definition, Kyua allows to execute the tests in a controlled environment and to generate user-friendly and machine-parseable reports of the results. Continuous integration facilities are left to better-suited third-party systems such as Jenkins.

Kyua is able to run test programs implemented in a variety of languages with support for various different testing libraries. In particular, Kyua can run ATF-based test programs (written in either C, C++ or POSIX shell), legacy test programs (those that just exit with 0 or 1 depending on the test's success), and TAP-compliant test programs. It should be possible, and is in fact planned, to support other backends like GoogleTest.

The upcoming talk
In Thursday’s meeting, I will be presenting all of the above and much, much more.

The session will start with a bit of history about my involvement with the BSDs. I’ll talk about the goals of the FreeBSD Test Suite while comparing those with its NetBSD counterpart, presenting the Kyua project, outlining the current state of the test suite, showcasing Jenkins and possibly performing some live demonstrations. Expect code samples.

If you happen to be in the New York City area on the 17th, RSVP and join us for the session!

By Julio Merino, Google Site Reliability Engineering

Progress in person: the 2014 Buildroot Developers Meeting

Monday, March 17, 2014

The Google Open Source Programs Office recently co-sponsored the annual Buildroot Developers Meeting at our office in Brussels, Belgium.  Read more about their meeting below.

On February 3rd and 4th, the Buildroot project held its Developers Meeting at the local Google offices in Brussels. Buildroot is a tool that allows users to build embedded Linux systems by cross-compiling all necessary libraries, applications, the cross- compilation toolchain itself, the Linux kernel and other useful components. Buildroot is used by numerous companies and hobbyists, including Google for the Google Fiber devices, by many processor vendors and embedded system makers. It’s simple — you tell Buildroot what you want in your embedded Linux system through a kernel-like "menuconfig" interface, hit "make", and voila! Your embedded Linux system is ready to run!

The Developers Meeting brought together 12 participants from countries all over the globe including Finland, France, the UK and the United States. Over the two day event, participants discussed hot topics and made key decisions for issues that prove difficult to discuss over mailing lists or IRC. We also worked on cleaning up the list of patches waiting to be integrated — a list that has grown significantly with the popularity of the project! Meeting physically not only allowed work to get done during the meeting, but also allowed contributors to get to know each other better.  We believe it will make our interactions online much more efficient in the future.

Join us at http://buildroot.org, or take a look at the detailed report of the meeting to learn more about our progress. Many thanks to our sponsors Google and Mind who made this meetup possible.

By Thomas Petazzoni, Buildroot Org Admin

Eclipse Day at the Googleplex 2012

Tuesday, December 4, 2012




Here at Google, we use Eclipse every day to build our external and internal products, as well as building and releasing Eclipse tools. We are delighted to announce that we will be hosting Eclipse Day at Googleplex on December 12th, 2012. Hosting this event is one way to say “thank you” and contribute back to the developer community.

Eclipse Day is a great opportunity for both Eclipse users and contributors to network and share ideas. This year we have sessions that cover Orion, the Eclipse M2M tools, BIRT, Gerrit, CDT, Dart, WindowBuilder, performance tuning in Eclipse, and the future of ALM. During the one day conference, Eclipse projects and Eclipse-based products created here at Google will also be highlighted.

In previous years some of the most popular sessions have been our Eclipse Ignite talks: 5-minute, 20-slide presentations by attendees sharing what they are doing with Eclipse.

A big thank you to Ian Skerrett and everyone at the Eclipse Foundation for assembling this great event. We are happy to welcome the Eclipse community to our campus and are always looking for ways to make this conference better. Please share your ideas and let us know your thoughts about this year’s program.

Pre-registration, which includes a $40 contribution to the Eclipse Foundation, is required for attendance. You may pre-register until December 11, 2012, 2pm PST.

By Alex Ruiz, Google Engineering Tools

Lenses, Folds, and Traversals: Haskell Meet-up

Wednesday, October 24, 2012

The Google San Francisco office hosted a talk by Edward Kmett called "Lenses, Folds, and Traversals" which was well attended by the local Bay Area Haskell Users group as well as Google employees on Thursday, October 18,  2012. Almost 100 people turned up to hear why the power is in the dot (as explained by Gavin Bierman, Erik Meijer and Wolfram Schulte in their 2002 paper "The essence of data access in Cω: The power is in the dot"). This paper pushed the boundaries of our understanding of how to build data-access features for programming languages that go beyond naıve access via simple APIs) by greatly generalizing member access (e.g. over choice types). Although this paper resorted to the creation of a new language to support innovations in data-access (and concurrency) this talk by Edward showed how generalized member-access could be achieved using just a regular library in Haskell as exemplified by his lens library.

Edward presented a beautifully crafted set of APL-like combinators that allow programmers to navigate through structured data and perform generalized operations for access and modification. The core concept in the library is of a lens which groups together a 'setter' and a 'getter':

data Lens a b = Lens { set :: a -> b -> a
                    , view :: a -> b
                    }

where informally the idea is that a lens give you a way to extract from an object (of type a) some information (of type b) by using the view function and also to let you perform the reverse i.e. using the set function, take an object of type a and a value of type b and return a new object of type a with the sub-information about type b suitably incorporated. The actual definition of lens in Edward's library is different (it is cast in terms of a functor). Lenses are essentially composable functional references. The talk showed how lenses can be composed using the ordinary function composition operator (.) in Haskell. The talk then illustrated a scheme for performing lens-based folds and traversals in a highly composable manner and climaxed with the impossible: the overloading of function application. For the grand finale, Edward explained how lenses are just the functors, foldables, traversals and functions that (hard-core Haskell) people already know how to use.

Here is a specific example which shows the result of computing an expression using Haskell's command-line interpreter:

ghci> over (mapped._2) succ [(1,2),(3,4)]
[(1,3),(3,5)]

Informally, here we see the successor function succ applied to the second element of every structure contained by the top-level structure i.e. 2 is mapped to 3 and 4 is mapped to 5. The over function is used to modify the target of a lens (or all the targets of setters or traversals) with a function. The mapped function is a setter that can be used to map over all the values in a functor. The _2 operation accesses the second field of a tuple.

You can view Edward's slides and an earlier talk on the subject. Alternatively, @PLT_Borat could have just told you that "Costate Comonad Coalgebra is the equivalent of Java's member variable update technology for Haskell".

By Satnam Singh, Google

BARUG Meetup at the Googleplex

Thursday, September 20, 2012


What is R?  R is an open-source, statistical programming language that is increasingly becoming the lingua franca of modern data analysis. R developers have created over 4,000 packages to run in the R environment, including several dozen developed by Googlers. We continue to work with the R community through conferences, meetups like this one, Faculty Research Awards, and the annual Google Summer of Code program, which funded 16 students to work with the R Project this summer.

Last week, Google hosted the Bay Area useR Group (BARUG) at our Mountain View HQ.  Over 130 R users and developers met for pizza, networking, and presentations by Googlers.
This was our third time hosting a BARUG Meetup at Google.  Last year we hosted meetings in both Mountain View and San Francisco.  Last week’s meetup topics included an overview of the integration of R into Google’s engineering systems by Sundar Dorai-Raj (above), exciting new work serializing R to run over Flume by Karl Millar (below left), and tips for better R code by Olivia Lau (below right).
By Olivia Lau and Murray Stokely, Google’s R Intergrouplet

August Penguin 10th annual meeting in Israel

Friday, September 9, 2011

Last month, 300 open source developers gathered in Tel Aviv for the 10th anniversary of August Penguin, the annual open source event in Israel. The event started with a review of activities of Hamakor, an Israeli open source organization that strives to drive open source software in every aspect of our life - in the government, with small-medium business and on the web. The day continued with other open source initiatives, and with prizes for local open source development and innovation, and ended with technical tracks.

Developers from all ages attended the event:

Google provided the event organizers with HTML5 shaped cupcakes, it was a blast!
Speaking of HTML5, there was a very interesting session in the event that talked about cross browser incompatibilities of many of the government websites. It was mentioned that the open source community together with Google will further engage top sites in Israel and promote an open and standardized web.

By Amir Shevat, Google Developer Relations

Melange All Hands in San Francisco

Tuesday, July 19, 2011

Melange, our management tool for the Google Summer of Code and Google Code-in programs, is an open source project many of whose developers are former Google Summer of Code students.

Melange developers gather from around the world four times a year to spend a week working full time on Melange. In May 2011, we held our Melange All-hands (as in All hands on deck) at the Google Office in San Francisco, CA.

We launched the new UI for Melange in late March as part of the release of Melange v2 with a new architecture which is way faster than the previous version. There was a fair amount of positive feedback from our users, the Google Summer of Code community, along with many feature requests. As such, our goal for this All-hands was to implement as many of the high priority requests as possible. For example, we implemented batch mentor invites and made legacy data accessible. In addition, one of our developers worked on the Statistics module which provides various types of statistics of students and mentors participating in the Google Summer of Code program.

The new version of Melange also had one major component missing: a way to create and administer midterm and final evaluations for both mentors and students. This was a vital piece of missing functionality, so we spent a considerable amount of time designing and implementing the pages necessary to create, edit and administer these important evaluations.


We had a dedicated brainstorming session to discuss various design issues and the changes that we wanted to implement. We also decided to switch our datastore to High Replication Datastore on Google App Engine and worked with the Google App Engine team to help us set it up.

Our Javascript guru worked on refactoring a few portions of the Javascript code such as the lists display and the templates which are internally used in Melange to write Javascript modules among other things.

We also fixed a bunch of issues during this All-hands. Some of the issues we fixed are:
  • Issue 1190 - comments that contain no content get posted to student submissions
  • Issue 1191 - disable 'self' notification by default
  • Issue 1209 - error page should show current logged in user and have link
  • Issue 1137 - batch mentor invite
  • Issue 1128 - update README for Mercurial workflow
  • Issue 1162 - style: avoid justifying text in narrow columns
  • Issue 978 - change "GSoC" and "GCI" to not be hardcoded
  • Issue 1104 - make the scope of models more explicitly
With so much work done in a single week, we feel we had quite a productive week! If you are reading this and would like to contribute to Melange, please clone our repository and start contributing. We have t-shirts waiting for you!

By Melange team

Visualization Meetup at the Googleplex

Monday, June 20, 2011


Earlier this month we were excited to host a joint meetup with the Bay Area visualization group and the Bay Area R user group at Google’s headquarters in Mountain View.

Hadley Wickham from Rice University came and gave a talk on Interactive Graphics in R. Earlier in the day we were excited to host him for a Google Tech Talk on Engineering Data Analysis for the many internal Google teams using his ggplot2 software for visualization with R. The videos for both talks are available from YouTube.



You may remember our previous post about Hadley’s visualization work when his Google Summer of Code student was awarded a prestigious statistical computing award for his work with ggplot2.

Thanks to the Open Source Programs Office at Google for hosting this event, the meetup organizers, Zhou Yu, and of course Hadley Wickham.

By Murray Stokely and Zhou Yu, Google Engineers and Analysts

UseR Meetup at Google San Francisco

Friday, February 11, 2011

Earlier this week, Google hosted the Bay Area useR Group at our San Francisco office. Over 40 attendees showed up to hear Dylan Beaudette from UC Davis give a presentation about investigating soil genesis and geography with R (PDF). Dylan has been using R to study and visualize large amounts of soil data and has made his routines available in the aqp: Algorithms for Quantitative Pedology package on CRAN.

Dylan Beaudette explaining his research.

Dylan's research also utilizes a number of Google technologies, such as Google Earth KMZ overlays of soil data and the Google Ngram Viewer for tracking Temporal Trends in Soil Science Jargon. In addition to open source and soil science, there were lively discussions at the meetup about reproducible research and the data sharing problem.

I’d like to thank our speaker, Dylan, all of the attendees, the Bay Area useR organizers who continue to put together interesting talks each month, and the Google Open Source Program Office for hosting the event. We’re looking forward to the R User Conference in England in August and more local Bay Area Meetups in the interim.

By Murray Stokely, Software Engineer, Infrastructure Quantitative Team

Notes from the 2010 LLVM Developers' Meeting

Thursday, December 23, 2010

My name is Lang Hames, and I am a PhD student at the University of Sydney where I research aggressive register allocation techniques. Last year I completed a six month internship with the LLVM team improving their register allocation infrastructure, and last month Google sponsored my attendance at the 2010 LLVM Developers’ Meeting.

I had a fantastic time at the meeting. Californian hospitality always makes me feel right at home, and it was great to see all my friends from previous Dev Meetings and my internship with the LLVM team.

The meeting was huge this year, with over 190 attendees and such a abundance of talks it was impossible to make it around to everything on the day. It's a good thing the entire proceedings are up on the web. The talks this year were impressive and diverse, including introductions to major new LLVM-family projects, new applications leveraging LLVM technology, and targets ranging from GPUs to FPGAs.

A few of my favourite talks:

Doug Gregor, a member of the Clang team at Apple and code owner of the Clang libraries, gave a great talk on "libclang: Thinking Beyond the Compiler.” (PDF) libclang is the Clang compiler's functionality packaged as a library. It lets you parse source, access diagnostics, examine ASTs and even find code completion targets. This raises the really exciting prospect of building new development tools on top of a feature complete front-end. Imagine having syntax highlighting, code-completion and cross-reference all handled by the same parser that's in the compiler. It's difficult to over-state how cool this is, and I say that as an optimization guy (I thought the front end was just there to feed me CFGs). I'd highly recommend checking out a copy of Clang and playing with it. Doug's talk included plenty of code snippets, and I've found reading through them to be a great way to get started.

Craig Silverstein of Google gave a talk on "Implementing Include-what-you-use Using Clang” (PDF). Include-what-you-use is the principle that C/C++ source files should directly #include header files that provide declarations/definitions that they use, rather than relying on transitive #includes. Building on Clang, Craig has developed a tool to analyse C++ code to detect and correct violations of this principle. This looks like a really handy and great example of what you can build on top of libclang.

Howard Hinnant of Apple introduced us to libc++ (PDF), a new C++ standard library built from the ground up with C++0x in mind. It has a lot of cool features, including fast default constructors, minimal memory footprints for default constructed objects, and fast move constructors. Dependence on libstdc++ is no barrier to trying it out: you can happily link your project against both libraries (libc++ uses inline namespaces to avoid confusion over ABI incompatible objects). One feature I thought was particularly neat was the adaptive sort: the sorting algorithms in libc++ automatically recognize partially sorted ranges and optimize their behavior to exploit the partial sorting for better performance. Howard's test cases showed impressive speedups (over 2x in a lot of cases). I'm really looking forward to trying this out in some of my code.

Greg Clayton, also of Apple, introduced LLDB (PDF), a debugger built on Clang and LLVM libraries. This looks incredible and deserves a blog post of its own, but I'll mention a few of my favorite features here. By building on libclang, LLDB is able to parse complex C++ expressions, up to and including multi-line expressions with local variables and control flow. It has been built from scratch to support a multicore, multithreaded world, with per-thread state and runtime control. Symbolic breakpoints allow you to set breakpoints with everything from File and Line to regular expressions (great for breaking on getters, setters, handlers, etc). Finally, following LLVM's design philosophy all this functionality will be available via a C-API, with python bindings provided too. Looks like another excellent base for new developer tools, and I can't wait to see what people do with it.

Other talks I particularly enjoyed included Nadav Rotem's talk (PDF) on using LLVM for C-to-Verilog synthesis (aka building circuits out of C-code). Nadav ran us though some of the optimizations necessary to prepare LLVM IR for efficient hardware synthesis. Xuejun Yang's talk, "Hardening LLVM with Random Testing" (PDF), was also fantastic. Xuejun's team have developed a system for generating expressive, unambiguous C programs with defined meanings which can be used to test compiler correctness. Since March, 2008 they've helped find and fix over 170 bugs in LLVM.

Slides and videos of the talks I mentioned, and many others, are available on the LLVM Dev Meeting 2010 website. I highly encourage you to check them out.

The Dev Meeting doesn't stop at the talks of course. It's an invaluable opportunity to meet and swap ideas with other LLVM developers. I got a chance to meet Jakob Olesen and Andy Trick, who have been doing great things with LLVM's register allocation framework (my PhD research area). I also chatted with some of the Google devs who are using Clang to tackle issues such as include-what-you-use in the Google codebase. Finally I attended “Birds of a Feather” meetings on LLVM optimizations, and on the progress that's been made (and plans for the future) in building Linux with Clang.

Many thanks to Google, Apple, Qualcomm, and the Qualcomm Innovation Center for making such an amazing event possible. I'd also like to add very special thank you to Google for sponsoring me to attend this event. At the end of the day I walked out amazed at what has been achieved in the last year, and how active the LLVM community has been. I look forward to trying out all these new tools for myself, and I can't wait for next year!

By Lang Hames, LLVM Developer

Google Days in the Middle East

Tuesday, December 7, 2010

Chris DiBona, head of the Google Open Source Programs Office, is in the Middle East this week to talk to attendees at G-Egypt and G-Jordan, Google’s first ever Google Days hosted in those countries. The G-days will be held in Cairo between December 8th and 10th for G-Egypt, and in Amman between December 12th and 14th for G-Jordan.

Both events are 3-day conferences, with each day catering to a different audience. Day 1 is for Computer Science Students and Professors, Day 2 is for Software Developers, and Day 3 is for tech entrepreneurs, small businesses, and marketers. Chris will be discussing “Work in Open Source” each day, so there are lots of opportunities for attendees to listen to his talk or introduce themselves.

Registration for G-Egypt and G-Jordan is currently full, but you can discover other events coming up near you on our Google Developer Events Calendar.

By Ellen Ko, Open Source Team

London OS Jam 17: Speeeeed

Wednesday, July 28, 2010

Just over a week ago, we hosted Google London Open Source Jam 17. The event is an opportunity for open source developers to give five minute presentations to their peers, socialise, eat pizza, and drink beer. The topic for this Jam was “Speed” and — unusually for us — many of the talks were on-topic:

Simon Stewart, pondering

Simon Stewart started off by telling us how to measure things: using tools like Firebug and Speed Tracer to break down client-side latency.

Matt Godbolt gave us some tips for making speedy Android apps, and Tim Cox presented a “Rant at Speed” that covered everything from CPU cache latency to the speed of light, all in five short minutes!

Glyn Wintle gave a quick rundown on common exploits: “How to break into a computer — fast”, covering the top five security mistakes made by web developers. You can try out some of these attacks yourself using the Google Gruyère codelab.

Ade Oshineye gave an impromptu (and not entirely serious) plan for “Making it faster.” Mike Mahemoff talked about speeding up web applications with the new shiny features in HTML5, and chatted briefly about the ever-blurring distinction between web applications and web pages. Paul Downey gave us an overview of TiddlyWiki, and TiddlySpace, where he hosted his presentation.

Squirrel

Squirrel gave a talk about Performance Secrets, which — uniquely for a Squirrel presentation — didn’t involve a flipchart.

Matthew Wild told us about Prosody, an XMPP server written in Lua. Apart from praising Lua as a great language, he also showed us how his continuous build generated annotated performance graphs on each commit to the repository.

George Cox proposed a need for making operational changes at speed — new deployments, and so on, while Luca Colantonio discussed his experiences implementing txty.mobi, a cloud-based web application for sending SMS messages via your own Android phone.

Tom Quick talked about the open source stack he’d used to develop GlastoTag, using Redis as a fast, persistent storage layer, and how using Django had helped to speed up their development process.

Jag

Last but not least, OS Jam favourite Jag gave us an overview of some of the performance decisions he’d made while developing Din.

As always we retired to the pub afterwards to continue our discussions. If you’re around London you’re welcome to join us for the next Jam. Join the mailing list or keep an eye out on the Jam site to find out more.

By Malcolm Rowe, Software Engineering Team

Google Summer of Code BoF at USENIX

Monday, July 12, 2010


USENIX is a technical organization that has a lot of community members associated with our open source efforts as well as lots of strong ties to the research community. A couple weeks ago I attended the USENIX Annual Technical Conference (ATC). Googler Dave Presotto was a member of the program committee. ATC is a federated conference that brings together researchers and developers working in a wide variety of focus areas. We love to support the members of this organization in their efforts throughout the year. Among the presentations I enjoyed most were the one on robotic honeybees, another on power usage in smart phones, and really enjoyed the keynote on concurrency from Ivan Sutherland.

We held a Google Summer of Code™ Birds of a Feather (BoF) meetup on Thursday night after the conference reception. We talked about Google Summer of Code over ice cream and beer well into the evening. In all we had about 25 attendees, many of whom hadn’t heard of Google Summer of Code before. It was great to tell some people new to the program about it and also to hear from those who have participated about how its changed their lives. A great time was had by all; we even ended up closing the place down that evening.

Don’t miss the next Google Summer of Code BoF at OSCON in just a couple weeks!

Birds of a Feather at Open Source Bridge

Thursday, June 17, 2010


The second annual Open Source Bridge, held in Portland, Oregon, was a blast. I presented a talk on Foundations, Non-Profits, and Open Source and I participated in some great sessions as well on topics ranging from How to Give a Great Tech Talk (including the 7 Habits of Highly Ineffective Speakers) and a geek choir.

The best part of the conference in my opinion, though, was the Google Summer of Code™ Birds of a Feather (“BoF”) session that we held on Thursday night. I and my fellow Googlers, Ellen Ko and Cat Allman, met some past and present students and mentors and also talked with some enthusiastic students who may be applying next year. There was, of course, the traditional post-BoF gathering at Old Town Pizza, as well. We all had some great conversations, made some new friends and are looking forward to the Google Summer of Code BoF at OSCON on Wednesday July 21st.

Hope to see you there!

A Bridge to Open Source

Thursday, May 27, 2010

Next week, several members of the Open Source Programs office will be in Portland, OR for the second Open Source Bridge conference which takes place over four days, June 1-4.

Carol Smith will be giving a talk called Foundations, Non-profits, and Open Source. Carol explains, “Figuring out whether to become a non-profit or a foundation can be a confusing topic for open source projects, and I hope to illuminate it based on my experience sitting on the Board of Directors for the Metabrainz Foundation.” Carol’s talk is on Wednesday, June 2 at 4:45 PM.

We’ll also be having a Google Summer of Code™ BoF (”Birds of a Feather” session) on Thursday, June 3, from 7 - 8:30 PM. Last year’s BoF had a great turnout and we loved meeting students, mentors and admins from the area. If you are a current, former, or potential Google Summer of Code participant, we’d love to see you and talk about the program!

Open Source Bridge is a volunteer-run conference mostly organized by a cohort of the very active open source community in the general Portland area. This year’s conference has 5 tracks of sessions plus BoFs and a hacker lounge. You can check out the schedule for an overview of all the session topics or learn more about the conference.

London OSJam 0x10

Wednesday, April 14, 2010

Photo credit: Dj Walker-Morgan

On Thursday the 1st of April we held the Google London Open Source Jam 0x10 (that is, the 17th). The Jams are informal meet-ups where people can present 5 minute lightning talks on all things open source-y, as well as network, eat free pizza, and drink free beer. The evenings usually have a theme, and this time it was "Open Source Building Blocks" - though as usual our talks strayed somewhat from this topic!

Our first three talks all hinged around web technologies. Ade Oshineye gave a talk on how simple technologies like HTTP and Atom are being used to create powerful publisher-subscriber models on the web. Dj Walker-Morgan presented Sinatra, a lightweight yet powerful Ruby web framework. Matt Godbolt - in an Open Source Jam scoop - demonstrated Quake II running in a browser, bringing together HTML5 technologies like WebGL and WebSockets.

The next two talks were more about soft skills and open source. Kuldip Reyatt gave a presentation on open source leadership skills - he is trying to bring together publicly-available training material and make it more discoverable. Sam Mbale gave an update on his work trying to bring the benefits of open source to Africa.

Photo Credit: adewale_oshineye

Bill Ray showed us some OpenGL ES demos on Android, and gave a quick run-through on how to set up the Android development environment, which he thinks "puts the pleasure back into programming.”

Douglas Squirrel presented an update on his work helping blind people. He demonstrated his ideas for connecting blind people with technical and other problems with sighted volunteers who can help transcribe screenshots and offer advice.

We were back on topic with Matt Ford's presentation on Raphael - a library for displaying SVG in a browser. He showed us a simple clock app he’d written on the way to the Jam. Next up, Joe Walnes and Neil Dunn did a tag-team presentation on WebSockets and how it could be used to implement a high performance, thin-client, model-view-controller system.

Glyn Wintle made an impassioned plea on behalf of the Open Rights Group for us to write to our MPs about the UK's controversial Digital Economy Bill.

Photo Credit: adewale_oshineye

Finally we ended with Jag demonstrating his amazing DIN digital instrument and how he was experimenting with collaborative music by allowing it to be controlled through an IRC bot, letting the audience join in and manipulate the sound as he played.

This time around there were more talks than we had time available so as usual, we all retired to the pub around the corner to discuss further. Another successful Jam!


More Than Code, It's a Community Too!

Monday, April 5, 2010

Google Summer of Code alums John Britton and Robin Anil at Google's Bangalore office

My name is
John Britton, and in 2008 I was a participant in the Google Summer of Code™ program where I worked on a web based localization server for Gallery. In addition to marking my first commit to an open source project, Google Summer of Code helped steer me down a path of Openness. Since my completion of the program, I've gone on to organize two Open Everything events (Hong Kong and New York) and started a career in Open Education. Thanks Google!

Open source software communities are global, and Google Summer of Code is no exception. I'll be frank, I'm addicted to travel. I've been to 30+ countries in the past three years and have no intention of slowing down. This is a story of the cross between my love of travel and the global reach of the Google Summer of Code community.

In February I took a trip to India, and prior to my departure I sent an email announcing my travel to the Google-SOC-Meetups mailing list. The Meetups mailing list is usually reserved for announcing and planning FLOSS events. In my case, I just wanted some travel recommendations and the possibility of meeting a few Google Summer of Code alums in India. To my surprise the response I received was overwhelmingly positive. Former participants from all around the country (and neighboring countries) invited me with open arms to their cities, campuses, and homes. Unfortunately I didn't have time to visit everyone who offered to meet, but I did get a chance to visit a few.

In Bangalore, I met two fellow Google Summer of Code alums: Robin Anil (2008 & 2009, Apache Mahout) and Rajan Vaish (2009, Open Street Map). They both welcomed me to their city and were happy to share tips on how to get around and what I should do. Both Robin and Rajan are still active contributors to the projects they worked on during Google Summer of Code and were very passionate about sharing. Needless to say, we geeked out quite a bit as we talked about the intricate details of our respective projects. They brought me up to speed on upcoming cultural events like Holi. I shared my recent work at Peer 2 Peer University (P2PU) and got feedback and input on my totally open and free course Mashing Up the Open Web. Robin is now an engineer at Google's Bangalore office working on Google Map Maker. He was kind enough to invite me to the office for a tour, free lunch, and a chance to talk tech with some other Googlers.

I don't know what I was expecting when I sent that email to the Meetups list, but I'm happy I did. I plan to continue meeting Google Summer of Code participants as I travel around the world and hope to welcome fellow participants traveling to New York City. We're a very strong community and I proud to be a part of it.

Editor’s Note: Reminder! The deadline for 2010 Google Summer of Code Student Applications is this Friday, April 9th.

Third Annual LLVM Developers' Meeting

Thursday, January 14, 2010



With new year upon us, I thought I would take a minute to update everyone on the great progress made in 2009 by the LLVM Project. For those not familiar with LLVM project, it's a cross platform complier infrastructure. We had two successful releases of LLVM, our first release of Clang, a compiler front end for various C languages, and we held our third annual Developers' meeting on October 2, 2009. This meeting is an opportunity for both LLVM and Clang developers to have a face to face meeting, exchange ideas, share their experiences and work together on LLVM or Clang.

This Developers' Meeting was the largest to date! We had 170 attendees with a huge range of different academic and company affiliations. The Developers' meeting was structured to have both a general overview about the major LLVM subsystems and also applications of LLVM for various projects. The LLVM subsystems talks included Clang, scalar evolution and loop optimization, the future of the LLVM register allocator, and a tutorial on building a backend for LLVM. We had many talks on applications of LLVM or Clang, such as OpenCL, Unladen Swallow (a Google sponsored project), Rubinius, and so much more! Community members gave a total of 17 technical presentations on LLVM and its applications, and you can view all the slides and videos from the talks on the Developers' Meeting website.

This event is not possible without the support of our sponsors. Google generously helped fund several students and active members of the LLVM community to attend the meeting and present their LLVM-related work. I'd like to briefly summarize the work by some of these developers and students:

Anton Korobeynikov

Anton is a long time developer for the LLVM project, LLVM's project administrator for Google Summer of Code™ (GSoC) and also an LLVM code owner. For his day job, he is a Ph.D student in applied statistics at Saint Petersburg State University, Russia.

Anton presented an invaluable Tutorial on Building a Backend in 24 Hours. His tutorial overviews the various code generation phases, such as SelectionDAG, Register Allocation, and post register allocation. He goes into the different pieces of the backend that one will need to implement such as the target, subtarget, lowering, register set, instruction selection, and the calling convention. If you have ever wanted to write a new backend for LLVM, this is the talk that you will want to see. (Slides, Video)

Bruno Cardoso Lopes

Bruno is a multi-year participant with the GSoC project, active LLVM contributor, and Ph.D. student at University of Campinas, Brazil. This year, he presented Object Code Emission and llvm-mc. His talk gave a high level overview of the LLVM Machine Code Emitter and focused on the emission of object files. The motivation behind direct object code emission is to bypass the external assembler, and speed up compile time.

His work is a part of the LLVM Machine Code (MC) Toolkit project. The project aims to build better tools for dealing with machine code, object file formats, etc. The idea is to generate most of the target specific assemblers and disassemblers from existing LLVM target .td files and to build an infrastructure for reading and writing common object file formats. His talk goes into the details regarding the design, current implementation status, and future directions. (Slides, Video)

Duncan Sands

Duncan is also a long time developer for the LLVM project and an LLVM Code Owner. His presentation was titled Reimplementing llvm-gcc as a gcc plugin. His project, DragonEgg, aims to replace gcc's optimizers and code generators with those in LLVM without modifying gcc at all. This is done using a plugin via mainline gcc's new ability to load additional logic and passes at runtime via a plug-in mechanism.

The plugin is a shared library that is loaded by gcc-4.5 at runtime and is currently under development. If you are interested in helping with this project, please see the DragonEgg website for more information. Take a look at the slides and video from Duncan's presentation to see where you can get started.

Santosh Nagarakatte

Santosh is currently a Ph.D. student at the University of Pennsylvania. He presented SoftBound, one of his current research projects. SoftBound is a compile-time transformation for enforcing spatial safety of C. It works by recording base and bound information for every pointer as disjoint metadata. It is a software-only approach and performs metadata manipulation only when loading or storing pointer values. The advantage of this approach is that it provides spatial safety without requiring changes to C source code. His talk provides a brief description of the formal proof and LLVM implementation. (Slides, Video)

If you are interested in attending one of our future Developers' meetings, please join the LLVM-announce mailing list. Many thanks again to Google's Open Source Programs' Office for making this event possible!

.