Posts from May 2013

BayHac '13: Haskell Hackathon at the Hacker Dojo

Friday, May 31, 2013

Last weekend saw the 2013 edition of BayHac: a two and half day hackathon for Haskell programmers. This year's event was held at Hacker Dojo’s lovely new space in Mountain View, California. Attendance was the highest yet with over 70 people on Saturday alone. Attendees were from every skill levels, from padawan to Jedi master and everything in between.
In addition to the mainstay of hacking on a wide range of projects with the kind assistance of those around you, BayHac '13 also had some more structured events. A three hour Code Kata session had 10 teams of two working on crafting elegant code solutions to a program that evolved over the course of the session. Then the teams shared their solutions and we learned how many different ways one can approach even simple problems.

Two sessions of lightning talks saw 17 presentations on topics as diverse as protein searching, category theory, explaining charts to the blind, music composition, meta programming, and wrapping a new regular expression library.
This year, thanks to a generous sponsorship from Google, BayHac included lunch, which as you can see below, was well received and helped fuel the day's hacking.
By Mark Lentczner, Software Engineer, and BayHac organizer

Open Standard Color Font Fun for Everyone

Wednesday, May 29, 2013

People love using Emoji to communicate—it started in Japan and then spread through Asia and is becoming increasingly popular in the rest of the world. Instead of texting "How about going for a burger and beer at 7pm?", it’s much more fun to say,
To make this possible everywhere, we are releasing an open standard for color fonts and have added support for it to one of the most popular font rendering engines in the world—FreeType.

We want to make color Emoji available in an open and free way anywhere that you use text. Before the release of this new open standard, the use of color glyphs has been limited to systems doing special text processing and inserting images into the text or by using closed proprietary font formats. Both of those approaches have serious limitations. They make it difficult for developers to support color text in their applications and it is impossible for users to change the images used for the characters.

We are releasing four pieces to help developers start adding support to their systems: 
  1. specification for enhancements to the OpenType standard
  2. source changes to the FreeType rendering engine and the Skia 2D graphics library
  3. a tool to embed color glyphs into fonts
  4. three sample color fonts

These are all freely available to download and use from the Color Emoji Font Project site. Further, the changes to FreeType have also been integrated into the main code repository.
While color emoji may be the initial motivation for adding color to fonts, it is not the only reason to do so. Color fonts allow for a huge amount of extra expressive power. How about a font made from color images of fruit or a font that looks like extruded plastic blocks? You don’t have to imagine them -- have a look at the text that starts this blog post, it was produced using the FruityGirl font. You can download this font as well as Funkster from our project site and a prototype emoji font built from the Phantom Open Emoji images. These fonts show just a hint of what is possible.

This new format for storing color glyphs in fonts will allow for more expressive communication in everything you use. We hope that providing this open source release will truly bring a more colorful tomorrow!
Note: What appears to be color fonts in this blog post have been simulated. There is not yet a way to show these in text form until this technology makes its way into the products that you use. The work we have released is the first step in this process. We are working to get all of the other pieces in place.
By Behdad Esfahbod and Stuart Gill, Font and Text Team, Google Internationalization Engineering

Students Announced for Google Summer of Code 2013

Monday, May 27, 2013

Congratulations to the 1,192 students accepted for our 2013 Google Summer of Code! It was tough for the 177 mentoring organizations to choose from the huge number of applications we received - 5999 proposals from 4,144 students - and we want to thank everyone who applied.

Students will now enter the community bonding period where they will get to know their mentors and prepare for the program by reading documentation, hanging out in the IRC channel and familiarizing themselves with their new community before beginning their actual coding in June.

If you are interested in learning more about the 177 organizations that the students will be working with during the summer or important dates, please visit the program website.

We look forward to an exciting and productive summer of coding.

By Carol Smith, Open Source Programs Office

A Change to Google Code Download Service

Monday, May 20, 2013

Project Hosting on Google Code provides a free collaborative development environment for open source projects. Each project comes with its own member controls, Subversion/Mercurial/Git repository, issue tracker, wiki pages, and downloads service.

Downloads were implemented by Project Hosting on Google Code to enable open source projects to make their files available for public download. Unfortunately, downloads have become a source of abuse with a significant increase in incidents recently. Due to this increasing misuse of the service and a desire to keep our community safe and secure, we are deprecating downloads.

Starting today, existing projects that do not have any downloads and all new projects will not have the ability to create downloads. Existing projects with downloads will see no visible changes until January 14, 2014 and will no longer have the ability to create new downloads starting on January 15, 2014.  All existing downloads in these projects will continue to be accessible for the foreseeable future.

If your project is using downloads to host and distribute files and has a need to periodically create new downloads, we recommend you move your downloads to an alternate service like Google Drive before January 15, 2014. If you choose to move your files to Google Drive, check out our help article.

By Google Project Hosting

Google Summer of Code meetups, Episode 8: Lahore, Pakistan

Friday, May 17, 2013

The Google Developer Group (GDG) Lahore hosted their fourth event on the afternoon of April 18th with support from Plan9 (Tech Incubator) and P@SHA. The event had a variety of attendees, from early Computer Science students to soon-to-be graduates, to industry professionals and faculty members from various universities in Lahore, Pakistan.

As part of the event agenda, GDG Lahore hosted a panel about Google Summer of Code where Muhammad Adnan shared his experiences from Google Summer of Code as a both a student and a mentor. Muhammad was a Google Summer of Code student in the 2010 program for phpMyAdmin and a Mentor for RTEMS in Google Summer of Code 2012 and Mentor for Google Code-in 2011 and 2012.

