Google Code Blog
Thursday, December 21, 2006
Every program, open source or not, has to cope with crashes - it's just an unfortunate fact of life. Software developers hate crashes and dream about eradicating them, but sometimes they're difficult to reproduce. If developers could get reliable and automatic reports when their programs crash, they'd be able to figure out which ones happen most frequently, and more importantly, be able to fix them. Writing a system to handle crash reports is a lot of work though, and writing a crash reporter that works across a variety of hardware configurations and operating systems is even harder. Wouldn't it be great if someone wrote a crash reporter and made it easy to integrate into other projects? Wouldn't it be even better if they made an open-source project out of it?
That's exactly what we're doing here at Google. We like making developers' lives easier, and like you, we hate crashes. Airbag is our codename for an open source project that handles all of the dirty work when it comes to crash reports. Best of all, it works across several platforms - we've got Windows and Mac working now, and Linux support is coming soon.
Not everyone needs to know how the stack works on Intel Macs or how function calls work behind the scenes in Windows, which is why Airbag provides a simple API to catch crashes in your application and upload crash reports to a server. On the server side, we've implemented a library that can process the crash reports by matching them up with debugging symbols, so that users of a program don't need any of these symbols on their computers, and download sizes stay small. The server library is intended to be integrated into any kind of server infrastructure - for example, you could use Apache to collect reports and store them in MySQL. We were excited to hear that the folks at Mozilla are integrating Airbag into Firefox, and hope it can help them and other open source communities continually improve the quality of their products. Check it out!
Wednesday, December 20, 2006
On December 5th, we stopped accepting new sign-ups for the Google SOAP Search API. This change does not impact current users of the SOAP Search API -- you can continue to execute queries, and we have no plans to turn off the service in the future.
While the product was Google's first API and inspired a lot of Google's current developer products, we are no longer devoting resources to increase the capacity of the service, instead focusing our efforts on the AJAX Search API. While the AJAX Search API does not provide server-side access to search results, it has a number of more powerful features, including access to Video, Maps, Blog Search, and News search results.
Joining us for the December 2006 installment of the Open Source Developers @ Google Speaker Series will be three former Google Summer of Code students: Angela Byron (Drupal developer, student in 2005 and program administrator for 2006), and Hannes Papenberg and Laurens Vandeput (both developers for Joomla!). Angie, Hannes and Laurens will share with us some insights into their respective projects and communities, as well as telling us a bit about GSoC from the student perspective. Please feel free to join us Thursday, December 21st at our Corporate Headquarters in Mountain View, CA at 5:00 PM. Doors open at 4:30 PM, and refreshments (including plenty of coffee :) will be served; please plan to sign in at Building 41 reception when you arrive. We hope to see you there!
For those unable to attend the November 2006 session, you can watch Guido van Rossum's talk, "Mondrian: Code Review on the Web," on Google Video. This Thursday's session will also be taped and made available on Google Video, as will all OSS Devs @ Google meetings.
Friday, December 15, 2006
File Downloads - this has been the most-requested feature since we launched project hosting here on Google Code. We knew it would be, but wanted to ship earlier rather than later. We think you'll like what we did... one-click downloads and scriptable uploads, as well as searchable summaries and labels.
Wikis - all projects now have a tightly-integrated wiki appearing under a new Wiki tab. The really cool thing here is that the content is stored in your Subversion repository under the /wiki/ directory. You can edit the pages with your favorite editor and commit them with your favorite Subversion client! Additionally, you can add labels and page summaries to wiki pages for improved searching.
We hope you will enjoy these new features - let us know what you think!
Note: for an example, check out the GWT downloads or the Serf project's status page.
Wednesday, December 13, 2006
Congratulations to Oren Nachman and his bride, Dvorah Frielich, on their nuptials this past weekend in Crawley, Australia!
Tuesday, December 12, 2006
Of course, they started off on the right foot at their launch this past May by opening the user libraries under the Apache 2.0 license. They took another step in the right direction when they moved all their issues into Google Code's issue tracker.
But now they're taking a gigantic leap forward--not only by open-sourcing all of their code, but their entire development process. That includes development discussions, code reviews, future milestones, and the entire codebase.
So, needless to say, I'm really excited about the Google Web Toolkit's grand entrance into the open source world and hope that you'll join me in welcoming them.
Monday, December 11, 2006
Our very own Eric Case recently chatted with Jay Dedman and Ryanne Hodson (videobloggers extraordinaire) about the new version of Blogger currently in beta. Relevant bits for developers include:
- the new Blogger has a fast, reliable, scalable backend
- it serves content dynamically
- it uses Google Accounts, and therefore its API uses
Friday, December 8, 2006
"Once we started profiling
libc, one of initial assumptions appeared to be true - our heap was awfully fragmented, slowing down
"Here comes our steroids part: Google has developed a drop-in malloc replacement, tcmalloc, that is really efficient. Space efficient, cpu efficient, lock efficient. This is probably the most-used (and sophisticated)
libcfunction, that was suffering performance issues that not many people wanted to actually tackle. The description sounded really nice, so we ended up using it for our suffering Squids."
"The results were what we expected - awesome :) Now the nice part is that the library is optimized for multi-threaded applications, doing lots of allocations for small objects without too much of lock contention, and uses spinlocks for large allocations. MySQL exactly fits the definition, so just by using simple drop-in replacement you may achieve increased performance over standard
Domas' blog has further details.
Wednesday, December 6, 2006
We've now got a few more tricks that you can do with KML on Maps:
- View entire photo sets as self-contained KMZ files, as exported by Picasa. We were going to write up how it's done, but Brian's blog post pretty much covers it. Check out his geo-tagged photos of Mallory Cave.
- View KML Overlays. Add your own imagery directly on top of Maps. For example, take the GroundOverlay example from the official KML tutorial and just throw the photo of Mt. Etna onto Google Maps.
- Use your own customized marker icons.
To view a KML or KMZ file on Maps, just go to Google Maps, and instead of searching for a geographical address like 1600 Amphitheatre Parkway, 94043, search for a complete Web address (including the "http://" part) of your KMZ file, like http://kml.lover.googlepages.com/cropcircles.kmz. Need your own web space to upload some files? Try Google Page Creator.
The Maps API blog has further details.
Friday, December 1, 2006
Net Trust is a new approach to security being developed at Indiana University's School of Informatics, with funding from Google's Open Source Program Office and released under the Apache license. It is a trust mechanism, not a security mechanism. Net Trust is designed to undermine fraud and credential subversion that use human engineering (also called pretexting) by building interfaces that make use of humans' natural trust behaviors.
The goal is to leverage social trust for online trust, not to use technological mechanisms to create new modes of trust. Net Trust provides social and human solutions to their respective elements of masquerade attacks and human engineering.
Net Trust is in early development at Google Code and is available in demo mode. It can be downloaded and used, including warning boxes and the interaction experience, though the backend is not yet constructed. Please feel free to play with it and contribute!