Google is a prominent member of the Open Source community. The search engine company contributes to the same with many interesting projects, making available to the public code that many people use for different purposes.
Precisely for this same reason today has launched the Google Open Source web, in which according to the Great G you can find more than 2,000 projects. This page is not the typical open source project website, but it is a place to know more about the relationship of the Mountain View company with this type of project.
For now, we have gone around and we have found nine interesting projects whose code you can download, modify, review and, in short, contribute to improve or complete by downloading your code from GitHub, whose addresses are present in each project.
Prone error, bug detection in Java
Error Prone is a tool created by Google to analyze the code and detect errors in programs written in Java. It is integrated into the language compiler and detects bugs at the time of compilation. It supports plugin verifications for the specific application of the project.
The main difference with respect to the traditional compiler is that while the compiler highlights possible typographical errors, with Error Prone, much more complete information is obtained that helps developers correct faults more quickly. There is even a URL that explains the type of error that you found.
End-To-End, encrypted from Google Chrome
End-To-End is an extension for Chrome whose purpose is to help the user to encrypt, decrypt, digitally sign and verify messages from the browser using the OpenPGP protocol.
We take this opportunity to remind you that Google has already released the Key Transparency code to bring the encryption to everyone in a simple way. With this extension it will surely be even easier.
Material Components for iOS, Material Design for iPhone
Material Components for iOS is a project that seeks to help iOS developers to implement Material Design in this system. It has been developed by a team of engineers and designers of interfaces of Google, forming a group of reliable components when it comes to creating applications for iOS with this design language.
You can learn more about how to apply the design lines of this language in the Material Design Platform Adaptation . Google uses it in almost all its apps for iOS.
Oppia, intended for educational activities
Oppia is a tool designed to share interactive educational activities. What this program wants is to help facilitate collaboration between work groups when creating interactive activities online.
Google uses Oppia on a recurring basis, usually when creating activities for online courses, sales training and question and answer systems.
Zopfli, a good (although not very fast) compression algorithm
When we talked about Microsoft Edge adopting Brotli as a compression algorithm, we said that Zopfli was his successor. Its main characteristic with respect to other similar projects was, precisely, to be open source.
This algorithm achieves a higher compression density, although it costs more time to compress than others. In this way the available space can be optimized better, faster data transmissions and loading times of smaller web pages can be achieved.
MOE, synchronization of source code repositories and much more
MOE (Make Open Easy) is a system to synchronize, translate and debug source code repositories. Often a project needs to exist in two forms, which can be due to different causes. Using MOE it will be much easier to keep the two repositories without their data crossing.
Google uses MOE to release sources from hundreds of internal projects to its repositories on GitHub and others. Use these tools to extract private or internal information from sources, as well as to facilitate importing and implimenting changes to Google’s internal repository.
TensorFlow, IA for research projects
TensorFlow is an open source library for numerical computation through data flow graphics. The nodes in the graph represent mathematical operations, while the edges represent arrays of multidimensional data that communicate with each other.
TensorFlow was originally developed by researchers and engineers working in the Google Brain Team, and we already commented that it was able to describe what was happening in an image with 94% accuracy.
FontDiff, directed to the typographical sources
FontDiff is a utility to test sources. When you modify one, either TrueType or OpenType, the program generates a PDF that shows the typeface before and after the change. With this PDF you can review the changes more easily, and detect errors caused by them.
For each line that appears in a sample of text, the tool generates two images in high resolution : in one the text with the original source is seen, and in the other with the modified source. If there is any difference between these two images, it is highlighted in the color PDF.
Crouton, chroot for Chromium OS
Crouton is a way to bring chroot to Chrome OS. It is designed for anyone who wants to run Linux pure and simple from a Chromium OS device, and for someone who does not care much about physical security.
For those who do not know what chroot is, we can say that it is like a kind of virtual machine: they work in a kind of “virtual” operating system, they have a separate file system and their binary system is not that of the host operating system.
Now, we are not running a second system, but use the principal to run. This means that there will be no performance problems, since everything works natively.