Adnan shared his story about how he first discovered the program through Twitter and ultimately applied for the Google Summer of Code program. He motivated students who were interested in applying for Google Summer of Code and gave them tips on writing their applications. Adnan explained how Google is providing opportunities for student developers to show their skills and how to increase the chances of their proposal being accepted by the mentoring organizations involved in this year’s Google Summer of Code. The session ended with questions from attendees about Google Summer of Code and its many benefits.

Historically, Google Summer of Code hasn’t had very many entries from Pakistan, possibly because many students are not familiar with Google Summer of Code here. The main purpose of this session was to let students know more about the program and encouraging students to apply. GDG Lahore plans to brings a similar session Google Summer of Code in many other universities in Lahore in the coming months.

By Haris Nadeem , GDG Lahore Manager

Go 1.1 is released

Monday, May 13, 2013

Since the release of Go 1.0 in March last year, the "gophers"—a team at Google and hundreds of contributors from the open source community—have been hard at work.

Today we released Go 1.1, a release that includes significant performance improvements, a race detector for finding concurrency bugs, new standard library functionality, and other fixes and refinements.

Go continues to be a thriving open source project. Since Go 1.0, the core received more than 2600 commits from 161 people outside Google.

Check out the announcement blog post for more details.

By Andrew Gerrand, Go Team

Student Proposal deadline for Google Summer of Code hours away

Thursday, May 2, 2013

We’re in the final hours for students interested in this year’s Google Summer of Code to submit their project proposals to mentoring organizations. Students, be sure to submit your proposal to the program site by this Friday, May 3rd at 19:00 UTC (Noon PDT) to be considered for this year’s program.

We receive a lot of great applications and your proposal is what will make you stand out from the rest of the applicants. For tips on writing a quality proposal that will grab the attention of the mentoring organizations check out the student manual written by students, for students.

For more general tips on successful student participation, read the helpful dos and don’ts written by a group of experienced Google Summer of Code administrators, our new user’s guide for the program site, Frequently Asked Questions and timeline. You can also stay up-to-date on all things Google Summer of Code on our Google Open Source blog, mailing lists or on IRC at #gsoc on Freenode.

Don’t miss out on an exciting summer full of open source coding by waiting until the last minute and missing the deadline. All proposals must be submitted before Friday, May 3rd at 19:00 UTC.

By Stephanie Taylor, Google Open Source Programs

Got CFF?

Wednesday, May 1, 2013

A dramatically improved CFF rasterizer for FreeType

In our commitment to the open source community, Google, in cooperation with Adobe and the FreeType project, released the Adobe CFF engine, an advanced CFF rasterizer, into open source for beta test. This paves the way for FreeType-based platforms to provide users with richer and more beautiful reading experiences. The FreeType open source software powers font display on more than a billion devices. It is used for rendering on a variety of platforms including Android, Chrome OS, Linux, iOS, and many versions of Unix.

OpenType, an extension of TrueType, can describe glyph outlines in two ways  TrueType outline format and Compact Font Format (CFF). CFF is a descendant of the PostScript font format developed by Adobe. These formats use different approaches to specifying the glyphs (the images for each character) and the hints (the instructions on how to modify a glyph to look good at certain sizes). CFF fonts are capable of very high quality display but the technology places the burden for this display quality on the text rasterizer instead of on the font as is done in TrueType. The new Adobe CFF engine brings that high quality rasterizer support to FreeType.

Because many display devices have finite resolution limits, displaying text requires balancing many things: making the text readable, ensuring that no characters are too light or too heavy, consistent height and width, all while respecting the original typeface design. The tradeoffs required to make the text look good are more difficult to balance as the size of the text decreases. For languages like Japanese, where there are often many strokes per character, it is even more difficult and great care must be taken to avoid the character turning into an unreadable blob.

Text rasterization produced by the new Adobe CFF engine in FreeType is dramatically more faithful to the typeface design. The improvements include better stem widths and placement, fewer dropouts, dramatic reduction in the ‘blobbiness’ of Chinese, Japanese, and Korean, and more even visual weight. While all of this may sound somewhat technical, the advantages are not, and will benefit technical and non-technical users alike. These improvements lead to more beautiful looking text that is easier to read.

FreeType Native CFF Rasterizer 

FreeType Light Auto Hint Rasterizer

FreeType using the New Adobe CFF Rasterizer

In these examples you can clearly see an improvement in the overall “beauty” of the text when the new Adobe CFF rasterizer is used. The original FreeType CFF rasterizer is used in the first sample and it has very inconsistent blackness with a lot of blobbiness. The sample generated using the original FreeType rasterizer with auto hinting is in the middle and it is better but it lightens the original font too much and makes it faint, plus the individual glyphs have a lot of variation in height. Finally, the last sample generated using the new advanced rasterizer is on the bottom and it produces more even blackness of text, fewer blobs, more even and consistent character heights, and fewer dropouts.

FreeType Native CFF Rasterizer

FreeType Light Auto Hint Rasterizer

FreeType using the New Adobe CFF Rasterizer

The improvement for Latin text is just as striking. The example above shows the quality improvement - still with the original FreeType on top, FreeType with auto hinting in the middle, and the new advanced CFF rasterizer in FreeType on the bottom.

The new Adobe CFF rasterizer is available to test as part of the FreeType release. Those who build applications and platforms using FreeType are encouraged during this beta period to test it out. The rest of you are unfortunately going to have to wait until after the beta test is done and the various platforms using FreeType have fully integrated the changes. We promise it will be worth the wait.

By Stuart Gill and Brian Stell, Internationalization Engineering