<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0cFSHY7eSp7ImA9WxNUFEo.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883</id><updated>2009-11-05T17:30:19.801-08:00</updated><title type="text">Google Open Source Blog</title><subtitle type="html">News about Google's Open Source projects and programs.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://google-opensource.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>A Googler</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>281</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/GoogleOpenSourceBlog" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CEcFRng9cCp7ImA9WxNUE0U.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-926463678034569826</id><published>2009-11-04T16:31:00.000-08:00</published><updated>2009-11-04T16:46:57.668-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T16:46:57.668-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="accessibility" /><category scheme="http://www.blogger.com/atom/ns#" term="london os jam" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><title>London Open Source Jam 14</title><content type="html">We held the &lt;a href="http://osjam.appspot.com/jam/"&gt;14th&lt;/a&gt; Google London Open Source Jam at our Victoria HQ on September 24th. The topic this time was "Video and Sound", and our Jammers had some real treats to share.&lt;br /&gt;&lt;br /&gt;Steven Goodwin told us how his open source &lt;a href="http://www.sgxengine.com/"&gt;SGX 3D graphics engine&lt;/a&gt; deals with three key problems of other computer game engines. On a similar theme, Themis Bourdenas discussed the &lt;a href="http://www.doc.ic.ac.uk/~tbourden/vine/"&gt;vine engine&lt;/a&gt;, a modular game engine for 2d and 3d games.&lt;br /&gt;&lt;br /&gt;Borys Musielak presented &lt;a href="http://filmaster.com/"&gt;Filmaster&lt;/a&gt;, an open source film recommendation engine. Neil Harris told us about an attempt by the &lt;a href="http://www.kendra.org.uk/"&gt;Kendra Initiative&lt;/a&gt; to foster a common meta data format for content discovery on the semantic web.&lt;br /&gt;&lt;br /&gt;In an Open Source Jam first, Jagannathan gave a performance of his &lt;a href="http://code.google.com/p/din/"&gt;Din&lt;/a&gt; software musical instrument. Din is designed for playing live Indian music, is based on Bezier curves and really has to be heard to be fully appreciated.&lt;br /&gt;&lt;br /&gt;Sam Mbale gave us an update on his projects to help Africans build online communities using open source. &lt;a href="http://softwareas.com/"&gt;Mike Mahemoff&lt;/a&gt; discussed some web tools frameworks for intranets, bookmarklets and trails in &lt;a href="http://scrumptious.tv/"&gt;Scrumptious&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The UK government has plans to introduce a law to allow content-owners to force ISPs to disconnect the internet connection of users suspected of file sharing, without any proof. Glyn Wintel gave us an overview of how the proposed law will affect us, how the &lt;a href="http://www.openrightsgroup.org/"&gt;Open Rights Group&lt;/a&gt; is campaigning against it, and how we can help.&lt;br /&gt;&lt;br /&gt;Douglas Squirrel talked about the difficulty blind people have in finding information on websites, and presented &lt;a href="http://blindpages.com/"&gt;BlindPages.com&lt;/a&gt; - a new project to reformat the web in a screen-reader friendly way. He also demoed a prototype telephone interface to the service.&lt;br /&gt;&lt;br /&gt;Much pizza was eaten and free beer drunk, and we all ended up in the pub next door to continue our discussions. A big thank you to all our speakers and attendees, and we hope to see you at the next Jam!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Matt Godbolt, Mobile Engineering&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-926463678034569826?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=ZBr7xqycxD8:AbeYTNljWM8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=ZBr7xqycxD8:AbeYTNljWM8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=ZBr7xqycxD8:AbeYTNljWM8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/ZBr7xqycxD8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/926463678034569826/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=926463678034569826" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/926463678034569826?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/926463678034569826?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/ZBr7xqycxD8/london-open-source-jam-14.html" title="London Open Source Jam 14" /><author><name>Cat Allman</name><uri>http://www.blogger.com/profile/03328856688494884083</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09375904300230216223" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/11/london-open-source-jam-14.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cFSHY_eSp7ImA9WxNUFEo.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-185001929417676546</id><published>2009-10-30T11:32:00.000-07:00</published><updated>2009-11-05T17:30:19.841-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-05T17:30:19.841-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc2009" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="mentoring organizations" /><title>Google Summer of Code Mentor Summit 2009</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S5_xMiIF4Sc/SusxsaWV2iI/AAAAAAAAAWU/rS3WdGqMgfM/s1600-h/EveryonePhotoWarthog.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_S5_xMiIF4Sc/SusxsaWV2iI/AAAAAAAAAWU/rS3WdGqMgfM/s400/EveryonePhotoWarthog.jpg" alt="" id="BLOGGER_PHOTO_ID_5398463217390705186" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Photo Credit: &lt;a href="http://gallery.eaglescrag.net/v/Conferences/GSoC-MentorSummit2009/"&gt;John 'Warthog9' Hawley&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This past weekend, approximately 250 Open Source developers from around the world gathered at Google's headquarters in Mountain View, CA for the fourth &lt;a title="Google Summer of Code™ Mentor Summit" href="http://gsoc-wiki.osuosl.org/index.php/2009" id="ap6a"&gt;Google Summer of Code™ Mentor Summit&lt;/a&gt;.  These developers who mentored students in this year's &lt;i&gt;&lt;a title="Google Summer of Code" href="http://code.google.com/soc/" id="f7b7"&gt;Google Summer of Code&lt;/a&gt;&lt;/i&gt; program gathered "&lt;a title="unconference" href="http://en.wikipedia.org/wiki/Unconference" id="wd-."&gt;unconference&lt;/a&gt;" style to discuss ways to improve the program, share their experiences, and learn about each other's projects.&lt;br /&gt;&lt;br /&gt;One of the recurring comments about what makes the Mentor Summit special was that it gathers developers from a diverse range of projects (all &lt;a title="150 organizations" href="http://socghop.appspot.com/program/accepted_orgs/google/gsoc2009" id="td7n"&gt;150 organizations&lt;/a&gt; participating in this year's &lt;i&gt;Google Summer of Code&lt;/i&gt; were invited to send two delegates).  This allowed for a cross pollination of ideas that isn't usually found at conferences dedicated to one specific platform or language.  In addition, the summit was an opportunity for developers who usually collaborate online to meet face to face.  In fact, some of our attendees met colleagues they had been working with for several years in person for the first time at the summit!&lt;br /&gt;&lt;br /&gt;Most of all, the summit was a great place to meet like minded Open Source developers who are passionate about bringing in new contributors to their communities.  Check out &lt;a title="photos" href="http://gsoc-wiki.osuosl.org/index.php/2009#Photos" id="g.f3"&gt;photos&lt;/a&gt; from the event or read through the &lt;a title="session notes" href="http://gsoc-wiki.osuosl.org/index.php/Session_Notes_2009" id="vuyq"&gt;session notes&lt;/a&gt; to find out more about what happened at this year's summit.&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;&lt;br /&gt;by Ellen Ko, Open Source Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-185001929417676546?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=I18OmcuPGEo:IUCRB_OD_NI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=I18OmcuPGEo:IUCRB_OD_NI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=I18OmcuPGEo:IUCRB_OD_NI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/I18OmcuPGEo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/185001929417676546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=185001929417676546" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/185001929417676546?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/185001929417676546?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/I18OmcuPGEo/google-summer-of-code-mentor-summit.html" title="Google Summer of Code Mentor Summit 2009" /><author><name>Ellen Ko</name><uri>http://www.blogger.com/profile/01259694314067375269</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04397124090885274713" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_S5_xMiIF4Sc/SusxsaWV2iI/AAAAAAAAAWU/rS3WdGqMgfM/s72-c/EveryonePhotoWarthog.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/google-summer-of-code-mentor-summit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEFQ3szfyp7ImA9WxNVE04.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-1792775441427691447</id><published>2009-10-23T13:52:00.000-07:00</published><updated>2009-10-23T14:16:52.587-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-23T14:16:52.587-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="Wave" /><title>Fall at the OSPO</title><content type="html">The leaves are turning here in Mountain View, but they are not the only ones blazing away.  It's a busy time of year for open source for Google, with lots of talks and events going on.&lt;br /&gt;&lt;br /&gt;Recently:&lt;br /&gt;- &lt;a href="http://www.red-bean.com/sussman/"&gt;Ben Collins-Sussman&lt;/a&gt; and &lt;a href="http://www.red-bean.com/fitz/"&gt;Brian (Fitz) Fitzpatrick&lt;/a&gt; gave their "Myth of the Genius Programmer" talk as part of the Opening sessions at &lt;a href="http://www.acm.uiuc.edu/conference/2009/index.html"&gt;"Reflections / Projections", the 15th ACM@UIUC Student Computing Conference&lt;/a&gt; at the University of Illinois Urbana-Champaign.&lt;br /&gt;&lt;br /&gt;- They were joined by Googler and Python maintainer &lt;a href="http://www.acm.uiuc.edu/conference/2009/speakers/martelli.html"&gt;Alex Martelli&lt;/a&gt;, who spoke on "Python and the Programmer". &lt;br /&gt;&lt;br /&gt;- &lt;a href="en.wikipedia.org/wiki/Chris_DiBona"&gt;Chris DiBona&lt;/a&gt;, head of the Open Source Programs Office at Google gave a keynote at &lt;a href="http://www.astricon.net/confKeynote.aspx"&gt;AstriCon&lt;/a&gt; in Glendale, Arizona.&lt;br /&gt;&lt;br /&gt;Currently:&lt;br /&gt;- Earlier this week &lt;a href="http://www.hawthornlandings.org/"&gt;Leslie Hawthorn&lt;/a&gt;, manager of the &lt;a href="http://code.google.com/soc/"&gt;Google Summer of Code&lt;/a&gt; program, was part of the amazing team that completed a new "Manual on GSoC Mentoring" in 2, count them, 2 DAYS, finishing up late last night.  You will hear more about this feat in a later post after the...&lt;br /&gt;&lt;br /&gt;- Google Summer of Code Mentor Summit 2009, being held in Mountain View this weekend, October 24th and 25th.  This invitation-only gathering of mentors from each of the &lt;a href="http://socghop.appspot.com/program/accepted_orgs/google/gsoc2009"&gt;participating mentoring organizations&lt;/a&gt; in this year's GSoC gives the projects a chance to come together to compare notes on the mentoring process and cross-pollinate their projects.  A good time promises to be had by all, and a full report will be forthcoming.&lt;br /&gt;&lt;br /&gt;Coming up:&lt;br /&gt;- &lt;a href="http://www.gollygee.com/weblogs/jblocksom/"&gt;Jonathan Blocksom&lt;/a&gt; will be speaking on &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; and the All For Good project&lt;a href="http://www.allforgood.org/"&gt;&lt;/a&gt; at the DC edition of &lt;a href="http://stackoverflow.carsonified.com/"&gt;Stack Overflow Dev Days&lt;/a&gt;, October 26th.&lt;br /&gt;&lt;br /&gt;- On October 4th the &lt;a href="http://www.usenix.org/events/lisa09/tech/"&gt;LISA Conference&lt;/a&gt; in Baltimore, Maryland will feature a talk by &lt;a href="http://www.usenix.org/events/lisa09/tech/techspeakers.html#berlin"&gt;Daniel Berlin&lt;/a&gt; and &lt;a href="http://www.usenix.org/events/lisa09/tech/techspeakers.html#gregorio"&gt;Joe Gregorio&lt;/a&gt; on the &lt;a href="http://www.waveprotocol.org/"&gt;Google Wave Federation Protocol&lt;/a&gt;, the underlying open network protocol for sharing waves between wave providers.  Interested attendees of LISA will be able to sign up for a developers &lt;a href="http://googlewavedev.blogspot.com/2009/09/what-happened-in-wave-sandbox.html"&gt;Wave Sandbox Account&lt;/a&gt;.  They will also have a chance to win Googley prizes at the Google Birds of a Feather session the next evening, hosted by &lt;a href="http://en.oreilly.com/oscon2009/public/schedule/speaker/27949"&gt;Cat Allman&lt;/a&gt; and &lt;a href="http://www.usenix.org/events/lisa09/training/tutonefile.html#t5"&gt;Tom Limoncelli&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Cat Allman, Open Source Programs&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-1792775441427691447?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=tSD0nQSqfxc:VX0HbPV0wwA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=tSD0nQSqfxc:VX0HbPV0wwA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=tSD0nQSqfxc:VX0HbPV0wwA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/tSD0nQSqfxc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/1792775441427691447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=1792775441427691447" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1792775441427691447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1792775441427691447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/tSD0nQSqfxc/fall-at-ospo.html" title="Fall at the OSPO" /><author><name>Cat Allman</name><uri>http://www.blogger.com/profile/03328856688494884083</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09375904300230216223" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/fall-at-ospo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUDQH08cSp7ImA9WxNVEEU.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-6228266558936265402</id><published>2009-10-20T16:11:00.000-07:00</published><updated>2009-10-20T16:11:11.379-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-20T16:11:11.379-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="accessibility" /><category scheme="http://www.blogger.com/atom/ns#" term="talkback" /><category scheme="http://www.blogger.com/atom/ns#" term="eyes-free" /><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>TalkBack: An Open Source Screenreader For Android</title><content type="html">Earlier this year, we blogged about project  &lt;a href="http://google-opensource.blogspot.com/2009/04/announcing-eyes-free-shell-for-android.html" target="_blank"&gt;Eyes-Free&lt;/a&gt; — a collection of Android applications that enable efficient eyes-free interaction with your mobile phone. Since then, one of the questions we have received most often is about a complete access API to enable general purpose adaptive technologies such as screenreaders.&lt;br /&gt;&lt;br /&gt;We are happy to announce the first version of such an API as part of the latest Android release (Donut). This new API is now available within the &lt;a href="http://developer.android.com/sdk/android-1.6-highlights.html" target="_blank"&gt;Android 1.6 SDK&lt;/a&gt; , and we welcome developer feedback. The Android Access framework generates &lt;a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html" target="blank"&gt;android.view.accessibility.AccessibilityEvent&lt;/a&gt; in response to user interaction events; the event payload contains additional details about the event, e.g., the user interface control that received focus. This access framework enables the creation of general purpose screenreading applications that make all of Android's user interface, as well as native Android applications built with standard Android widgets usable without looking at the screen.&lt;br /&gt;&lt;br /&gt;You can see this API in use within our Open Source Android screenreader &lt;a href="http://eyes-free.googlecode.com/svn/trunk/TalkBack/" target="_blank"&gt;TalkBack&lt;/a&gt;. With TalkBack installed, standard Android user interface elements such as &lt;b&gt;ListView&lt;/b&gt; produce spoken feedback during user interaction. Applications &lt;a href="http://eyes-free.googlecode.com/svn/trunk/SoundBack/" target="_blank"&gt;SoundBack&lt;/a&gt; (for producing non-spoken auditory feedback) and &lt;a href="http://eyes-free.googlecode.com/svn/trunk/KickBack/" target="_blank"&gt;KickBack&lt;/a&gt; (for producing haptic feedback) generate additional augmentative output and demonstrate how multiple access applications can be active simultaneously.&lt;br /&gt;&lt;h3&gt;What This  Means For Developers &lt;/h3&gt;If you are interested in developing innovative access solutions on Android and have been eagerly waiting for our access APIs, the Donut SDK  contains what you have been waiting for — including a  set of free voices for English (US and UK), French, Italian, German and Spanish. You can use TalkBack, SoundBack and KickBack  as a  starting point for designing  your own access innovations.&lt;br /&gt;&lt;br /&gt;If you are an Android developer interested in making your applications more widely usable, you can use TalkBack and friends to quickly verify whether your applications remain usable when not looking at the screen. In this context, here are a few coding tips to ensure that your applications work out of the box with these tools: &lt;p&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt; Ensure that all visually drawn UI  controls have &lt;a href="http://developer.android.com/reference/android/view/View.html#attr_android:contentDescription" target="blank"&gt;meaningful textual labels&lt;/a&gt;. &lt;/li&gt;&lt;li&gt; Ensure that users can navigate to all controls in your application using the trackball. &lt;/li&gt;&lt;li&gt; Ensure that navigating controls in your application with the trackball results in a meaningful traversal order.  &lt;/li&gt;&lt;/ol&gt;  &lt;h3&gt;What This Means For End Users &lt;/h3&gt;End-users of Android 1.6 (Donut) can enable TalkBack, SoundBack and KickBack via the &lt;b&gt;Accessibility&lt;/b&gt; section of the &lt;b&gt;Settings&lt;/b&gt; menu. You need to do this only once i.e., once enabled, these access applications remain active across restarts. Note that depending on your Android device, you may need to install these applications from the Android Market; we will post videos that demonstrate step-by-step instructions for specific Android devices in the &lt;a href="http://www.youtube.com/user/eyesfreeandroid" target="_blank"&gt;Eyes-Free channel on YouTube&lt;/a&gt;.&lt;br /&gt;&lt;h3&gt;Providing Feedback &lt;/h3&gt;     We (&lt;a href="http://emacspeak.sf.net/raman" target="_blank"&gt;T. V. Raman&lt;/a&gt;, &lt;a href="http://www.clcworld.net/" target="_blank"&gt;Charles L Chen&lt;/a&gt;, and &lt;a href="http://svetoslavganov.blogspot.com/" target="blank"&gt;Svetoslav Ganov&lt;/a&gt;) will be continuously improving the underlying APIs and access tools, and we look forward to your questions and feedback on the  &lt;a href="http://groups.google.com/group/android-developers" target="_blank"&gt;Android Developers Group&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Charles Chen and Svetoslav Ganov, Software Engineering Team and T.V. Raman, Research Scientist&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-6228266558936265402?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=EHIKRFPpBU4:sUGVkZDizl8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=EHIKRFPpBU4:sUGVkZDizl8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=EHIKRFPpBU4:sUGVkZDizl8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/EHIKRFPpBU4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/6228266558936265402/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=6228266558936265402" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6228266558936265402?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6228266558936265402?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/EHIKRFPpBU4/talkback-open-source-screenreader-for.html" title="TalkBack: An Open Source Screenreader For Android" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/talkback-open-source-screenreader-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AGQXs4fyp7ImA9WxNWF0w.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-1867584480958143933</id><published>2009-10-16T12:02:00.000-07:00</published><updated>2009-10-16T12:02:00.537-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T12:02:00.537-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="unconference" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><title>Boldly Talking Python in Boulder</title><content type="html">On Saturday, October 10, the &lt;a href="http://wiki.python.org/moin/FrontRangePythoneers" target="blank"&gt;Front Range Pythoneers&lt;/a&gt; had a Python "&lt;a href="http://en.wikipedia.org/wiki/Unconference" target="blank"&gt;unconference&lt;/a&gt;" at the Google facilities in &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=boulder+colorado&amp;amp;sll=37.422125,-122.084466&amp;amp;sspn=0.013718,0.030255&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Boulder,+Colorado&amp;amp;z=12&amp;amp;iwloc=A" target="blank"&gt;Boulder, Colorado, USA&lt;/a&gt;.   An "Unconference" is a conference organized around the principles of&lt;a href="http://en.wikipedia.org/wiki/Open_Space_Technology" target="blank"&gt;open space technologies&lt;/a&gt;, which tries to provide many of the benefits of traditional conferences without the associated ceremony. We still got to enjoy some delicious pizza, though.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fxRR_bT3LgA/StecssCeUwI/AAAAAAAACB8/JsfrlLKQuU4/s1600-h/openspace.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fxRR_bT3LgA/StecssCeUwI/AAAAAAAACB8/JsfrlLKQuU4/s400/openspace.jpg" alt="" id="BLOGGER_PHOTO_ID_5392951370349171458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;Introducing the Pycon Boulder Attendees to Principles of Open Space&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Photo Credit: Matt Boersma&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;It was unseasonably snowy and cold Saturday morning, but in spite of the weather, almost everybody that signed up in advance was there, along with a few last-minute registrants. We had nearly 40 attendees join us for 15+ sessions, plus the always loved "hallway track."  Many thanks to the three Googlers who came out to shepherd our group and facilitate the meeting.&lt;br /&gt;&lt;br /&gt;You can find more information about the event and sessions on our &lt;a href="http://wiki.python.org/moin/FrontRangePythoneersUc09" target="blank"&gt;wiki&lt;/a&gt;, &lt;a href="http://twitter.com/#search?q=%23fruncon09" target="blank"&gt;Tweets about the event&lt;/a&gt; and this great &lt;a href="http://uche.posterous.com/5470801" target="blank"&gt;post-conference write up&lt;/a&gt;. You can also check out some more &lt;a href="http://www.meetup.com/frpythoneers/photos/#11163058" target="blank"&gt;photos&lt;/a&gt; of the participants and our scheduling process. We discussed the following topics, among others:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Intro to Python&lt;/li&gt;&lt;li&gt;&lt;a title="ctypes" href="http://python.net/crew/theller/ctypes/" id="vf9d"&gt;ctypes&lt;/a&gt; tips &amp;amp; tricks&lt;/li&gt;&lt;li&gt;&lt;a title="Python extensions" href="http://www.python.org/doc/2.5.2/ext/ext.html" id="bt_v"&gt;Python extensions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="matplotlib" href="http://matplotlib.sourceforge.net/" id="iu4g"&gt;matplotlib&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Web development frameworks, including &lt;a title="Django" href="http://www.djangoproject.com/" id="ad2x"&gt;Django&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Database access&lt;/li&gt;&lt;li&gt;&lt;a title="Concurrency" href="http://en.wikipedia.org/wiki/Concurrency_%28computer_science%29" id="pxpu"&gt;Concurrency&lt;/a&gt; &amp;amp; pre-emptive multithreading&lt;/li&gt;&lt;li&gt;Event-based/actor development (e.g., &lt;a title="(Twisted" href="http://twistedmatrix.com/trac/" id="ii1l"&gt;Twisted&lt;/a&gt; &amp;amp; &lt;a title="Kamaelia" href="http://www.kamaelia.org/Home" id="j21f"&gt;Kamaelia&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Cooperative multithreading (stackless/greenlets)&lt;/li&gt;&lt;li&gt;&lt;a title="pyprocessing" href="http://pyprocessing.berlios.de/" id="v:ou"&gt;pyprocessing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Game development with &lt;a title="Pyglet" href="http://www.pyglet.org/" id="t0ep"&gt;Pyglet&lt;/a&gt;/&lt;a title="OpenGL" href="http://www.pyglet.org/" id="m-g7"&gt;OpenGL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Jython" href="http://www.jython.org/" id="xp8c"&gt;Jython&lt;/a&gt;&lt;/li&gt;&lt;li&gt;RPC using Twisted/&lt;a title="Foolscap" href="http://twistedmatrix.com/trac/wiki/FoolsCap" id="l8vu"&gt;Foolscap&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Desktop Application Development (&lt;a title="PyQT" href="http://wiki.python.org/moin/PyQt" id="u_ir"&gt;PyQT&lt;/a&gt;/&lt;a title="QT" href="http://en.wikipedia.org/wiki/Qt_%28toolkit%29" id="mzlc"&gt;QT&lt;/a&gt;, &lt;a title="wxWidgets" href="http://www.wxwidgets.org/" id="kp_1"&gt;wxWidgets&lt;/a&gt;, &lt;a title="GTK" href="http://www.gtk.org/" id="xho_"&gt;GTK&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a title="IPython" href="http://ipython.scipy.org/" id="l0d9"&gt;IPython&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Google's office decoration contest, "Pimp My Cube"&lt;/li&gt;&lt;/ul&gt;The best surprise of the event? &lt;a href="http://en.wikipedia.org/wiki/Bruce_Eckel" target="blank"&gt;Bruce Eckel&lt;/a&gt;, the author of &lt;a href="http://en.wikipedia.org/wiki/Thinking_in_Java" target="blank"&gt;Thinking in Java&lt;/a&gt;, was among the participants. Thanks again to Google for hosting the unconference; it worked really well for our purposes.  The Google Boulder facility is gorgeous.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Greg Holling, Front Range Pythoneers&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-1867584480958143933?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=jiPSfbVx9ps:nZmbTcTKm94:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=jiPSfbVx9ps:nZmbTcTKm94:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=jiPSfbVx9ps:nZmbTcTKm94:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/jiPSfbVx9ps" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/1867584480958143933/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=1867584480958143933" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1867584480958143933?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1867584480958143933?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/jiPSfbVx9ps/boldly-talking-python-in-boulder.html" title="Boldly Talking Python in Boulder" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fxRR_bT3LgA/StecssCeUwI/AAAAAAAACB8/JsfrlLKQuU4/s72-c/openspace.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/boldly-talking-python-in-boulder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CSHkzeip7ImA9WxNWF00.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-5224381214946164420</id><published>2009-10-15T14:40:00.000-07:00</published><updated>2009-10-16T08:44:29.782-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T08:44:29.782-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="stressapptest" /><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>Fighting Bad Memories: The Stressful Application Test</title><content type="html">We've just released Stressful Application Test (or &lt;a href="http://code.google.com/p/stressapptest" target="_blank"&gt;stressapptest&lt;/a&gt;), a hardware test used here at Google to test a large number of components in a machine. The test tries to maximize random traffic to memory from processor and disks with the intent of creating a realistic high load situation. The &lt;a href="http://code.google.com/p/stressapptest/source/checkout" target="_blank"&gt;source code&lt;/a&gt; is available under the &lt;a href="http://www.opensource.org/licenses/apache2.0.php" target="_blank"&gt;Apache license&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;stressapptest may be used for various purposes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Stress test for machines.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Hardware qualification and debugging.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Memory interface test.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Disk testing.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/SteY2IwRVqI/AAAAAAAACB0/P85d02TUibs/s1600-h/stressappteam.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/SteY2IwRVqI/AAAAAAAACB0/P85d02TUibs/s400/stressappteam.jpeg" alt="" id="BLOGGER_PHOTO_ID_5392947134629762722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;The stressapptest team (from left to right): Matthew Blecker, John Huang, Raphael Menderico, Nick Sanders, John Hawley and James Vera&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Photo credit: Taral Joglekar&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;stressapptest is a user space test, primarily composed of threads doing memory copies and direct I/O disk read/write. Since many hardware issues reproduce infrequently, or only under corner cases, the idea behind the test is that by maximizing bus and memory traffic, the number of transactions is increased, and therefore the probability of failing a transaction is increased. It loads the memory with specially-designed patterns that cause the signal lines to rapidly switch between 1 and 0, drawing the maximum amount of power and cause maximal noise on the nearby voltage rails. Noise on voltage rails and coupling with other nearby lines is likely to cause signaling problems on marginal lines. Also, given a probability of any signal level transition failing, these patterns have the most memory transitions per period of time, and are thus more likely to exhibit a failure.&lt;br /&gt;&lt;br /&gt;This test was designed to test all memory available on a machine, which is not guaranteed with the execution of a CPU-intensive application (for instance, compiling the kernel on multiple threads). Moreover, it is focused on testing the memory interface and connections, not the memory internally, like memtest86. As a consequence, Stressful Application Test will detect errors not detected by regular memory tests or extended executions. A comparison with some other memory reliability tests showed that about 20% of the &lt;a href="http://en.wikipedia.org/wiki/Dimm" target="_blank"&gt;DIMM&lt;/a&gt;-related failures detected on the machines tested were only detected by Stressful Application Test, and it was capable of reporting 70% of all DIMM errors detected by all tests.&lt;br /&gt;&lt;br /&gt;We hope this software will be useful to system administrators who need to diagnose and repair DIMM or other components. We look forward to your questions and feedback in our &lt;a href="http://groups.google.com/group/stressapptest-discuss" target="_blank"&gt;discussion group&lt;/a&gt;. Happy hacking and may your testing be less stressful!&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Raphael Menderico, Software Engineering in Test Intern, Platforms Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-5224381214946164420?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=J7Bzv6i1jOc:UnvbRWRTs7E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=J7Bzv6i1jOc:UnvbRWRTs7E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=J7Bzv6i1jOc:UnvbRWRTs7E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/J7Bzv6i1jOc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/5224381214946164420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=5224381214946164420" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5224381214946164420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5224381214946164420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/J7Bzv6i1jOc/fighting-bad-memories-stressful.html" title="Fighting Bad Memories: The Stressful Application Test" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/SteY2IwRVqI/AAAAAAAACB0/P85d02TUibs/s72-c/stressappteam.jpeg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/fighting-bad-memories-stressful.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IMR3o4eip7ImA9WxNWFEo.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-5202587917622740062</id><published>2009-10-12T13:02:00.000-07:00</published><updated>2009-10-13T16:13:06.432-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T16:13:06.432-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><category scheme="http://www.blogger.com/atom/ns#" term="thread weaver" /><title>Testing Race Conditions in Java</title><content type="html">Can you spot the bug in the following piece of Java code?&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; background: #f2f2f2;"&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="gray"&gt;/** Maintains a list of names. */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="brown"&gt;public class&lt;/font&gt; &lt;font color="navy"&gt;NameManager&lt;/font&gt;&lt;/b&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;font color="brown"&gt;private&lt;/font&gt;&lt;/b&gt; List&amp;lt;String&amp;gt; names = &lt;b&gt;&lt;font color="brown"&gt;new&lt;/font&gt;&lt;/b&gt; ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color="gray"&gt;&lt;i&gt;/** Stores a new list of names. This method is threadsafe. */&lt;/i&gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;font color="brown"&gt;&lt;b&gt;public&lt;/b&gt; void&lt;/font&gt; &lt;font color="navy"&gt;setNames&lt;/font&gt;(List&amp;lt;String&amp;gt; newNames) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;font color="brown"&gt;synchronized&lt;/font&gt;&lt;/b&gt; (names) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;names = &lt;b&gt;&lt;font color="brown"&gt;new&lt;/font&gt;&lt;/b&gt; ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;font color="brown"&gt;for&lt;/font&gt;&lt;/b&gt; (String name : newNames) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;names.&lt;font color="navy"&gt;add&lt;/font&gt;(name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;(Hint: the method &lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;setNames()&lt;/span&gt; is synchronized on the &lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;names&lt;/span&gt; field, but that field is then modified to point to a new object.)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, so spotting the bug was easy. But how would you write a Unit Test to demonstrate the problem? You would need to have two or more threads calling &lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;setNames()&lt;/span&gt; simultaneously, but you still don't have any control over how the threads will be scheduled.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enter &lt;a id="svvf" href="http://code.google.com/p/thread-weaver/" title="Thread Weaver"&gt;Thread Weaver&lt;/a&gt;, a test framework that lets you control thread execution. By setting breakpoints in your code, you can stop one thread at exactly the point that you want, and then allow a second thread to run. This allows you to write repeatable multi-threaded unit tests, without relying on the thread scheduler.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Thread Weaver is released as an open source project under the Apache license, and is available on &lt;a href="http://code.google.com/hosting/" target="blank"&gt;Google Code&lt;/a&gt;. Many examples can be found in the &lt;a href="http://code.google.com/p/thread-weaver/wiki/UsersGuide"&gt;initial documentation&lt;/a&gt;.  If you have comments or questions, please see our &lt;a href="http://groups.google.com/group/thread-weaver" title="http://code.google.com/p/thread-weaver/"&gt;discussion group&lt;/a&gt;.  Happy testing!&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ed. Note: Post updated with corrected formatting.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;By Alasdair Mackintosh, Software Engineering Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-5202587917622740062?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=FtRRa7e57hc:XZH5EyqOq8Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=FtRRa7e57hc:XZH5EyqOq8Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=FtRRa7e57hc:XZH5EyqOq8Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/FtRRa7e57hc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/5202587917622740062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=5202587917622740062" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5202587917622740062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5202587917622740062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/FtRRa7e57hc/testing-race-conditions-in-java.html" title="Testing Race Conditions in Java" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/testing-race-conditions-in-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8DQXc5cCp7ImA9WxNWEU0.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-6151943793969250188</id><published>2009-10-09T10:14:00.000-07:00</published><updated>2009-10-09T10:21:10.928-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-09T10:21:10.928-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="moinmoin" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><title>MoinMoin's Google Summer of Code Wrap Up</title><content type="html">We at the &lt;a href="http://moinmo.in/" target=blank&gt;MoinMoin Wiki&lt;/a&gt; software development team had a wonderful time with our participation in &lt;a href="http://socghop.appspot.com/" target=blank&gt;Google Summer of Code&amp;trade; 2009&lt;/a&gt;. We greatly enjoyed collaborating with our students, hacking Python and Javascript code for the wiki engine. Thanks to Google's support, we had four student projects total, and three of them were successfully completed:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/moin/t124022705170"  target=blank&gt;Christopher Denter&lt;/a&gt;, whom &lt;a href="http://moinmo.in/ThomasWaldmann" target=blank&gt;I&lt;/a&gt; mentored, worked on making MoinMoin's modular storage code production-ready by adding an access control middleware. Christopher's work in this area made MoinMoin safer and more flexible. He also worked on a router middleware - think of it as a kind of a wiki&lt;br /&gt;"mount/fstab" - and a SQLAlchemy backend. Our users can now enjoy MoinMoin with MySQL, PostgreSQL, SQLite, etc. Christopher's work was done directly in the repo that will become the 2.0 release of MoinMoin.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/moin/t124022705641" target=blank&gt;Alexandre Martani&lt;/a&gt;, mentored by &lt;a href="http://moinmo.in/BastianBlank" target=blank&gt;Bastian Blank&lt;/a&gt;, worked on a realtime collaborative wiki editor based on &lt;a  href="http://code.google.com/p/google-mobwrite/" target=blank&gt;Google's mobwrite&lt;/a&gt;. Multiple people can now choose to edit the same wiki page at the same time and they all see each other's changes shortly after typing. We hope that we can merge his code into the MoinMoin 2.0 repository soon.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/moin/t124022705316" target=blank&gt;Dmitrijs Milajevs&lt;/a&gt;, mentored by &lt;a href="http://moinmo.in/ReimarBauer" target=blank&gt;Reimar Bauer&lt;/a&gt;, worked on groups and dictionary code with modular backends. You can now fetch group definitions from wiki pages or a wiki, and preparations have been made to make an LDAP group backend possible as part of future development. Dmitrijs also refactored the search code to get rid of the unmaintained xapwrap library and use the new xappy library. All his work has already merged into the MoinMoin 1.9 main repo.&lt;br /&gt;&lt;br /&gt;Thanks also to &lt;a href="http://moinmo.in/AlexanderSchremmer" target=blank&gt;Alexander Schremmer&lt;/a&gt; for his contributions as a mentor. Unfortunately, his student's project did not work out, but in true community fashion he provided valuable help and feedback for the other students.&lt;br /&gt;&lt;br /&gt;In case you're curious about when all this &lt;a href="http://moinmo.in/MoinMoinDownload" target=blank&gt;nice code will be released&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;MoinMoin 1.9 will be released later in 2009 (likely in November). Please help us beta testing, translating and generally making the release ready.&lt;br /&gt;&lt;br /&gt;MoinMoin 2.0 will not just 1.9 + 0.1, but a major rewrite of big parts of the code base. Right now, it's like a big construction site, so it'll naturally take some time until the release will be ready, likely 2010 or 2011. We'd be happy to have your help with it; if you enjoy coding in Python, playing with new features, cleanly refactoring code and working with a fun team, then do join us to make MoinMoin an even better wiki. Check out the &lt;a href="http://moinmo.in/MoinMoin2.0" target=blank&gt;MoinMoin 2.0&lt;/a&gt; page for more details.&lt;br /&gt;&lt;br /&gt;Many thanks to all the students and mentors as well as everyone in the community who helped or supported the process. It was a very productive summer and we are greatly looking forward to continued work with our new contributors! &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Thomas Waldmann, Google Summer of Code Mentor and Organization Administrator&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-6151943793969250188?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=TIDsfJSkrWU:P0teJFGyphc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=TIDsfJSkrWU:P0teJFGyphc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=TIDsfJSkrWU:P0teJFGyphc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/TIDsfJSkrWU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/6151943793969250188/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=6151943793969250188" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6151943793969250188?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6151943793969250188?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/TIDsfJSkrWU/moinmoins-google-summer-of-code-wrap-up.html" title="MoinMoin's Google Summer of Code Wrap Up" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/moinmoins-google-summer-of-code-wrap-up.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8AQnY_fCp7ImA9WxNXGU4.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-3893303828795670574</id><published>2009-10-06T16:41:00.000-07:00</published><updated>2009-10-07T10:34:03.844-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T10:34:03.844-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sip communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><title>SIP Communicator's Summer of Code Adventures: Part Two</title><content type="html">&lt;span style="font-size:85%;"&gt;Ed. Note: You may recall that last week &lt;a href="http://google-opensource.blogspot.com/2009/09/sip-communicators-summer-of-code.html" target="blank"&gt;we published&lt;/a&gt; the first installment of Emil Ivov's report on &lt;a href="http://sip-communicator.org/" target="blank"&gt;SIP Communicator's&lt;/a&gt; participation in &lt;a href="http://code.google.com/soc/" target="blank"&gt;Google Summer of Code™&lt;/a&gt;. This week, Emil shares more of the project's 2009 success stories and lessons learned by the project over the past three instances of the program.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Geek Communicator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024894200" target="blank"&gt;Linus Wallgren&lt;/a&gt; from Sweden completed a task that many of us have been dreaming about for a long time now: handling SIP Communicator entirely through the command line. So what exactly does this mean? Well, now, you can exit the application, hide or show it, send or receive messages, make or answer phone calls and open or close chats, entirely through the command line. So, you remember that super script that you always wanted to do? The one that sends a message to all your online friends at 3 o'clock every morning? You can now do it thanks to Linus! His work is going to be integrated into SIP Communicator some time this year so stay tuned!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/SsvXqDORmjI/AAAAAAAACBY/cQdKBauuN1M/s1600-h/geekcommunicator.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 213px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/SsvXqDORmjI/AAAAAAAACBY/cQdKBauuN1M/s400/geekcommunicator.png" alt="" id="BLOGGER_PHOTO_ID_5389638496498588210" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Geek Communicator: Using SIP Communicator through the Console&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setting Your Own Avatar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024895672" target="blank"&gt;Shashank Tyagi&lt;/a&gt; from India was accepted for the "Dude, checkout my photo!" project. His work consisted of making sure that it was possible for SIP Communicator users to upload a new photo/avatar with popular protocols like &lt;a href="http://xmpp.org/" target="blank"&gt;XMPP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Msn_messenger" target="blank"&gt;MSN&lt;/a&gt;, &lt;a href="http://messenger.yahoo.com/" target="blank"&gt;Yahoo! Messenger&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/ICQ" target="blank"&gt;ICQ&lt;/a&gt; and &lt;a href="http://www.aim.com/" target="blank"&gt;AIM&lt;/a&gt;. He first started by exploring the mechanisms supported by the various protocol stacks that allowed this, discovering a few glitches on the way. He then worked on the glue that allows the SIP Communicator protocol modules to export this functionality to the rest of the application, and the GUI. Finally, with some help from his mentor, he also managed to wrap up a module that allowed users to take a picture of themselves using their webcam right before uploading it. Cool, isn't it?&lt;br /&gt;&lt;br /&gt;Shashank's work is definitely going to get integrated into our trunk as soon as possible. However, until then you can either test it through his &lt;a href="http://tinyurl.com/sc-avatars" target="blank"&gt;SVN branch&lt;/a&gt; or at least sneak a peek here:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fxRR_bT3LgA/SsvYbAOwyaI/AAAAAAAACBg/rzAsLeMGVhk/s1600-h/settingavatar.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 245px;" src="http://2.bp.blogspot.com/_fxRR_bT3LgA/SsvYbAOwyaI/AAAAAAAACBg/rzAsLeMGVhk/s400/settingavatar.jpg" alt="" id="BLOGGER_PHOTO_ID_5389639337508915618" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Setting Your Own Avatar via SIP Communicator&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DTMF with RTP&lt;/span&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024894833" target="blank"&gt;&lt;br /&gt;Romain Philibert&lt;/a&gt; from France worked with us on the project "DTMF with RTP" which had the goal of providing an alternative transport for &lt;a href="http://en.wikipedia.org/wiki/Dual-tone_multi-frequency" target="blank"&gt;DTMF tones&lt;/a&gt; in audio &lt;a href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol" target="blank"&gt;RTP streams&lt;/a&gt; in addition to the existing &lt;a href="http://www.faqs.org/rfcs/rfc2976.html" target="blank"&gt;SIP INFO&lt;/a&gt; method. The first phase of the development consisted of research on the possible approaches to solving the problem and the viability of each of the approaches was explored with proof-of-concept implementations. The second phase was the actual implementation of the chosen solution and involved refactoring existing source code to generalize it enough to also serve the goal of the project, employing the rearchitected design for the sake of sending and receiving DTMF tones as part of audio RTP streams, writing new UI to allow switching between the alternative DTMF transports, and creating unit tests to assure the correct operation of the functionality. Romain was exposed to communicating on our development mailing list where he reported his progress throughout the program, gathered feedback from members of our community and helped another contributor in resolving a common problem related to the unit tests. The source code he produced has been reviewed and currently awaits for a major redesign of the media service of our project to be finished in order to be updated and integrated into trunk.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fxRR_bT3LgA/SsvZV9992MI/AAAAAAAACBo/v3dg4s32m5U/s1600-h/dtmfwithrtp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 308px;" src="http://2.bp.blogspot.com/_fxRR_bT3LgA/SsvZV9992MI/AAAAAAAACBo/v3dg4s32m5U/s400/dtmfwithrtp.png" alt="" id="BLOGGER_PHOTO_ID_5389640350513879234" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;DTMF with RTP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Impressive list, right? We're quite happy with it :)&lt;br /&gt;&lt;br /&gt;So, let's now get to the final part and look through the three most important lessons we've learned throughout the past three years.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lesson 1: You've Got to Have the Time&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Google Summer of Code&lt;/span&gt; is a two-way process. Really! You take a lot so you have to be prepared to give as much.  This is not a subcontracting deal where you could simply expect work to get done by itself because it is being paid for (not that this ever happens in subcontracting, anyway). Having a dedicated mentor for a student's project is almost as important as having a dedicated student. I've seen very few exceptions to this and it actually comes down to the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;We are dealing with students who are still learning. As eager as they are to get things done, most of them have little development experience. Therefore if left to themselves, students would tend to over-engineer, go for a dirty hack, overlook existing documentation, misunderstand the goal of the project or a bunch of other things that seem so natural to experienced project  developers.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Three months is hardly enough time even for experienced developers to fully grasp the internals of a mature project that they've never seen before. It is therefore naive to expect that a student would be able to come up with a usable and integratable contribution without a fair amount of guidance.&lt;/li&gt;&lt;/ol&gt;I am far from saying that you should be spoon feeding your student or do their work for them. To make things a bit more specific, I'd say that according to our experience a mentor should be ready to spend an average of about 45-60 minutes per day working with their student. Time is rarely equally spread across the summer. Our mentors would often find themselves spending up to two or three hours a day in the beginning of the program while 15 minute chats would be enough to resolve issues toward the end of the term.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lesson 2: Less is More&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I know, I know ... what a cliché! Still, it took us some time to actually realize it so I think it's important to note this lesson. I already mentioned that in 2008 we took 15 students and that this was not our best year. Mentoring resources were of course part of the issue. We had 4 of our most active developers take up two students each. First, this proved to be quite hard for the mentors themselves. Dedicating two hours a day to mentoring may turn out to be an issue when this is not part of your day job. Second, it was also a problem for the other students and their mentors. Given that our most active mentors had their hands full with their own students, they had little time to spare giving advice to other mentor-student pairs when they needed it. This turned out to be a blocking factor on more than one occasion and there was no one happy with the situation.&lt;br /&gt;&lt;br /&gt;In addition to mentoring resources, a higher number of students are also hard to handle by the community itself. This means that people would be less aware of the progress of every project, there would be hence less interest, less encouragement, less acknowledgment and community integration for the students.&lt;br /&gt;&lt;br /&gt;At the end of the day, we did manage to handle things and we only had a single failed project in 2008. However, the experience was far from the pleasing memories we had from 2007. It was therefore a good lesson to learn because taking less students was one of the main reasons for a successful 2009.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lesson 3: One Committer per Student&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I believe the one-mentor-for-one-student ratio is now commonly accepted practice for &lt;span style="font-style: italic;"&gt;Google Summer of Code&lt;/span&gt; and that most projects are striving for it. We definitely have done our best to avoid mentor sharing since 2008. Having more than one (non-shared) mentor per student is even better but unfortunately not always possible. Another ratio that is just as important, and probably not that popular, is the number of committers involved as mentors. Code integration represents a significant part of the effort that projects spend over &lt;span style="font-style: italic;"&gt;Google Summer of Code&lt;/span&gt;. It is quite obvious that if the developer committing the work of a particular student is also their mentor, integration is going to be a lot easier than if it were someone else.&lt;br /&gt;&lt;br /&gt;For example, we had some very valuable stuff written during 2008, like support for proxies from &lt;a href="http://code.google.com/soc/2008/sipcomm/appinfo.html?csaid=6E373FEDE6B5419D" target="blank"&gt;Atul Aggarwal&lt;/a&gt;. Atul did a good job, but, his only mentor, despite being very technically savvy and knowing the project quite well, did not have committer access. Proxy support is quite important for SIP Communicator, although not necessarily critical. Committing Atul's work however, would require an existing committer to study all his work, and there always seems to be something in the critical path for development that must be reviewed. Things would have been a lot easier if one of the people that were expert in this field had been following the project right from the start.&lt;br /&gt;&lt;br /&gt;We therefore decided to add pair each student with a committer in 2009, and each committer only had to take care of one student. The results were excellent, and as I already mentioned, we already have approx 30% of the GSoC code committed barely a week after the end of the program!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lesson 4: Specific Tasks and Clear Conditions (Learning in Progress ...)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok ... this case is not really that straightforward and we have more learning to do before we really get it. Here's the problem:&lt;br /&gt;&lt;br /&gt;In 2007 and 2008, we had a couple of students who would get to 50% or 60% of their work and then get distracted with unimportant stuff or simply disappear for a while.  At a point their mentors would remind them that they have more to do and this would cause the students to feel uneasy, panic, or start arguing about things, such as:&lt;br /&gt;&lt;br /&gt;"Oh, I didn't know I had to do unit testing!" or "I was never told this feature was part of the job!"&lt;br /&gt;&lt;br /&gt;The statements weren't completely false. It could indeed happen that a task would seem obvious to a mentor and in the same time feel utterly unnatural to a student. In one case, it was actually the mentor who didn't request a task that was considered important by other community members.&lt;br /&gt;&lt;br /&gt;So either way, in order to try and limit the surprises we decided that we needed to start every project with a list of clearly defined sub-tasks. This way, we thought, students would know exactly what they need to do and organize better. It would also help make sure that everyone on our side was well aware of the "official" project vision. Sounds neat, right?&lt;br /&gt;&lt;br /&gt;Well, it didn't really work out that way.. Most of the students didn't have a problem with the new system, but then again, most of the students didn't have problems without it either. One of the students we failed, however, claimed the requirements list had been misleading and had made them believe they could plan a few weeks off. When we told them that this would be risky they  complained it was too late to cancel the reservations, so they didn't listen ... and eventually failed.&lt;br /&gt;&lt;br /&gt;So it appears that a list of what we believe to be specific requirements doesn't seem to change much in terms of understanding the goals of a particular project since there's always something that could be misunderstood. Clearly, continued mentor-student communication is crucial here but it seems that we'd also need explicit there-may-be-more-to-this-than-you-think notes.&lt;br /&gt;&lt;br /&gt;Phew, that sums it all up! Hope the lessons we've learned above would help others in similar situations. Good luck to all of you future Google Summer of Coders!&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ed. note: Post title corrected.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Emil Ivov, Project Lead, SIP Communicator and Google Summer of Code Mentor&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-3893303828795670574?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=-N-sYPm12_k:wJt95IOYbv8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=-N-sYPm12_k:wJt95IOYbv8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=-N-sYPm12_k:wJt95IOYbv8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/-N-sYPm12_k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/3893303828795670574/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=3893303828795670574" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3893303828795670574?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3893303828795670574?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/-N-sYPm12_k/sip-communicators-summer-of-code.html" title="SIP Communicator's Summer of Code Adventures: Part Two" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/SsvXqDORmjI/AAAAAAAACBY/cQdKBauuN1M/s72-c/geekcommunicator.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/sip-communicators-summer-of-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDQXo5cSp7ImA9WxNXF0o.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-5071061551605946795</id><published>2009-10-05T11:08:00.000-07:00</published><updated>2009-10-05T14:21:10.429-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T14:21:10.429-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><category scheme="http://www.blogger.com/atom/ns#" term="parrot" /><title>Perls of Wisdom: The Perl Foundation &amp; Parrot's Google Summer of Code</title><content type="html">&lt;a href="http://socghop.appspot.com/" target="blank"&gt;Google Summer of Code™ 2009&lt;/a&gt; (GSoC) was filled with fresh faces and exciting new projects for &lt;a href="http://www.perlfoundation.org/" target="blank"&gt;The Perl Foundation&lt;/a&gt; (TPF). As I write this, we are currently in the final stage of the summer &lt;a href="http://groups.google.com/group/google-summer-of-code-announce/web/how-to-provide-google-with-sample-code" target="blank"&gt;where students submit evidence of their work&lt;/a&gt; in a zip/tar.gz file by uploading it to a publicly viewable repository. I very much like that now anyone on the 'net can download a file containing the entire summer of work by the student, and there is even a download count next to each file for each student!&lt;br /&gt;&lt;br /&gt;We started the summer with nine students, but Kevin Tew was not able to work on "&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/dukeleto/t124022225777" target="blank"&gt;A prototype LLVM JIT runcore for Parrot&lt;/a&gt;" in the program due to external issues. He is still a core &lt;a href="http://www.parrot.org/" target="blank"&gt;Parrot Virtual Machine&lt;/a&gt; developer and I hope that he can find time to work on this awesome project some time in the near future. Since Parrot is currently &lt;a href="https://trac.parrot.org/parrot/wiki/JITRewrite" target="blank"&gt;redesigning its JIT framework from the ground up&lt;/a&gt;, a project similar to this would be great for next year.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://code.google.com/p/decnum-dynpmcs/" target="blank"&gt;other Parrot VM project&lt;/a&gt; was &lt;a href="http://www.parrot.org/darbelo" target="blank"&gt;Daniel Arbelo Arrocha&lt;/a&gt; working on "&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/dukeleto/t124022226056" target="blank"&gt;Decimal Arithmetic: BigInt, BigNum and BigRat for parrot&lt;/a&gt;" with Christoph Otto as a mentor. Big Decimal Arithmetic basically means storing arbitrary large/arbitrary precision numbers internally in a decimal format rather than the binary format usually used. Doing this can prevent catastrophic rounding errors. If you can store numbers internally with exactly NO error, then obviously this is A Very Good Thing. Daniel worked on making dynamic PMC's (Polymorphic Parrot Classes, or Parrot Magic cookies, take your pick) which wrap the mature and extensive &lt;a href="http://www.alphaworks.ibm.com/tech/decnumber" target="blank"&gt;IBM's libdecnumber&lt;/a&gt; library. What this means is that Parrot can do arithmetic on arbitrarily large integers (BigInt's) or floating point numbers with arbitrary precision (BigNum's.) Financial people are very interested in these as well, since no one wants to be short-changed on their interest due to rounding error. Daniel has also been contributing patches to many other parts of Parrot and will probably be getting a commit bit soon, which is great news to hear.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codedright.net/" target="blank"&gt;Devin Austin&lt;/a&gt; worked on "&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/dukeleto/t124022226631" target="blank"&gt;Refactoring Catalyst helper modules&lt;/a&gt;", with Kieren Diment as a mentor. This involved some "Moosification", which means refactoring home-rolled object-oriented code to use &lt;a href="http://search.cpan.org/dist/Moose/" target="blank"&gt;Moose&lt;/a&gt; (the post-modern Perl 5 object system), i.e. less code to maintain and more features at your fingertips.&lt;br /&gt;&lt;br /&gt;I am excited to talk about our next student, who worked on a &lt;a href="http://perl6.org/" target="blank"&gt;Perl 6&lt;/a&gt;-related project. &lt;a href="http://twitter.com/carlmasak" target="blank"&gt;Carl Mäsak&lt;/a&gt; mentored &lt;a href="http://blog.nix.is/" target="blank"&gt;Hinrik Örn Sigurðsson&lt;/a&gt; on "Perl 6 End-User Documentation Tools" (&lt;a href="http://github.com/hinrik/grok" target="blank"&gt;github repo&lt;/a&gt;) . Hinrik is working on the &lt;font style="font-weight:bold;"&gt;grok&lt;/font&gt; command, which is the Perl 6 relative of &lt;font style="font-weight:bold;"&gt;perldoc&lt;/font&gt;. With it, you can get documentation for Perl 6 functions from the spec, read the Synopses and Apocalypses, and occasionally attain temporary enlightenment. If you have a properly installed CPAN client on your computer, you can install it with cpan &lt;font style="font-weight:bold;"&gt;App::Grok&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;Our other exciting Perl 6 project was Paweł Murias working on "Multimethods for SMOP", mentored by Daniel Ruoso, the lead developer of SMOP. SMOP stands for Simple Meta Object Programming (or Simple Matter of Programming, if you are feeling snarky) and it is an implementation of Perl 6, a sister of &lt;a href="http://www.rakudo.org/" target="blank"&gt;Rakudo&lt;/a&gt;. Multimethods, short for Multiple Method Dispatch, is a feature where a language can determine which variant of a set of functions to call, based on the type of their arguments. One way that this becomes very powerful is that you can use wildcard arguments when you declare your multimethod, so you can essentially write many functions at once. Less code to maintain is a big WIN ! Paweł's code is being directly merged into the mainline SMOP codebase and from what I hear, he is and will continue to be a core contributor. That is what GSoC is all about. That and free t-shirts.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sso4Db09GwI/AAAAAAAACBQ/jN7FzjZcNFg/s1600-h/Mojo_Pipeline.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 136px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sso4Db09GwI/AAAAAAAACBQ/jN7FzjZcNFg/s400/Mojo_Pipeline.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5389181535762848514"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;State Transitions in Mojo::Pipeline&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://fooko.blogspot.com/" target="blank"&gt;Pascal Gaudette&lt;/a&gt; worked on "&lt;a href="http://socghop.appspot.com/student_project/manage/google/gsoc2009/dukeleto/t124022226202" target="blank"&gt;HTTP/1.1 Compliance Testing and User-Agent Development for the Mojo Web Framework&lt;/a&gt;" with mentor Viacheslav Tykhanovskyi. This is important because &lt;a href="http://mojolicious.org/" target="blank"&gt;Mojo&lt;/a&gt;, one of the newest and most exciting Perl Web frameworks did not have much testing for acting correctly according to HTTP/1.1 . Part of the work of this summer has become the CPAN module &lt;a href="http://search.cpan.org/dist/MojoX-UserAgent/" target="blank"&gt;MojoX::UserAgent&lt;/a&gt;. He has a great blog post about "&lt;a href="http://fooko.blogspot.com/2009/07/state-transitions-in-mojo.html" target="blank"&gt;State Transitions in Mojo&lt;/a&gt;" wherein he explains how Mojo deals with state and generated some pretty cool transition diagrams by documenting when a state transition happens in the test suite and then feeding this data into &lt;a href="http://search.cpan.org/dist/Graph-Easy/" target="blank"&gt;Graph::Easy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webkit.org/" target="blank"&gt;WebKit&lt;/a&gt; has become often-forked and very influential open source browser engine, so it is no surprise that Perl hackers want bindings to it. &lt;a href="http://use.perl.org/~doubi/journal/" target="blank"&gt;Ryan Jendoubi&lt;/a&gt; worked on "&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/dukeleto/t124022226925" target="blank"&gt;Cross-platform Perl Bindings for wxWebKit&lt;/a&gt;" with mentor Michael Peters, which allows WebKit and &lt;a href="http://www.wxwidgets.org/" target="blank"&gt;WxWigdets&lt;/a&gt;, a cross platform GUI library, to talk to each other via &lt;a href="http://wxwebkit.wxcommunity.com/" target="blank"&gt;wxWebKit&lt;/a&gt;. I think this was one of the more difficult projects this year, not because of the programming/algorithms involved, but because it requires getting lots of cross-platform, constantly-changing and fickle pieces of software to get along with each other. This is often like inviting zebras and lions to the same party. Messy and dangerous. But Ryan prevailed and we give him much respect and hope that he continues to maintain and improve the &lt;a href="http://gitorious.org/wx-perl-webkit/" target="blank"&gt;Wx::WebKit&lt;/a&gt; bindings.&lt;br /&gt;&lt;br /&gt;I had the pleasure of mentoring &lt;a href="http://github.com/bubaflub" target="blank"&gt;Robert (Bob) Kuo&lt;/a&gt; this summer on his work entitled "&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/dukeleto/t124022226790" target="blank"&gt;Implement BPSW algorithm as a Perl 5 CPAN module, Math::Primality with extensive test-suite&lt;/a&gt;." The &lt;a href="http://search.cpan.org/dist/Math-Primality/lib/Math/Primality.pm" target="blank"&gt;Math::Primality&lt;/a&gt; module is already on CPAN and I am glad to announce that Bob is listed as co-maintainer and published the latest release. This module is important because the Perl 5 Cryptography CPAN modules (mostly in the Crypt::* namespace) have one, very large, very fragile dependency, called &lt;a href="http://search.cpan.org/dist/Math-Pari/" target="blank"&gt;Math::Pari&lt;/a&gt;. Math::Pari is an amazing library that gives Perl access to the extensive state-of-the-art number theory library PARI, but to attain ultimate speed, Math::Pari pokes into undocumented internal-only Perl core internals, which means that changes to Perl internals that *shouldn't* have any effect on the outside world can cause the entire Crypt::* namespace to break. Also, most of the Crypt::* namespace require only 5-10 functions from Math::Pari, which provides an interface to thousands of functions. Math::Primality implements the few prime-checking (primality) functions that Crypt::* modules want from Math::Pari in a small, easy-to-maintain, pure-Perl CPAN module. Bob implemented the &lt;a href="http://www.trnicely.net/misc/bpsw.html" target="blank"&gt;BPSW algorithm&lt;/a&gt;, a state of the art prime-number checking algorithm which allows you to check if an arbitrarily large number is prime in O( log(n) ) i.e. &lt;a href="http://xkcd.com/451/" target="blank"&gt;logarithmic&lt;/a&gt; running time. It is actually a combination of very different prime number checks, which weed out different types of non-prime numbers. So far, no one has found a counter-example to the BPSW algorithm (even though &lt;a href="http://www.pseudoprime.com/dopo.pdf" target="blank"&gt;those pesky mathematicians say there probably are&lt;/a&gt;), so it is the best out there currently. It is estimated that because no one has seen this algorithm fail yet, and it being used extensively from within other algorithms, that the first counter-example must be at least 10,000 decimal digits long! Future steps for this module will be to work on its sister module, &lt;a href="http://github.com/leto/Math-Factoring/tree/master" target="blank"&gt;Math::Factoring&lt;/a&gt;, which implements the remaining factoring-related functions that Crypto modules want and then use both modules as new dependencies for the Crypt:: namespace, instead of Math::Pari.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://warpedreality.org/" target="blank"&gt;Justin Hunter&lt;/a&gt; was mentored by Ash Berlin on the project "SQL::Translator Rewrite" (&lt;a href="http://github.com/arcanez/SQL-Translator/tree/master" target="blank"&gt;github repo&lt;/a&gt;). SQL::Translator is a very popular CPAN module for translating various "flavors" of SQL to and from each other, such as Postgres to MySQL. This involved more "Moosification", as described above. Justin also has some advice for hopeful GSoC students:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Get over yourself.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Understand there are people smarter than you or people better at some things than you.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Just the same, you're still needed.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Just Go Ahead and Do It and find your niche.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I wish someone had told me that about 10 years ago. I would not have wasted a lot of time worrying that people would think I was stupid and starting diving into Open Source projects much more earnestly.&lt;br /&gt;&lt;br /&gt;In total, we had a success rate of 8/9 = 88.8%, just a bit above &lt;a href="http://google-opensource.blogspot.com/2009/08/wrapping-our-fifth-google-summer-of.html" target="blank"&gt;this year's all time high of 85%&lt;/a&gt;. Please join me in congratulating all these students and mentors for their top-notch work ! I can honestly say that I had much fun interacting with so many corners of the Perl community. This was my first year being an organization administrator, I learned a lot by my favorite method: sink or swim. I was handed over the magic rocket-powered surf board by Eric Wilhelm after successfully mentoring Thierry Moisan last year on the Math::GSL CPAN module. Organizing and communicating with people spread across a dozen time zones is definitely an art that I am still mastering. I think using as many mediums as possible to communication with people is key. I already use chat, email and IRC, but I wish I had done voice/skype and/or video chat with some of my students and mentors, so that everyone has a face to attach to a name.&lt;br /&gt;&lt;br /&gt;I would also like to thank &lt;a href="http://www.ohloh.net/accounts/8630" target="blank"&gt;Jerry Gay&lt;/a&gt; for being The Perl Foundation co-pilot this year and welcoming me into the Parrot community. Your guidance in certain matters went a long way.&lt;br /&gt;&lt;br /&gt;For anyone that would like to help/be involved in &lt;a href="http://socghop.appspot.com/org/home/google/gsoc2009/dukeleto" target="blank"&gt;&lt;font style="font-style:italic;"&gt;Google Summer of Code&lt;/font&gt; with The Perl Foundation&lt;/a&gt; next year, we cordially invite you to our IRC channel, #soc-help on &lt;a href="http://irc.perl.org/" target="blank"&gt;irc.perl.org&lt;/a&gt;, and the &lt;a href="http://groups.google.com/group/tpf-gsoc-students" target="blank"&gt;mailing lis&lt;/a&gt;t.&lt;br /&gt;&lt;br /&gt;&lt;font style="font-style: italic;" class="byline-author"&gt;By Jonathan Leto, Google Summer of Code Mentor and Organization Administrator&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-5071061551605946795?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=qk_976CJim8:fbyPj8HJrsE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=qk_976CJim8:fbyPj8HJrsE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=qk_976CJim8:fbyPj8HJrsE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/qk_976CJim8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/5071061551605946795/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=5071061551605946795" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5071061551605946795?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5071061551605946795?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/qk_976CJim8/perls-of-wisdom-perl-foundation-parrots.html" title="Perls of Wisdom: The Perl Foundation &amp; Parrot's Google Summer of Code" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sso4Db09GwI/AAAAAAAACBQ/jN7FzjZcNFg/s72-c/Mojo_Pipeline.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/perls-of-wisdom-perl-foundation-parrots.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4BRH4_eSp7ImA9WxNXFU0.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-7577423639719408755</id><published>2009-10-02T11:06:00.000-07:00</published><updated>2009-10-02T11:09:15.041-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T11:09:15.041-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SVG" /><title>SVG at Google and in Internet Explorer</title><content type="html">At Google we are doing some exciting work with &lt;a href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics" target="_blank"&gt;SVG&lt;/a&gt;, including hosting the &lt;a href="http://www.svgopen.org/2009/" target="_blank"&gt;SVG Open conference&lt;/a&gt;, helping SVG to &lt;a href="http://code.google.com/p/svgweb/" target="_blank"&gt;work on Internet Explorer&lt;/a&gt;, and working with Wikipedia. Make sure to check out the &lt;a href="http://googlecode.blogspot.com/2009/10/svg-at-google-and-in-internet-explorer.html"&gt;Google Code Blog&lt;/a&gt; for all the details!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Brad Neuberg, Google Developer Advocate&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-7577423639719408755?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=WixK1zvh3cs:P9qjX1qTGn4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=WixK1zvh3cs:P9qjX1qTGn4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=WixK1zvh3cs:P9qjX1qTGn4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/WixK1zvh3cs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/7577423639719408755/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=7577423639719408755" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7577423639719408755?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7577423639719408755?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/WixK1zvh3cs/svg-at-google-and-in-internet-explorer.html" title="SVG at Google and in Internet Explorer" /><author><name>Ellen Ko</name><uri>http://www.blogger.com/profile/01259694314067375269</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04397124090885274713" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/svg-at-google-and-in-internet-explorer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cEQXw9eSp7ImA9WxNXFU0.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-3034166048151532082</id><published>2009-10-02T09:30:00.000-07:00</published><updated>2009-10-02T09:30:00.261-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T09:30:00.261-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="EuroBSDCon" /><category scheme="http://www.blogger.com/atom/ns#" term="bsd" /><title>Report from EuroBSDCon 2009</title><content type="html">I'm no stranger to EuroBSDCon.   After attending several very   successful conferences in the US, three FreeBSD   contributors and I decided that Europe needed a   BSD conference too.  In November 2001 we were proud to host 160 or so delegates in  the &lt;a target="_blank" href="http://www.flickr.com/photos/nikclayton/sets/72157600201136401/"&gt;first European BSD Conference&lt;/a&gt;.  Over the   last couple of years I haven't been able to keep   as up to date with the latest developments in the BSD world, so I was very interested to attend &lt;a href="http://www.ukuug.org/events/eurobsdcon2009/"&gt;EuroBSDCon   2009&lt;/a&gt;, organised in collaboration with   the &lt;a href="http://www.ukuug.org/"&gt;UK Unix User Group&lt;/a&gt;.&lt;br /&gt;    &lt;p&gt;With the conference split in to several tracks it was impossible to   attend every talk, so I decided to focus primarily on those that   talked about how BSD systems were helping people solve problems in   the real world.  Links to all the papers, slides, and in some cases audio     from the presentations can be found     at &lt;a href="http://www.ukuug.org/events/eurobsdcon2009/schedule/"&gt;conference       schedule&lt;/a&gt; page.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The first talk I attended was "&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#grundy" id="zgur"&gt;How FreeBSD Finds   Oil&lt;/a&gt;," given by Harrison Grundy.  Harrison runs a consultancy company   in the US providing clustered computing systems to oil and gas   companies.&lt;/p&gt;  &lt;table class="zeroBorder" style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/br3OC0HdZbiBg962vB0boQ?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_YySBz4RmkrA/Sr_PX2BbiUI/AAAAAAAABzI/cljzAFP8g-Q/s400/_MG_8305.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td  style="text-align: right;font-family:arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;From &lt;a href="http://picasaweb.google.com/nikclayton/EuroBSDCon2009?feat=embedwebsite"&gt;EuroBSDCon 2009&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;He started with a run through of the economics of oil and gas exploration. It quickly became clear that the "Free" in "FreeBSD" is of no concern to these companies, as software licensing costs are such a tiny part of their overall expense. Features like stability and performance are far more important -- his customers frequently run lengthy computational jobs over terabytes of data. This is somewhat similar to what we do at Google, although obviously the data is very different. I asked whether the industry was moving in the direction of technologies like &lt;a target="_blank" href="http://hadoop.apache.org/"&gt;Hadoop&lt;/a&gt; (an open source   implementation of MapReduce) but for the moment, at least, the   answer seems to be no.  "It's not broken, so why fix it?" appearing   to be the prevailing view.&lt;/p&gt;  &lt;p&gt;Next was Konrad Heuer, talking about "&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#heuer" id="i2sm"&gt;FreeBSD in a complex   environment&lt;/a&gt;."  Here he described some lessons learned from running a   heterogeneous environment of systems - FreeBSD, Linux, Windows,   Solaris, and issues that they faced and benefits they saw with   FreeBSD.  Chief amongst those benefits seemed to be the commitment   by the project to continue to support APIs and higher level interfaces.   Their print services have run on FreeBSD for more than 10 years,   with very few modifications required.  The biggest issue seemed to   be commercial support; he described a number of hacks required to be   able to use Tivoli Storage Manager (which they use on their other   systems) to also back up their FreeBSD systems.  In the discussion   that followed there was a suggestion to create a mechanism where   people could register things like this, so that vendors realise that   many of their Linux sales are actually BSD sales, and have more   incentive to create a native version of the application.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#losher" id="y3c_"&gt;Peter Losher&lt;/a&gt; from the &lt;a target="_blank" href="http://www.isc.org/"&gt;Internet     Systems Consortium&lt;/a&gt; presented next.  The ISC is a non-profit   organisation that has, for years, developed, or funded the   development of much of the core software the "runs" the Internet,   including the DNS server BIND, and DHCP server software.  ISC also   provides hosting, connectivity, and mirroring services for several   open source projects, including many of the BSDs.  Peter talked in   some detail about the mechanisms used to make the F root DNS   server highly available, and features in FreeBSD that make this   possible.  He also talked a little about IPv6, and new features in   DHCP v4.x to support IPv6&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;  &lt;p&gt;After the lunch break Kirk McKusick talked about &lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#mckusick" id="j8xa"&gt;Superpage support   in FreeBSD&lt;/a&gt;.  He was quick to point out that he'd had no hand in the   work himself, and was describing work carried out by Alan Cox &lt;i&gt;et   al&lt;/i&gt; as a result of   their &lt;a target="_blank" href="http://www.cs.rice.edu/%7Essiyer/r/superpages/osdi02superpages/"&gt;2002   paper on superpages&lt;/a&gt;.  Superpages are a method for solving a   bottleneck in modern architectures.&lt;/p&gt;  &lt;table class="zeroBorder" style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/TytXUWXeusdRmF3HKOUPmg?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_YySBz4RmkrA/Sr_PqpS2_cI/AAAAAAAABzY/ALMArQ1i_sg/s400/_MG_8325.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td  style="text-align: right;font-family:arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;From &lt;a href="http://picasaweb.google.com/nikclayton/EuroBSDCon2009?feat=embedwebsite"&gt;EuroBSDCon 2009&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;      &lt;p&gt;Right at the top of the memory access hierarchy is the Translation   Lookaside Buffer, or TLB.  The TLB is used to cache the mapping   between page virtual addresses to page physical addresses, but has   not grown in size at the same rate as available main memory has   grown.  A common maximum size is 1MB, which, when your page size is   4K, only allows for 4MB worth of virtual addresses to be in the TLB   at any one time.  With high-end systems these days approaching 32 or   even 64GB of RAM, and typical working set sizes being much higher   than 4MB the TLB undergoes significant churn.  The solution is to use a page size that's larger than 4K -- a   superpage. Some architectures have support for many different page   sizes.  The i386 architecture however is limited to either 4K or   2MB.  A 2MB page size would allow the TLB to cache mappings for 2GB   of RAM, and provide a large speed improvement to any program that   processes a significant amount of data.  Kirk went on to describe the work that Alan and others have done to   implement superpage support on FreeBSD, and the heuristics the   system uses to determine whether to collapse a 2MB contiguous chunk   of RAM in to a superpage.  He presented benchmark results that show   superpages providing somewhere between a ~ 15 - 600% (!) speed   improvement under typical workloads.&lt;/p&gt;  &lt;p&gt;The next session was &lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#buechler" id="gt:k"&gt;Chris Buechler&lt;/a&gt; giving an introduction   to &lt;a href="http://www.pfsense.org/"&gt;pfsense&lt;/a&gt;, and an overview of   what new features will be in the upcoming 2.0 releases.  pfsense is   a FreeBSD distribution designed to run as an embedded firewall or   router, although that description barely covers its capabilities.   Amongst other things the 2.0 code includes is a major overhaul of the   configuration UI, generalisation of interface support so that   pfsense now works with any number of interfaces rather than 3,   numerous new networking technologies, and an easy way to provide   additional functionality via packages instead of bloating the base   system.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#sedov" id="wk2h"&gt;Stanislav Sedov&lt;/a&gt; then described work that he had undertaken to build   an embedded GPS navigation and tracking device designed to be   deployed in harsh industrial environments.  This included porting   FreeBSD to an Atmel AT91RM9200 CPU, improving the device's   bootloader support so it could boot from UFS, reducing the size of   the image, and providing support for reliable in-the-field   upgrades.&lt;/p&gt;  &lt;p&gt;The final session of the day was an invited talk   from &lt;a target="_blank" href="http://www.cl.cam.ac.uk/%7Ernc1/"&gt;Dr. Richard   Clayton&lt;/a&gt; on the theme of "Evil on the Internet".  I was fortunate   enough to see Dr. Clayton give a version of this talk at Google   about 18 months ago.  Since then he's updated it to cover more   examples of how people are using the internet to phish, scam,   defraud, and otherwise attempt to part people from their money.&lt;/p&gt;  &lt;p&gt;Sunday I joined the first session of   the second track, an introduction   to &lt;a target="_blank" href="http://people.freebsd.org/%7Emm/mfsbsd/"&gt;mfsBSD&lt;/a&gt;, a   toolset to create memory filesystem based FreeBSD distributions.   &lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#matuska" id="gorp"&gt;Martin Matuška&lt;/a&gt; explained his motivations behind the project,   which was to find an easy way to replace Linux in the ISP-hosted   environment he was using, but mfsBSD can now be used to make   upgrades easier, provide a rescue partition, a USB bootable install   of FreeBSD, and so on.&lt;/p&gt;  &lt;table class="zeroBorder" style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/HAxXGZuxYaMyhfJTfJg1Lg?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_YySBz4RmkrA/Sr_PvyLa31I/AAAAAAAABzg/mTvU6eilAwA/s400/_MG_8328.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td  style="text-align: right;font-family:arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;From &lt;a href="http://picasaweb.google.com/nikclayton/EuroBSDCon2009?feat=embedwebsite"&gt;EuroBSDCon 2009&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;      &lt;p&gt;Next was Brooks Davis, presenting a roundup of the results of   &lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#brooks" id="b:-g"&gt;FreeBSD's participation in the 2009 Google Summer of Code&lt;/a&gt;.  Of the   20 FreeBSD projects that were accepted as part of Summer of Code, &lt;a target="_blank" href="http://socghop.appspot.com/org/home/google/gsoc2009/freebsd" id="rks4"&gt;17   were successful&lt;/a&gt;.  These included efforts   that &lt;a href="http://wiki.freebsd.org/MartaCarbone"&gt;improved the   performance of the &lt;i&gt;ipfw&lt;/i&gt; firewall code&lt;/a&gt;, introduced support   for &lt;a target="_blank" href="http://wiki.freebsd.org/SOC2009GlebKurtsov"&gt;stackable cryptographic filesystems&lt;/a&gt;,   and &lt;a target="_blank" href="http://wiki.freebsd.org/PortsLicenseInfrastructure"&gt;enhanced the infrastructure for tracking software licenses in the ports tree&lt;/a&gt;, making it easier for users and distributors to ensure that   they are using software that complies with their local licensing   requirements.&lt;/p&gt;  &lt;table class="zeroBorder" style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/x_rZ2H8TENBNLj6IvuKRqw?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_YySBz4RmkrA/Sr_P7RrCFaI/AAAAAAAABzo/AhrNTTXF0yI/s400/_MG_8331.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td  style="text-align: right;font-family:arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;From &lt;a href="http://picasaweb.google.com/nikclayton/EuroBSDCon2009?feat=embedwebsite"&gt;EuroBSDCon 2009&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#bsdpgp" id="v0ms"&gt;Alastair Crooks&lt;/a&gt; followed this with a discussion of his work on   &lt;a target="_blank" href="http://pkgsrc.se/security/netpgp"&gt;netPGP&lt;/a&gt;, a BSD   licensed implementation of PGP that is configuration-compatible with   gnuPG.  As well as covering the ins and outs of the work Alastair's   presentation was notable for employing some truly terrible (but   memorable) visual puns.  I was groaning too much through them to   take pictures, but if I tell you that the slide titled "Use Cases"   had as the accompanying illustration a picture of some sheep next to   some hat boxes you might get an idea.  Must have worked though,   since I can still remember the slides.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://www.ukuug.org/events/eurobsdcon2009/talks/#moore" id="c-8o"&gt;Kris Moore&lt;/a&gt; from &lt;a href="http://www.ixsystems.com/"&gt;iXSystems&lt;/a&gt;   then demonstrated the work that they've been doing on   the &lt;a href="http://www.pcbsd.org/"&gt;PC-BSD&lt;/a&gt; distribution of   FreeBSD.  Apart from making the installation process considerably   simpler and improving the initial user experience they've also   developed an alternative binary package mechanism, which they   call &lt;a href="http://www.pbidir.com/"&gt;PBI&lt;/a&gt;.  The PBI format works   to avoid problems caused by upgrades to shared libraries that should   be backwards compatible but aren't, and does this by bundling a copy   of all the shared libraries required by the application in to the   package directory, making each installed package completely   self-contained and upgradeable without interfering with any other   applications that are installed.&lt;/p&gt;      &lt;p&gt;The "state of BSD" sessions at these conferences are always   entertaining, and this year was no exception.  Alastair Crooks for NetBSD, Owain   Ainsworth and Henning Brauer for OpenBSD, and George Neville-Neil   for FreeBSD presented updates on the current state and future plans   of each of these systems.&lt;br /&gt;&lt;/p&gt;  &lt;table class="zeroBorder" style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/zVHtjmPBOVo3zM023ZEftg?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_YySBz4RmkrA/Sr_QJ-jotrI/AAAAAAAABzw/1sM3Osl-mQg/s400/_MG_8351.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td  style="text-align: right;font-family:arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;From &lt;a href="http://picasaweb.google.com/nikclayton/EuroBSDCon2009?feat=embedwebsite"&gt;EuroBSDCon 2009&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;EuroBSDCon concluded with a number of lightning talks covering various works in progress (or WIPs), both large and small.  The most interesting, for me, was the update by Pawel Jakub Dawidek on the state of &lt;a target="_blank" href="http://wiki.freebsd.org/ZFS"&gt;ZFS support in FreeBSD&lt;/a&gt;.  This is something that was just coming to FreeBSD   around the time that I was running out of time to pay attention on a   day-to-day basis.  Since then support for ZFS has improved   tremendously, and probably the comment I heard most repeatedly at   the conference was how useful people are finding it.&lt;/p&gt;&lt;p&gt;And with that, the conference closed. Organizers were thanked, and   delegates prepared themselves for the journey home.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; The irony of v4 of the software being the first to support IPv6 is not lost on them.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;By Nik Clayton, Site Reliability Engineer&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;sup&gt;&lt;br /&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-3034166048151532082?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=H6KgystBFYE:ecxA6P_5orE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=H6KgystBFYE:ecxA6P_5orE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=H6KgystBFYE:ecxA6P_5orE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/H6KgystBFYE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/3034166048151532082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=3034166048151532082" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3034166048151532082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3034166048151532082?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/H6KgystBFYE/report-from-eurobsdcon-2009.html" title="Report from EuroBSDCon 2009" /><author><name>Ellen Ko</name><uri>http://www.blogger.com/profile/01259694314067375269</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04397124090885274713" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_YySBz4RmkrA/Sr_PX2BbiUI/AAAAAAAABzI/cljzAFP8g-Q/s72-c/_MG_8305.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/10/report-from-eurobsdcon-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGR3s7eSp7ImA9WxNXE08.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-4620523382521103158</id><published>2009-09-30T09:43:00.000-07:00</published><updated>2009-09-30T09:50:26.501-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T09:50:26.501-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="accessibility" /><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><category scheme="http://www.blogger.com/atom/ns#" term="rss" /><title>Talking RSS Reader for Android</title><content type="html">Keeping informed in a fast moving world can be a challenge. What if you could use those moments when your body is busy but your mind is idle to catch up on the news? That's how I decided that I would get my Android phone to read the news to me, out loud. This is doubly useful for me, because I am blind.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://talkingrssreader.googlecode.com/" target=blank&gt;Talking RSS Reader&lt;/a&gt; application reads articles out loud using text-to-speech. The text of the sentence currently being spoken is colored on the screen. Speech and text scrolling are synchronized. The touchscreen buttons to skip articles are right at the bottom corners of the screen, where your fingers can find them on their own. Menus and dialogs are also spoken out, so that you can "star" an item or choose a different RSS feed without ever having to look at your phone.&lt;br /&gt;&lt;br /&gt;The application integrates with the &lt;a href="http://www.google.com/reader" target=blank&gt;Google Reader&lt;/a&gt; service, which means that articles read on your phone need not be shown to you again when you use Google Reader on another device.&lt;br /&gt;&lt;br /&gt;It is my hope that drivers, joggers and commuters will find this a helpful tool for keeping up with the news that concerns them.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://code.google.com/p/talkingrssreader/source/checkout" target=blank&gt;source code&lt;/a&gt; for the application is available on &lt;a href="http://code.google.com/hosting/" target=blank&gt;Google code&lt;/a&gt;, so that anyone wanting to develop a useful talking application for Android will benefit from what I learned. If you'd like to send feedback or have questions, drop by our &lt;a href="http://groups.google.com/group/talkingrssreader" target=blank&gt;discussion list&lt;/a&gt;. Happy hearing!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Stephane Doyon, Software Engineering Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-4620523382521103158?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=A4WwYTZdIlg:J5kFT7BiryQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=A4WwYTZdIlg:J5kFT7BiryQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=A4WwYTZdIlg:J5kFT7BiryQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/A4WwYTZdIlg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/4620523382521103158/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=4620523382521103158" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4620523382521103158?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4620523382521103158?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/A4WwYTZdIlg/talking-rss-reader-for-android.html" title="Talking RSS Reader for Android" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/talking-rss-reader-for-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEAQns4cSp7ImA9WxNXEks.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-2884527650318111223</id><published>2009-09-29T14:24:00.000-07:00</published><updated>2009-09-29T14:44:03.539-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-29T14:44:03.539-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sip communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><title>SIP Communicator's Summer of Code Adventures: Part One</title><content type="html">So, here we are: we have just completed our third Google Summer of Code™. Despite the nostalgia that has settled in after the end of the summer, we are all feeling very, very happy about how things went this year. While observing my fellow mentors, who are busy integrating  our students' contributions into our code base, I am tempted to reminisce about our three year history with the program and the lessons we've learned.&lt;br /&gt;&lt;br /&gt;First of all however, a quick history of our participation: Our adventures started in &lt;a href="http://code.google.com/soc/2007/sipcomm/about.html" target="blank"&gt;2007&lt;/a&gt; when we were accepted into the program for the first time. I can still remember jumping all around the room when I saw &lt;a href="http://sip-communicator.org/" target="blank"&gt;SIP Communicator's&lt;/a&gt; name in the list of accepted organizations. Back then we were a brand new project and this acceptance was a tremendous recognition. As it turned out later, it made a great difference in terms of popularity, credibility, and bringing new contributors both directly and, above all, indirectly.&lt;br /&gt;&lt;br /&gt;Our first summer went exceptionally well. First of all, we had a decent number of applications, 87 to be precise, and by decent I mean not too much for the available mentors to handle and yet enough for us to have a wide choice of candidates. We received funding for eight student projects, which, as it turned out later, was also just right. At the end of the summer we had 7 successful students. During the months following &lt;span style="font-style: italic;"&gt;Google Summer of Code&lt;/span&gt; 2007, we integrated virtually all the work that came out of it. We also voted and accepted two of the students as permanent committers.&lt;br /&gt;&lt;br /&gt;Then came &lt;a href="http://code.google.com/soc/2008/sipcomm/about.html" target="blank"&gt;2008&lt;/a&gt;. Once again we were all rejoicing in anticipation of a productive summer. This time we had 187 candidates and were received funding for 20 student projects. At that point, however, we started realizing how big a number 20 is and we got a bit scared. We were afraid that would be too many students for us to handle so we decided to only take 15 and let other projects mentor the additional five. It turned out later that 15 was still a bit too many - more on that later. The summer went pretty well and a lot of work got done. Once again we voted and accepted two of the students as permanent contributors and only had a single failing student at the end of the season.&lt;br /&gt;&lt;br /&gt;This leads us to &lt;a href="http://socghop.appspot.com/" target="blank"&gt;2009&lt;/a&gt;, and boy was this year a good year! I can now safely say that this has probably been our best participation so far. We received a staggering number of applications: 203 to be precise. We only had around 15 mentors so it took us quite some time to go through all of them. Once we were done with the evaluations we requested 12 student projects but played it safe and decided to go with only ten, leaving the rest of the funding for other student projects. Once again, it was a really great summer. We are still in the process of integrating all the contributions and it will probably take us a few months before we are done. Even at this point, with about 30% of the work in our repository, we have already voted and accepted 2 of the students as permanent committers with probably two or three more to come in the the following months. Hip Hip ... Hoorray!!!&lt;br /&gt;&lt;br /&gt;Here's an in-depth look at some of our &lt;a href="http://socghop.appspot.com/org/home/google/gsoc2009/sipcomm" target="blank"&gt;2009 projects&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Growl Notifications, and Next Generation Sparkle Updates&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024894559" target="blank"&gt;Egidijus Jankauska&lt;/a&gt; from the United Kingdom has implemented a native popup notification for the MacOS X version of SIP Communicator. It makes use of the &lt;a href="http://www.growl.info/" target="blank"&gt;Growl notification daemon&lt;/a&gt; through a new implementation of the Java bindings of the Growl API. For that purpose, Egidijus has implemented a dynamic library using Java Native Interfaces, a set of Java interfaces, and the corresponding implementations for SIP Communicator. The &lt;a href="http://growl4j.org/" target="blank"&gt;new born library&lt;/a&gt; can of course be used in other projects and this implementation has already been integrated in our source trunk.&lt;br /&gt;&lt;br /&gt;Egidijus has also updated our package update system on MacOS X. It was based on &lt;a href="http://sparkle.andymatuschak.org/" target="blank"&gt;Sparkle&lt;/a&gt; 1.1, and Egidijus has provided the necessary patches and documentation to switch to Sparkle 1.5b6. This work has also been integrated in our source trunk.&lt;br /&gt;&lt;br /&gt;Egidijus has since been voted as a committer and is now part of our developer team!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fxRR_bT3LgA/SsJ-3ilWV7I/AAAAAAAACBA/bQMXvN5df8k/s1600-h/growlnotify.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 282px;" src="http://1.bp.blogspot.com/_fxRR_bT3LgA/SsJ-3ilWV7I/AAAAAAAACBA/bQMXvN5df8k/s400/growlnotify.png" alt="" id="BLOGGER_PHOTO_ID_5387007596929898418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Software Updates Using Sparkle and Popup Notifications Using Growl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hush-hush Chats with Off The Record (OTR) Messaging&lt;/span&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024895085" target="blank"&gt;&lt;br /&gt;George Politis&lt;/a&gt; from Greece worked on extending SIP Communicator with &lt;a href="http://en.wikipedia.org/wiki/Off-the-Record_Messaging" target="blank"&gt;Off The Record (OTR)&lt;/a&gt; message encryption. OTR provides encryption, authentication, deniability, and strong forward secrecy. Until now SIP Communicator did not have any text message encryption and our chats were often unprotected. George started with the implementation of our own Open Source native &lt;a href="http://otr4j.org/" target="blank"&gt;java OTR library&lt;/a&gt;, which can also be used in other projects. George also implemented all the message transformation functionalities and the GUI necessary for us to integrate OTR support in SIP Communicator. It is already implemented in many of the other popular instant messengers such as &lt;a href="http://kopete.kde.org/" target="blank"&gt;Kopete&lt;/a&gt;, &lt;a href="http://www.pidgin.im/" target="blank"&gt;Pidgin&lt;/a&gt;, &lt;a href="http://adium.im/" target="blank"&gt;Adium&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/MICQ" target="blank"&gt;mICQ&lt;/a&gt;, &lt;a href="http://www.miranda-im.org/" target="blank"&gt;Miranda&lt;/a&gt;, and &lt;a href="http://www.trillian.im/" target="blank"&gt;Trillian&lt;/a&gt;. SIP Communicator is now able to carry out encrypted communications with other SIP Communicator clients and the aforementioned messengers.&lt;br /&gt;&lt;br /&gt;George's implementation has already been integrated in our source trunk and George has achieved committer status for SIP Communicator with a strong approval of our community.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fxRR_bT3LgA/SsJ_Blh2b7I/AAAAAAAACBI/Kvf2XviWwM0/s1600-h/OTR.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 321px;" src="http://1.bp.blogspot.com/_fxRR_bT3LgA/SsJ_Blh2b7I/AAAAAAAACBI/Kvf2XviWwM0/s400/OTR.png" alt="" id="BLOGGER_PHOTO_ID_5387007769519222706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;An OTR Session with SIP Communicator&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Storing Chat History and Contact Lists in a Database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024892510" target="blank"&gt;Ajay Chhatwal&lt;/a&gt; from India was in charge of implementing a Database system to allow us to store all chats in a database instead of XML files. Ajay has studied many database systems, produced a comprehensive comparative evaluation on them and suggested a winner that would best suit our use case. He has then implemented a database service and a backend to provide a working database service to all the components of SIP Communicator, after which he worked on a transition mechanism that would allow transferring XML files from the old implementation into the new database system.&lt;br /&gt;&lt;br /&gt;Once he completed his work on the history modules - yes, he still had time to hack before the end of the summer - Ajay has also coded a new version of the contact list service which now also uses the database service.&lt;br /&gt;&lt;br /&gt;We're hoping to vote Ajay in as a committer soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Recognizing and displaying remote user agents&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This one was worked on by &lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/sipcomm/t124024893757" target="blank"&gt;Brett Geren&lt;/a&gt; from the United States. The project consisted of retrieving the names of the applications that our buddies are using when chatting with us, and showing the application icons to the user. In order to accomplish this task, Brett  first completed extensive research determining which of the protocols we support in SIP Communicator actually deliver such information and how they transport it.&lt;br /&gt;&lt;br /&gt;He then defined the interfaces necessary for a new user agent module and implemented the feature for &lt;a href="http://webmessenger.msn.com/" target="blank"&gt;MSN&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat" target="blank"&gt;IRC&lt;/a&gt; and &lt;a href="http://xmpp.org/" target="blank"&gt;XMPP&lt;/a&gt;. During the second half of the program, he worked on the user interface that actually displays the remote client icon and allows users to configure the behaviour of the user-agent plugin. He also completed tests with a long list of known clients in order to confirm the way they are publishing their client name and to make sure that SIP Communicator was working with them as expected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ed. Note: This post is the first installment from the SIP Communicator project on their participation in the &lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Google Summer of Code&lt;/span&gt;&lt;span style="font-size:85%;"&gt; program. Look forward to even more information on their 2009 student projects and some in-depth details on lessons learned on this blog next week. Stay tuned!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Emil Ivov, Project Lead, SIP Communicator and Google Summer of Code Mentor&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-2884527650318111223?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=cwodMWXsn44:ZzTc2xoifWU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=cwodMWXsn44:ZzTc2xoifWU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=cwodMWXsn44:ZzTc2xoifWU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/cwodMWXsn44" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/2884527650318111223/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=2884527650318111223" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2884527650318111223?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2884527650318111223?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/cwodMWXsn44/sip-communicators-summer-of-code.html" title="SIP Communicator's Summer of Code Adventures: Part One" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fxRR_bT3LgA/SsJ-3ilWV7I/AAAAAAAACBA/bQMXvN5df8k/s72-c/growlnotify.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/sip-communicators-summer-of-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEEQX8-eCp7ImA9WxNQFkk.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-4666946471615315444</id><published>2009-09-22T10:30:00.000-07:00</published><updated>2009-09-22T10:30:00.150-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-22T10:30:00.150-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ohio Linux Fest" /><title>Get Started in Free and Open Source at Ohio Linux Fest</title><content type="html">The Open Source Programs Office's &lt;a title="Cat Allman" href="http://topicalrothko.blogspot.com/" id="f8ei"&gt;Cat Allman&lt;/a&gt; will be in &lt;a title="Columbus, Ohio" href="http://maps.google.com/maps?client=safari&amp;amp;q=columbus+OH&amp;amp;oe=UTF-8&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Columbus,+OH&amp;amp;gl=us&amp;amp;ei=g_S3SprPIIfQtgOK1PDRDA&amp;amp;t=h&amp;amp;z=10" id="sy.3"&gt;Columbus, Ohio&lt;/a&gt; this weekend for the seventh annual &lt;a title="Ohio Linux Fest" href="http://www.ohiolinux.org/" id="mgmg"&gt;Ohio Linux Fest&lt;/a&gt;, which runs from &lt;a title="September 25th - 27th" href="http://www.ohiolinux.org/schedule.html" id="l3_5"&gt;September 25th - 27th&lt;/a&gt;.  Cat will be speaking on Saturday the 26th about "&lt;a title="Getting Started in Free and Open Source" href="http://www.ohiolinux.org/talks.html#GETSTART" id="i9eg"&gt;Getting Started in Free and Open Source&lt;/a&gt;," which will cover the basics of participating, choosing a project, joining a community, and more.  Both newbies and veterans will gain insights about the issues that Open Source newcomers face.&lt;br /&gt;&lt;br /&gt;This will be Cat's second time attending Ohio Linux Fest.  She notes, "I was so impressed by the conference in 07 that I'm really honored to get to speak there."  If you missed meeting Cat last time, this is your chance to hear her talk, introduce yourself, and ask questions in person.&lt;br /&gt;&lt;br /&gt;Come see Cat talk and get started in FOSS!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Ellen Ko, Open Source Team&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-4666946471615315444?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=lYxA2X0Gcko:hPM4hfNc_wI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=lYxA2X0Gcko:hPM4hfNc_wI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=lYxA2X0Gcko:hPM4hfNc_wI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/lYxA2X0Gcko" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/4666946471615315444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=4666946471615315444" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4666946471615315444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4666946471615315444?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/lYxA2X0Gcko/get-started-in-free-and-open-source-at.html" title="Get Started in Free and Open Source at Ohio Linux Fest" /><author><name>Ellen Ko</name><uri>http://www.blogger.com/profile/01259694314067375269</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04397124090885274713" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/get-started-in-free-and-open-source-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AMR3czeCp7ImA9WxNQFUg.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-2400345764766650617</id><published>2009-09-21T09:31:00.000-07:00</published><updated>2009-09-21T09:49:46.980-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-21T09:49:46.980-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="project hosting" /><category scheme="http://www.blogger.com/atom/ns#" term="funding" /><category scheme="http://www.blogger.com/atom/ns#" term="osuosl" /><title>Notes from Oregon State University Open Source Lab</title><content type="html">Many Open Source projects grow too large for free services such as &lt;a href="http://code.google.com/hosting" target="blank"&gt;Google Code Project Hosting&lt;/a&gt; and &lt;a href="http://sourceforge.net/" target="blank"&gt;SourceForge.net&lt;/a&gt;, or simply have infrastructure needs that cannot be met by those services. Where can projects turn if they need a stable hosting environment but can't get by with the offerings available at other free hosting providers? Many projects turn to the &lt;a href="http://osuosl.org/" target="blank"&gt;Oregon State University Open Source Lab&lt;/a&gt; (OSUOSL). The OSUOSL hosts many of the world's most well-known Open Source projects and foundations, including &lt;a href="http://www.drupal.org/" target="blank"&gt;Drupal&lt;/a&gt;, the &lt;a href="http://www.linuxfoundation.org/" target="blank"&gt;Linux Foundation&lt;/a&gt;, the &lt;a href="http://www.apache.org/" target="blank"&gt;Apache Software Foundation&lt;/a&gt;, and &lt;a href="http://osuosl.org/services/hosting/communities" target="blank"&gt;many more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Google, through its &lt;a href="http://code.google.com/opensource/" target="blank"&gt;Open Source Programs Office&lt;/a&gt;, has been one of the strongest supporters of the OSUOSL by providing multiple large donations which help the OSUOSL provide world-class hosting to many Open Source projects. With these contributions, the OSUOSL has been able to expand its data center and provide jobs for many student system administrators. Student employees at the Lab work closely with hosted projects to setup, maintain, and optimize hosted services. OSUOSL is able to provide system administration services and expertise so that projects don't need to worry about the trouble of running a server and can instead dedicate time to improving their open source project.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fxRR_bT3LgA/SretJIfXylI/AAAAAAAACA4/_iei91qQP0c/s1600-h/weathermap.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 269px;" src="http://1.bp.blogspot.com/_fxRR_bT3LgA/SretJIfXylI/AAAAAAAACA4/_iei91qQP0c/s400/weathermap.png" alt="" id="BLOGGER_PHOTO_ID_5383962251954211410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Snapshot taken from http://larch.osuosl.org/ftpmap/&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Over the last year, thanks to funding from Google and other supporters, the OSUOSL has been able to expand many of its services&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The three OSUOSL FTP mirrors have been upgraded, and space doubled to 6TB per server&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The data center in Corvallis, OR has expanded in size to allow for future growth&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Data center power and cooling have both been increased to meet future demand&lt;/li&gt;&lt;/ul&gt;All of these improvements have allowed the OSUOSL to take on new hosted partners including &lt;a href="http://www.cacti.net/" target="blank"&gt;Cacti&lt;/a&gt;, &lt;a href="http://www.fedoraproject.org/" target="blank"&gt;Fedora&lt;/a&gt;, &lt;a href="http://www.openmrs.org/" target="blank"&gt;OpenMRS&lt;/a&gt;, &lt;a href="http://www.parrot.org/" target="blank"&gt;Parrot&lt;/a&gt;, &lt;a href="http://www.rpm.org/" target="blank"&gt;RPM&lt;/a&gt;, and &lt;a href="http://www.sugarlabs.org/" target="blank"&gt;Sugar Labs&lt;/a&gt;. To continue to provide such a world-class hosting infrastructure for Open Source projects, the OSUOSL needs your help. For more information on OSUOSL donation programs and to find out how you can help support the Open Source Lab, please see &lt;a href="http://osuosl.org/donate" target="blank"&gt;http://osuosl.org/donate&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Jeff Sheltren, Operations Manager, OSUOSL&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-2400345764766650617?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=-X7Uoei08VY:CVhz9sMv1-A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=-X7Uoei08VY:CVhz9sMv1-A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=-X7Uoei08VY:CVhz9sMv1-A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/-X7Uoei08VY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/2400345764766650617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=2400345764766650617" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2400345764766650617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2400345764766650617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/-X7Uoei08VY/notes-from-oregon-state-university-open.html" title="Notes from Oregon State University Open Source Lab" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fxRR_bT3LgA/SretJIfXylI/AAAAAAAACA4/_iei91qQP0c/s72-c/weathermap.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/notes-from-oregon-state-university-open.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04CSH87cCp7ImA9WxNQEkw.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-3851052109309984007</id><published>2009-09-17T13:36:00.000-07:00</published><updated>2009-09-17T13:39:29.108-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-17T13:39:29.108-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="atlanta linux fest" /><title>Endless Summer in Atlanta</title><content type="html">Celebrating &lt;a href="http://softwarefreedomday.org/" target=blank&gt;Software Free Day&lt;/a&gt; at &lt;a href="http://atlantalinuxfest.org/" target=blank&gt;Atlanta Linux Fest&lt;/a&gt;? Should you happen to find yourself in &lt;a href="http://en.wikipedia.org/wiki/Atlanta,_Georgia" target=blank&gt;Georgia's capital&lt;/a&gt; this Saturday, please stop in hear our very own Ellen Ko deliver a talk on &lt;a href="http://atlantalinuxfest.org/node/74" target=blank&gt;Endless Summer: Create Your Own Program Based on Google Summer of Code&amp;trade;&lt;/a&gt;. Ellen will be covering topics from marketing to motivating a developer community, with a special emphasis on lessons she's personally learned during her first year as the program's coordinator. You can also get your questions about the program answered and meet up with fellow &lt;i&gt;Google Summer of Code&lt;/i&gt; participants during an &lt;a href="http://atlantalinuxfest.org/node/72" target=blank&gt;evening Birds of a Feather Session&lt;/a&gt;. We hope to see you there!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Leslie Hawthorn, Open Source Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-3851052109309984007?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=ApUVv7HqdHI:TTqJfliCHa4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=ApUVv7HqdHI:TTqJfliCHa4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=ApUVv7HqdHI:TTqJfliCHa4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/ApUVv7HqdHI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/3851052109309984007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=3851052109309984007" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3851052109309984007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3851052109309984007?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/ApUVv7HqdHI/endless-summer-in-atlanta.html" title="Endless Summer in Atlanta" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/endless-summer-in-atlanta.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcAQ3w_fyp7ImA9WxNQEU8.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-5796333813468950924</id><published>2009-09-16T11:40:00.000-07:00</published><updated>2009-09-16T11:50:42.247-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T11:50:42.247-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><category scheme="http://www.blogger.com/atom/ns#" term="spriteme" /><title>Spritify with SpriteMe</title><content type="html">Using &lt;a href="http://spriteme.org/faq.php#def" target="blank"&gt;CSS sprites&lt;/a&gt; makes web pages faster, but they can take hours to create. Neophytes to this advanced performance optimization technique face the daunting challenge of trying to grasp the logic needed to convert their existing web page's background images into a spritified tribute to web performance. The bar shouldn't be so high.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spriteme.org/" target="blank"&gt;SpriteMe&lt;/a&gt; is an open source project that helps web developers create sprites in a matter of minutes rather than hours. Its main features are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;finds background images&lt;/li&gt;&lt;br /&gt;&lt;li&gt;groups images into sprites&lt;/li&gt;&lt;br /&gt;&lt;li&gt;generates the sprite image&lt;/li&gt;&lt;br /&gt;&lt;li&gt;recomputes CSS background-positions&lt;/li&gt;&lt;br /&gt;&lt;li&gt;injects the sprite into the current page&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;SpriteMe is a JavaScript bookmarklet, so it runs in all major browsers. It converts the web page to use sprites while you watch, making it easy to verify that the visual layout is preserved. It lets you drag-and-drop to re-arrange the sprite suggestions any way you want. Or, you can adopt all of SpriteMe's suggestions with one click on the "make all" button. When it's done spriting, simply save the sprite image(s) to your server and integrate the modified CSS into your stylesheets. Try the &lt;a href="http://spriteme.org/demo.php" target="blank"&gt;tutorial&lt;/a&gt; to see SpriteMe in action.&lt;br /&gt;&lt;br /&gt;Happy spriting!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://spriteme.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 158px;" src="http://2.bp.blogspot.com/_fxRR_bT3LgA/SrEyiOByKRI/AAAAAAAACAw/JLv2TOhMc24/s400/spriteme.png" border="1" alt="" id="BLOGGER_PHOTO_ID_5382138593146972434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Steve Souders, Performance Evangelist&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-5796333813468950924?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=suIv2PGE59E:qD1SBpFa4tI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=suIv2PGE59E:qD1SBpFa4tI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=suIv2PGE59E:qD1SBpFa4tI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/suIv2PGE59E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/5796333813468950924/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=5796333813468950924" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5796333813468950924?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5796333813468950924?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/suIv2PGE59E/spritify-with-spriteme.html" title="Spritify with SpriteMe" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fxRR_bT3LgA/SrEyiOByKRI/AAAAAAAACAw/JLv2TOhMc24/s72-c/spriteme.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/spritify-with-spriteme.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ESXgyeCp7ImA9WxNQEk8.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-5016144180789025183</id><published>2009-09-15T15:21:00.000-07:00</published><updated>2009-09-17T14:28:28.690-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-17T14:28:28.690-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gov 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenID" /><title>Report from the Gov 2.0 Summit</title><content type="html">Clearly designed as a conference to start but certainly not finish the conversation, last week's &lt;a href="http://www.gov2summit.com/" target="blank"&gt;Gov 2.0 Summit&lt;/a&gt; assembled an impressive cast of presenters and interviewers. Key White House decision makers, government innovators and industry enthusiasts took the stage and lined the hallways for three days.&lt;br /&gt;&lt;br /&gt;Having spent the last five years focusing on helping government adopt Open Source software and its collaboration model, my radar was tuned for explicit mentions / inclusions / endorsements of Open Source software.  It appeared that leveraging Open Source software to solve some of the thornier technology problems challenging government (think healthcare and public safety interoperability) had been more implied than expressed in recent months.  For the wider community looking for more signs of game change, the event provided plenty of evidence that Open Source is clearly at play.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/SrAVKBQUWrI/AAAAAAAACAg/KdLNgf9wnoA/s1600-h/CodeCrew.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/SrAVKBQUWrI/AAAAAAAACAg/KdLNgf9wnoA/s400/CodeCrew.jpg" alt="" id="BLOGGER_PHOTO_ID_5381824816587496114" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Paul Rademacher, Google and AllForGood.org, Brian Behlendorf, White House Consultant and Leonard Lin, CodeforAmerica.org&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Google-hosted reception Monday evening packed the public space at their headquarters on New York Avenue.  The event was attended by private industry, publicists and social media converts, non-profit and Open Source community leadership and government attendees and offered a nice opportunity to mix it up after a day of the Gov 2.0 Expo Showcase I sadly missed.  Some of the sessions however are &lt;a href="http://gov2events.blip.tv/posts?view=archive" target="blank"&gt;video-archived&lt;/a&gt; on the web.&lt;br /&gt;&lt;br /&gt;Lifting off in a small flurry of debate over the right hash tag for the Gov2.0 Summit, the two day Gov2.0 Summit opened with the and energy and grin of &lt;a href="http://en.wikipedia.org/wiki/Aneesh_Chopra" target="blank"&gt;Aneesh Chopra&lt;/a&gt;, Federal Chief Technology Officer. Chopra earned a reputation for creative collaboration with industry in his prior role as the Secretary of Technology for the Commonwealth of Virginia and brings the same to the federal scene.  Virginia's extensive use of Open Source and open collaboration, as well as that of former D.C. CTO — now Federal Chief Information Officer &lt;a href="http://en.wikipedia.org/wiki/Vivek_Kundra" target="blank"&gt;Vivek Kundra&lt;/a&gt;, is well known.&lt;br /&gt;&lt;br /&gt;The conference brought attendees through a whirlwind tour of recent innovation in government IT: data transparency projects like &lt;a href="http://www.appsfordemocracy.org/" target="blank"&gt;Apps for Democracy&lt;/a&gt; and resulting mash-ups and visualization as inexpensive and "dirty" Open Source solutions to real problems.  Open Source and its exceptional benefits of open standards and interoperability were highlighted in many presentations.&lt;br /&gt;&lt;br /&gt;Conference highlights:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Beth_Noveck" target="blank"&gt;Beth Noveck&lt;/a&gt; provided the most &lt;a href="http://tr.im/ylDR%20" target="blank"&gt;comprehensive picture&lt;/a&gt; of what progress had been made by the new administration and its policy road map.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Best of Show for Crowd-Rallying: &lt;a href="http://en.wikipedia.org/wiki/Carl_Malamud" target="blank"&gt;Carl Malamud&lt;/a&gt; discussed the need to make judiciary information — data and hearings — truly public in a day where “public” means “on the Internet.” In his speech designed in part for an audience not in the room, his closing comment asserted government operating systems should be Open Sourced brought the crowd to resounding applause.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Favorite Projects: Anything visualized — and most frequently enabled by Open Source.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Killer App: All things Geo-spatial.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Significant Announcement: The &lt;a href="http://en.wikipedia.org/wiki/General_Services_Administration" target="blank"&gt;General Services Administration&lt;/a&gt; (GSA) will begin experimenting with the use of &lt;a href="http://openid.net/" target="blank"&gt;OpenID&lt;/a&gt; to manage identity on government web sites.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fxRR_bT3LgA/SrAWf7bf9QI/AAAAAAAACAo/sdHoYnlkA1E/s1600-h/DavidRecordon.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fxRR_bT3LgA/SrAWf7bf9QI/AAAAAAAACAo/sdHoYnlkA1E/s400/DavidRecordon.jpg" alt="" id="BLOGGER_PHOTO_ID_5381826292492530946" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;David Recordon, OpenID Foundation Board of Directors&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;For the seasoned government attendees, there was in reality not a great deal of new information to be had. That was, in fact, good news; as one government manager shared with me, social media tools like &lt;a href="http://twitter.com/" target="blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://www.govloop.com/" target="blank"&gt;GovLoop&lt;/a&gt; have made it much easier to stay in touch with what other agencies are up to, plus the 2009 Federal IT Strategy has been broadly distributed and much discussed internally.&lt;br /&gt;&lt;br /&gt;The White House will release its new &lt;a href="http://www.internetnews.com/government/article.php/3838266" target="blank"&gt;Open Government Directive&lt;/a&gt; in a few weeks and will set federal agency wheels in motion. Implementation will be challenging and require the philosophy of change to shift into gear. Industry and government seem to agree that the next non-trivial challenge to technology innovation will be procurement reform.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Ed. Note: Post updated to correct caption.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Deb Bryant, Public Sector Communities Manager, Oregon State University Open Source Lab and Producer, Government Open Source Conference&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-5016144180789025183?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=bp7KcVmy8G0:soPF63yXIL0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=bp7KcVmy8G0:soPF63yXIL0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=bp7KcVmy8G0:soPF63yXIL0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/bp7KcVmy8G0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/5016144180789025183/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=5016144180789025183" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5016144180789025183?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/5016144180789025183?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/bp7KcVmy8G0/report-from-gov-20-summit.html" title="Report from the Gov 2.0 Summit" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/SrAVKBQUWrI/AAAAAAAACAg/KdLNgf9wnoA/s72-c/CodeCrew.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/report-from-gov-20-summit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4FSHo7eCp7ImA9WxNRFkk.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-8457138207826816411</id><published>2009-09-10T11:35:00.000-07:00</published><updated>2009-09-10T21:21:59.400-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-10T21:21:59.400-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc2009" /><title>Tasty New Google Summer of Code Stats</title><content type="html">It's time for more tasty statistics about Google Summer of Code 2005 - 2009.  After much crunching and gathering, we have added the 2009 Accepted Students by School data to our published &lt;a href="http://spreadsheets.google.com/ccc?key=p6DuoA2lJToKmUzoSq6raZQ#"&gt;statistics page&lt;/a&gt;. Here are some highlights...&lt;br /&gt;&lt;br /&gt; * We had a total of 591 schools represented this year, including 199 new schools, and a small but interesting number of "distance learning" schools.  (These make tabulation interesting.  If the student is studying remotely should the school, a.k.a the place of study, be the country where the school is - or where the student is?)  This brings our total numbers of schools represented during the 5 years of the GSoC program to 1382.&lt;br /&gt;&lt;br /&gt; * The 591 schools in 2009 are in a total of 81 countries, including seven countries that have not participated in past years.   These include Kazakhstan with two participating students, and the following new countries with one participating student each: Comoros, Dominican Republic, Iceland, Moldavia, Morocco, Nigeria.&lt;br /&gt;&lt;br /&gt; * For all you anxious alumni out there, here's the good part - which school has the most number of students participating.  University of Moratuwa in Sri Lanka continues to dominate the field with 22 students accepted.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Top 10 Schools in 2009 by # of Accepted Students&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sri Lanka - University of Moratuwa - 22&lt;br /&gt;Brazil - University of Campinas / UNICAMP - 12&lt;br /&gt;China - Graduate University of Chinese Academy of Sciences - 11&lt;br /&gt;Romania - Polytechnic University Of Bucharest - 11&lt;br /&gt;Poland - Gdansk University of Technology - 10&lt;br /&gt;Austria - Vienna University of Technology -   9&lt;br /&gt;India -  Birla Institute of Technology and Science Pilani, Goa campus -  9&lt;br /&gt;Sweden - Royal Institute of Technology -    9&lt;br /&gt;India - Institute of Technology, Banaras Hindu University -   8&lt;br /&gt;Singapore - National University of Singapore - 8&lt;br /&gt;&lt;br /&gt;And for comparison:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Top 10 Schools 2005 - 2009 by # of Accepted Students&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sri Lanka  - University of Moratuwa -  79&lt;br /&gt;Brazil  - University of Campinas / UNICAMP  - 37&lt;br /&gt;Canada - University of Toronto  - 34&lt;br /&gt;Austria  - Vienna University of Technology  - 31&lt;br /&gt;China  - Graduate University of Chinese Academy of Sciences  - 30&lt;br /&gt;United States  - University of Illinois at Urbana-Champaign -  28&lt;br /&gt;Poland  - Wroclaw University of Technology -  27&lt;br /&gt;Hungary - Budapest University of Technology and Economics -  21&lt;br /&gt;Canada  - Carleton University  - 21&lt;br /&gt;Romania -  Alexandru Ioan Cuza University of Iasi  - 20&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We hope you find these numbers to be of interest - there's lots more to see online.&lt;br /&gt;&lt;br /&gt;Here's where we ask for the readers help: as you review the list of schools, please keep your eyes open for any duplicates, misspelling or missing institutions.  We did our best, but as you can imagine, the report represents a bunch of small bites of data, we had more than several languages to parse, and we always try to respect each student's wishes as to how their school is designated. If you find something that looks wrong to you, especially in the 2009 data, please let us know in the comments section so we can take a look and correct as needed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Cat Allman, Google Open Source Programs&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-8457138207826816411?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=2i5MZoNfn7U:zF_tpO1hytg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=2i5MZoNfn7U:zF_tpO1hytg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=2i5MZoNfn7U:zF_tpO1hytg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/2i5MZoNfn7U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/8457138207826816411/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=8457138207826816411" title="15 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8457138207826816411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8457138207826816411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/2i5MZoNfn7U/tasty-new-google-summer-of-code-stats.html" title="Tasty New Google Summer of Code Stats" /><author><name>Cat Allman</name><uri>http://www.blogger.com/profile/03328856688494884083</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09375904300230216223" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">15</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/tasty-new-google-summer-of-code-stats.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4GQXY5fSp7ImA9WxNRFU8.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-4978300375349075931</id><published>2009-09-09T12:02:00.000-07:00</published><updated>2009-09-09T12:02:00.825-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-09T12:02:00.825-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="grameen" /><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="mifos" /><title>Endless Summer of Code ... Google Style</title><content type="html">While many students might be spending their summers backpacking around Europe, working at an investment bank, or catching up on their studies, our &lt;a href="http://code.google.com/soc/" target="blank"&gt;Google Summer of Code™&lt;/a&gt;  2009 students &lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/mifos/t124022702976" target="blank"&gt;Udai Gupta&lt;/a&gt; and &lt;a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/mifos/t124022702794" target="blank"&gt;Johan Hilding&lt;/a&gt; were helping to transform technology in the fight against global poverty through their work with the &lt;a href="http://www.grameenfoundation.org/" target="blank"&gt;Grameen Foundation&lt;/a&gt;, a global organization working to end poverty through microfinance and other initiatives to strengthen local business and social institutions. Udai and Johan recently concluded their projects with the &lt;a href="http://www.mifos.org/about" target="blank"&gt;Mifos Initiative&lt;/a&gt;, an Open Source information technology platform built by the Grameen Foundation to help microfinance institutions more effectively deliver financial services to the poor.  Sponsored and provided a stipend by Google, they spent their entire summer making stellar contributions to advance testing and quality assurance in the Mifos platform, improving the quality of our software for our customers and making it easier for developers around the world to contribute code to our platform.&lt;br /&gt;&lt;br /&gt;Udai, a recent Bachelor’s of Technology recipient from the &lt;a href="http://www.lnmiit.ac.in/" target="blank"&gt;LNM Institute of Information Technology India&lt;/a&gt; and Johan, a second year-student attending the &lt;a href="http://www.kth.se/" target="blank"&gt;Kungliga Tekniska Högskolan (KTH)&lt;/a&gt;  in Stockholm, Sweden, both applied to the Mifos Initiative to learn about testing, agile development, and pair programming all while helping to deliver a flexible technology solution to the microfinance industry.  Lead by their mentors, Jeff Brewster from the Grameen Technology Center in Seattle, Washington, USA and Adam Monsen, working remotely out of Minnesota, they collaborated across the globe with our entire community of microfinance practitioners and technology professionals.  &lt;br /&gt;&lt;br /&gt;With their work stretching across so many time zones and physical and cultural borders, at times it was challenging for Johan and Udai to work while being so far away.  Technology like Google Groups, IRC, Skype, and TokBox were instrumental in bridging the communication divide; yet, it was the steadfast commitment and passion to work late into the night that made successful collaboration possible.  &lt;br /&gt;&lt;br /&gt;Through Google’s commitment to the Open Source community, the Grameen Foundation has been able to utilize Udai and Johan's skills to make enormous contributions to the Mifos Initiative.  Udai’s major accomplishments throughout the summer included standardizing the naming conventions of our unit and integration tests, making these tests run independently of one another and optimizing the MySQL database to improve overall performance of these tests. His efforts helped lay the foundation for greater modularity in Mifos which will allow our community to build new functionality more effectively, enabling microfinance institutions to release new products and pioneer new technologies like mobile banking to serve the poor.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sqa92UeFgRI/AAAAAAAACAQ/ZgzqZcPlVmY/s1600-h/udaigupta.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sqa92UeFgRI/AAAAAAAACAQ/ZgzqZcPlVmY/s400/udaigupta.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5379195545846120722" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Udai Gupta&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;At the same time, Johan helped to triple the number of acceptance tests in Mifos, allowing us to do more frequent releases with the assurance that no code is breaking. His improvements to the acceptance test infrastructure from making drop-down boxes language independent, to making tests run in different locales are a huge value-add to our international customer base. His work will be utilized significantly as the Mifos team delivers an Arabic version of Mifos in their upcoming release.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fxRR_bT3LgA/Sqa-b23C7HI/AAAAAAAACAY/cAA2a70TO44/s1600-h/JohanHilding.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fxRR_bT3LgA/Sqa-b23C7HI/AAAAAAAACAY/cAA2a70TO44/s400/JohanHilding.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5379196190732774514" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Johan Hilding&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;With &lt;i&gt;Google Summer of Code&lt;/i&gt; 2009 now complete, Johan, like the majority of the more than 1000 students who contributed to one of 150 different projects, will be returning to his studies at KTH in Sweden.  However, for Udai this marks the beginning of a new path for him as he will be moving to Bangalore, India for the next 12 months to continue contributing to Mifos and supporting one of its leading customers, Grameen Koota.  The Grameen Foundation hopes to participate in future instances of &lt;i&gt;Google Summer of Code&lt;/i&gt; and we invited all folks interested to join our community at &lt;a href="http://www.mifos.org/developers" target="blank"&gt;www.mifos.org/developers&lt;/a&gt;. You too can help to change poverty one line of code at a time!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Adam Monsen, Mifos Summer of Code 2009 Mentor and Software Engineer, Grameen Foundation&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-4978300375349075931?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=cdLDa9WOxcQ:KuXKfIMLUow:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=cdLDa9WOxcQ:KuXKfIMLUow:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=cdLDa9WOxcQ:KuXKfIMLUow:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/cdLDa9WOxcQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/4978300375349075931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=4978300375349075931" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4978300375349075931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4978300375349075931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/cdLDa9WOxcQ/endless-summer-of-code-google-style.html" title="Endless Summer of Code ... Google Style" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/Sqa92UeFgRI/AAAAAAAACAQ/ZgzqZcPlVmY/s72-c/udaigupta.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/endless-summer-of-code-google-style.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEERHs5fyp7ImA9WxNREE8.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-6096848881541173531</id><published>2009-09-03T17:20:00.000-07:00</published><updated>2009-09-03T17:36:45.527-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T17:36:45.527-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="floss manuals" /><category scheme="http://www.blogger.com/atom/ns#" term="ogg" /><category scheme="http://www.blogger.com/atom/ns#" term="documentation" /><title>Ogg Theora Book Sprint</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://en.flossmanuals.net/floss/publish/TheoraCookbook/rsrc/Blog/ogg_booksprint_1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px; height: 306px;" src="http://en.flossmanuals.net/floss/publish/TheoraCookbook/rsrc/Blog/ogg_booksprint_1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What's the best way to spend a summer week in Berlin? Writing a &lt;a href="http://en.flossmanuals.net/theoracookbook" target=blank&gt;manual about Ogg Theora&lt;/a&gt; of course...at least that was the opinion of 6 dedicated souls brought together by &lt;a href="http://www.flossmanuals.net" target=blank&gt;FLOSS Manuals&lt;/a&gt; with the help of &lt;a href="http://code.google.com/opensource/" target=blank&gt;Google's Open Source Team&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The event is another in the growing body of FLOSS Manuals Book Sprints, kicked off by our first meeting to write a &lt;a href="http://en.flossmanuals.net/BookSprints/CaseStudyOne" target=blank&gt;manual for Inkscape&lt;/a&gt;. The aim of these sprints is to write a book in 5 days. Actually, we have done it it in shorter time – in February of this year we wrote a 260 page manual &lt;a href="http://en.flossmanuals.net/gnulinux" target=blank&gt;introducing newbies to the Command Line&lt;/a&gt; in 2 days. Though created quickly, these books are extremely well written texts: comprehensive, readable, and complete.&lt;br /&gt;&lt;br /&gt;For a long time we have been wanting to add to the available material on how to use &lt;a href="http://theora.org/" target=blank&gt;Ogg Theora&lt;/a&gt; – the premier free video codec. Waiting until now to do it turned out to be very fortuitous as Firefox 3.5 was released just weeks before and hence Theora has been given a very recent boost with native support via the &lt;a href="http://en.flossmanuals.net/TheoraCookbook/HTML5" target="_blank"&gt; HTML5 video tag&lt;/a&gt;. As it happens a lot of the technologies supporting Theora have come to recent maturity. Only a few months ago it was hard to find a simple GUI editor for Theora video but now &lt;a href="http://www.pitivi.org/wiki/Main_Page" target=blank&gt;PiTiVi&lt;/a&gt; can manage simple &lt;a href="http://en.flossmanuals.net/TheoraCookbook/PiTivi" target="_blank"&gt;editing very easily and smoothly&lt;/a&gt; and the development track looks very good. Theora also has &lt;a href="http://en.flossmanuals.net/TheoraCookbook/Publishing" target="_blank"&gt; great subtitling support&lt;/a&gt;, either through embedded subtitles or using an extension to JQuery javascript libraries. Streaming is looking good also with the fantastic &lt;a href="http://en.flossmanuals.net/TheoraCookbook/TSS" target="_blank"&gt;Theora Streaming Studio&lt;/a&gt; and you can get grubby on the command line with a whole host of mature tools for &lt;a href="http://en.flossmanuals.net/TheoraCookbook/LosslessIntro" target="_blank"&gt;manipulating and analyzing Theora files&lt;/a&gt;. There is more of course, much more, but the point being that we were very happy to have the opportunity to gather some Theora junkies in one spot for a week and write a book on all the cool stuff you can do with Theora video.&lt;br /&gt;&lt;br /&gt;A 220 page manual in 5 days - not bad. And it's all free, libre and gratis. Some of the material is also now being translated by the FLOSS Manuals Finnish community, and we hope more translations will follow.&lt;br /&gt;&lt;br /&gt;Present at the sprint was myself (&lt;a href="http://www.xs4all.nl/%7Eadam/" target=blank&gt;Adam Hyde&lt;/a&gt;, founder of FLOSS Manuals), Jan Gerber (ffmpeg2theora developer), Jörn Seger (Ogg Tools developer), Holmes Wilson (FSF Campaigns manager) and Theora geeks Susanne Lang and David Kühling. A few popped in remotely to help out, for which we are always grateful – notably &lt;a href="http://blog.gingertech.net/" target=blank&gt;Silvia Pfeiffer&lt;/a&gt; and Ogg K.&lt;br /&gt;&lt;br /&gt;In the end we have free documentation that you can &lt;a href="http://en.flossmanuals.net/TheoraCookbook/AboutThisManual" target="_blank"&gt;read online, download as a PDF, or log in and improve&lt;/a&gt;. It's also available in dead tree format for those who'd like it on their shelf.&lt;br /&gt;&lt;br /&gt;Many thanks to Google for supporting this, and also to the &lt;a href="http://www.sommercampworkstation.de/" target="_blank"&gt;Berlin Sommercamp&lt;/a&gt; for inviting us to include this sprint as part of their event.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Adam Hyde, FLOSS Manuals&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-6096848881541173531?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=DWcVHcYghTA:d3XkGJQmCbI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=DWcVHcYghTA:d3XkGJQmCbI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=DWcVHcYghTA:d3XkGJQmCbI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/DWcVHcYghTA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/6096848881541173531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=6096848881541173531" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6096848881541173531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6096848881541173531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/DWcVHcYghTA/ogg-theora-book-sprint.html" title="Ogg Theora Book Sprint" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/ogg-theora-book-sprint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcMSXg4eSp7ImA9WxNREE0.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-6797292546899354765</id><published>2009-09-03T11:50:00.000-07:00</published><updated>2009-09-03T11:54:48.631-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T11:54:48.631-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse" /><title>Eclipse Day at the Googleplex 2009</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_S5_xMiIF4Sc/SqAQRMPLvNI/AAAAAAAAANQ/JwyDU_EcP_w/s1600-h/IMG_2106.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_S5_xMiIF4Sc/SqAQRMPLvNI/AAAAAAAAANQ/JwyDU_EcP_w/s400/IMG_2106.JPG" alt="" id="BLOGGER_PHOTO_ID_5377315842609102034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After months of anticipation, we finally put on &lt;a target="blank" title="Eclipse Day at the Googleplex, 2009" href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009" id="e780"&gt;Eclipse Day at the Googleplex, 2009&lt;/a&gt;. This event was hosted by the &lt;a target="blank" title="Google Open Source Program Office" href="http://code.google.com/opensource/" id="psa:"&gt;Google Open Source Programs Office&lt;/a&gt;, and really, they did a great job. Seriously big thanks to &lt;a target="blank" title="Chris DiBona" href="http://egofood.blogspot.com/" id="j4zi"&gt;Chris DiBona&lt;/a&gt;, &lt;a target="blank" title="Shawn Pearce" href="http://spearce.org/" id="nd_2"&gt;Shawn Pearce&lt;/a&gt;, &lt;a target="blank" title="Leslie Hawthorn" href="http://www.hawthornlandings.org/" id="debu"&gt;Leslie Hawthorn&lt;/a&gt;, &lt;a target="blank" title="Cat Allman" href="http://topicalrothko.blogspot.com/" id="a6di"&gt;Cat Allman&lt;/a&gt; and Ellen Ko, who put together a fantastic program.  I must also thank &lt;a target="blank" title="Ian Skerrett" href="http://ianskerrett.wordpress.com/" id="zmiz"&gt;Ian Skerrett&lt;/a&gt; and &lt;a target="blank" title="Lynn Gayowski" href="http://leftylynn.blogspot.com/" id="tws5"&gt;Lynn Gayowski&lt;/a&gt; of the &lt;a target="blank" title="Eclipse Foundation" href="http://www.eclipse.org/org/" id="gcci"&gt;Eclipse Foundation&lt;/a&gt; for all the work they did putting together such a solid program. Ian actually sat right next to me while we were listening to one of the final talks "&lt;a target="blank" title="Google Plugin for Eclipse: Not Just for Newbies Anymore" href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Google_Plugin_for_Eclipse:_Not_Just_for_Newbies_Any_More" id="thbs"&gt;Google Plugin for Eclipse: Not Just for Newbies Anymore&lt;/a&gt;" given by my Google colleague, Miguel Méndez.  Miguel demonstrated how the Google Plugin for Eclipse deals with launch configurations. I was drooling.&lt;br /&gt;&lt;br /&gt;We had a full house of guests that came to hear about Eclipse: modeling, DSLs, OSGi, Android, and Eclipse in enterprise environments: Google, eBay and NASA. In fact, my teammate, Terry Parker, and I gave the keynote presentation, titled "&lt;a target="blank" title="Eclipse in the Enterprise: Lessons from Google" href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Eclipse_in_the_Enterprise:_Lessons_from_Google" id="g-vp"&gt;Eclipse in the Enterprise: Lessons from Google&lt;/a&gt;" which was a glimpse into what it takes to support all the people at Google who build applications with Eclipse.&lt;br /&gt;&lt;br /&gt;Thanks to everyone who came. It was a pleasure meeting all of you.&lt;br /&gt;&lt;br /&gt;You can check out the &lt;a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#" target="blank"&gt;talk abstracts and slides&lt;/a&gt;, or check out the videos below.  Happy hacking!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By &lt;a target="blank" href="http://konigsberg.blogspot.com/"&gt;Robert Konigsberg&lt;/a&gt;, Software Engineering Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Xr6gRTSQspc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Xr6gRTSQspc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bhdGNTm4PzI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/bhdGNTm4PzI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4YfAo9ZoEGQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/4YfAo9ZoEGQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MDaP3-l-z4g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/MDaP3-l-z4g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/f6RlqdiwGrM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/f6RlqdiwGrM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Cjzu--5aLr0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Cjzu--5aLr0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3pDnBOKGVf0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/3pDnBOKGVf0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dlpGNQdUdHI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/dlpGNQdUdHI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hDIpCxRO2pk&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/hDIpCxRO2pk&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-6797292546899354765?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=OIk2pHkM4po:JAeDrChFQrg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=OIk2pHkM4po:JAeDrChFQrg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=OIk2pHkM4po:JAeDrChFQrg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/OIk2pHkM4po" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/6797292546899354765/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=6797292546899354765" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6797292546899354765?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6797292546899354765?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/OIk2pHkM4po/eclipse-day-at-googleplex-2009.html" title="Eclipse Day at the Googleplex 2009" /><author><name>Ellen Ko</name><uri>http://www.blogger.com/profile/01259694314067375269</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04397124090885274713" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_S5_xMiIF4Sc/SqAQRMPLvNI/AAAAAAAAANQ/JwyDU_EcP_w/s72-c/IMG_2106.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/09/eclipse-day-at-googleplex-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUEQH88fSp7ImA9WxNSE0w.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-8343621535187000736</id><published>2009-08-26T12:00:00.000-07:00</published><updated>2009-08-26T12:00:01.175-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-26T12:00:01.175-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><title>Wrapping Our Fifth Google Summer of Code</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fxRR_bT3LgA/SpVaPzfULdI/AAAAAAAACAI/q05o7p65sN4/s1600-h/GSOCLogo2009.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_fxRR_bT3LgA/SpVaPzfULdI/AAAAAAAACAI/q05o7p65sN4/s400/GSOCLogo2009.png" alt="" id="BLOGGER_PHOTO_ID_5374300957902646738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The sun has set on our fifth year of introducing college and university students to Free and Open Source software development, and what a year it's been! Just under 2000 mentors and 1000 students began working together to improve the code bases of 150 projects, and we're pleased to let folks know that 85 percent of our student participants have received passing &lt;a href="http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#evaluations" target=blank&gt;final evaluations&lt;/a&gt;, up a full two percent over 2008 and our &lt;a href="http://code.google.com/p/google-summer-of-code/wiki/ProgramStatistics" target=blank&gt;best success rate to date&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These successful Open Sourcerers are busy preparing code samples for the world's perusal, and we'll post an update here when actual source code produced during this year's &lt;i&gt;Google Summer of Code&lt;/i&gt; has been made available on &lt;a href="http://code.google.com/hosting" target="blank"&gt;project hosting on Google Code&lt;/a&gt;. Of course, there's no real need to wait for code samples - many of these students have already had their work integrated into their project's code base, so check out their work by visiting the websites and mailing lists of your &lt;a href="http://socghop.appspot.com/program/accepted_orgs/google/gsoc2009" target="blank"&gt;favorite participating projects&lt;/a&gt; now. We'll also be publishing more extensive statistics from our program evaluations, along with wrap up reports from some of our participating &lt;a href="http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#org_is" target="blank"&gt;mentoring organizations&lt;/a&gt;, so stay tuned for more details in the coming weeks.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2224/2309672430_a04262c35c.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 333px;" src="http://farm3.static.flickr.com/2224/2309672430_a04262c35c.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Google Summer of Code Mentors Dimitri Gaskin and Karoly Negyesi&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Photo courtesy of Scott Hadfield&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Congratulations to all of our students for their achievements this Summer. We certainly hope you will continue helping your project communities with source code, documentation and general enthusiasm long after this Summer has ended. Many thanks also to our community of mentors, without whose time, skill and dedication this program would not be possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Leslie Hawthorn, Open Source Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-8343621535187000736?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=zXFYy1VRvTw:0UMBxIt3kms:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=zXFYy1VRvTw:0UMBxIt3kms:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=zXFYy1VRvTw:0UMBxIt3kms:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/zXFYy1VRvTw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/8343621535187000736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=8343621535187000736" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8343621535187000736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8343621535187000736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/zXFYy1VRvTw/wrapping-our-fifth-google-summer-of.html" title="Wrapping Our Fifth Google Summer of Code" /><author><name>Leslie Hawthorn</name><uri>http://www.blogger.com/profile/04472868563053273609</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17288473024986932204" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fxRR_bT3LgA/SpVaPzfULdI/AAAAAAAACAI/q05o7p65sN4/s72-c/GSOCLogo2009.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/08/wrapping-our-fifth-google-summer-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYGR3c8eyp7ImA9WxNSEkQ.&quot;"><id>tag:blogger.com,1999:blog-8698702854482141883.post-2565671403262292494</id><published>2009-08-25T17:16:00.000-07:00</published><updated>2009-08-26T06:25:26.973-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-26T06:25:26.973-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gsoc" /><category scheme="http://www.blogger.com/atom/ns#" term="Debian" /><title>DebConf9 in Cáceres, Spain: Time of changes</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_mphjMxzpSpo/SpR__9_BsaI/AAAAAAAAABs/00EjHZS3-Kc/s1600-h/dfdcbkwm_48fnmsmgcb_b.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 223px;" src="http://3.bp.blogspot.com/_mphjMxzpSpo/SpR__9_BsaI/AAAAAAAAABs/00EjHZS3-Kc/s400/dfdcbkwm_48fnmsmgcb_b.jpg" alt="" id="BLOGGER_PHOTO_ID_5374060992307245474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Every year several hundreds of Debian contributors from around the world get together at DebConf in a different city to share a week (or more!) of work, friendship and fun.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The 10th annual Debian Developers Conference just ended a few days ago in the beautiful medieval city of &lt;a title="Cáceres" href="http://en.wikipedia.org/wiki/C%C3%A1ceres,_Spain" id="j36i"&gt;Cáceres&lt;/a&gt; in Spain with Debian Project Leader Steve McIntyre concluding: "This has been one of the most productive conferences we have ever held. Our developers and teams achieved a great deal during this short period, and this will surely have a big impact on the upcoming release of 'Squeeze'."&lt;br /&gt;&lt;br /&gt;Among the many notable talks were the release goals and plans for Debian GNU/Linux 6.0 "Squeeze" as well as the new timed freezes release policy, and the Project Leader's keynote about working further towards Debian's motto of being the "universal operating system".&lt;br /&gt;&lt;br /&gt;In all, over 130 different sessions took place during the conference, ranging from formal talks to numerous spontaneously scheduled meetings. For most of these sessions, live video streams were made available over the internet as well as recordings: &lt;a href="http://debconf9.debconf.org/video"&gt;http://debconf9.debconf.org/video&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Also this year, several students from the Google Summer of Code program in the Debian project were present to receive feedback on their projects, gather new ideas, and establish relationships with fellow developers. Along with the technical discussions and idea exchange, the students were able to experience by themselves the Debian community, one of the key factors that makes Debian the amazing project that it is.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_mphjMxzpSpo/SpSAfoDIqUI/AAAAAAAAAB0/RIaAGIbQQOo/s1600-h/dfdcbkwm_47gt3bf3cw_b.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_mphjMxzpSpo/SpSAfoDIqUI/AAAAAAAAAB0/RIaAGIbQQOo/s400/dfdcbkwm_47gt3bf3cw_b.jpg" alt="" id="BLOGGER_PHOTO_ID_5374061536174713154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Google Summer of Code™ students and Debian Developrs, left to right: Sha Liu, Per Andersson, Diego Escalante, Michael Schultheiss, Obey Arthur Liu, Bdale Garbee, Neil McGovern, Steve McIntyre (Debian Project Leader)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Attending as Google Summer of Code students were: Per Andersson, Diego Escalante and Sha Liu. Aurelien Jarno and Wookey were present as mentors and, Obey Arthur Liu and Steve McIntyre as administrators. Sadly this year we couldn't have the full Google Summer of Code crew due to problems with visas, work, universities.. but the very high concentration of Debian Developers has helped several Google Summer of Code projects both on site and remotely.&lt;br /&gt;&lt;br /&gt;As the week progressed students were able to get feedback from different people about their current work:&lt;br /&gt;&lt;br /&gt;Per Andersson, flying from Stockholm, Sweden: working on adding support for installing Debian on MTD flash based devices, opening Debian to a whole new class of popular embedded devices.&lt;br /&gt;&lt;i&gt;"DebConf9 really met my expectations. Loads of freedom loving nerds -- People like me! During the week I had the chance to engage people whom worked with related software; amongst them Debian Installer and GNU Parted developers. I also made contact with the Debian FreeSmartphone.org team, who maintains packages targeted at OpenMoko phones.&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Diego Escalante, flying from Lima, Perú: working on Amancay, a new interface to the Debian Bug Tracking System targeted at improved collaboration.&lt;br /&gt;&lt;i&gt;"I was able to talk with others about ideas and important points to consider to get more people involved in triaging bugs in Debian. Also users and developers shared thought-some feelings about increasing triaging and how it would affect them. Above all, the conference also gave me the chance to get an inside look of how Debian developers work and think and how they are different from other developer communities I know, allowing me to take more things into account in designing the UI of.&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Sha Liu, flying from Shanghai, China: working on creating a mips3 port, bringing to an important range of netbooks popular in Asia.&lt;br /&gt;&lt;i&gt;"I discussed problems I encountered in the project and introduced the loongson2F CPU to many developers interested in porting their software to mips. The members of the emdebian team shared with me a lot of valuable experience including using the qemu simulator, the process of building a Debian armel port etc. However, the most important things I learned during DebConf9 was the infrastructure and philosophy of Debian-the most universal operating system.&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_mphjMxzpSpo/SpSBRYuOrSI/AAAAAAAAAB8/oCx8DWlhE8w/s1600-h/dfdcbkwm_49ggt92qgk_b.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_mphjMxzpSpo/SpSBRYuOrSI/AAAAAAAAAB8/oCx8DWlhE8w/s400/dfdcbkwm_49ggt92qgk_b.jpg" alt="" id="BLOGGER_PHOTO_ID_5374062391053954338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;All the attendees going to the daytrip to Valle del Jerte: hiking, swimming, sunbathing.&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The whole Debian community is grateful to Google for being a great sponsor of the conference and specifically sponsoring the entire travel costs of our Google Summer of Code students.&lt;br /&gt;&lt;br /&gt;The Google Summer of Code has been a success for each of the past four years Debian has participated, and we look forward to welcoming more students at Debian and DebConf.&lt;br /&gt;&lt;br /&gt;See you in 2010 at DebConf10, taking place this time in the heart of Manhattan, New York City, USA!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Photos courtesy of Aigars Mahinovs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;" class="byline-author"&gt;By Obey Arthur Liu, Debian Google Summer of Code 2009 Organization Administrator, 2008 Student&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698702854482141883-2565671403262292494?l=google-opensource.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=CwxIu-gshMU:dcAmHMyt0S4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?a=CwxIu-gshMU:dcAmHMyt0S4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOpenSourceBlog?i=CwxIu-gshMU:dcAmHMyt0S4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~4/CwxIu-gshMU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://google-opensource.blogspot.com/feeds/2565671403262292494/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8698702854482141883&amp;postID=2565671403262292494" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2565671403262292494?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2565671403262292494?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOpenSourceBlog/~3/CwxIu-gshMU/debconf9-in-caceres-spain-time-of.html" title="DebConf9 in Cáceres, Spain: Time of changes" /><author><name>Cat Allman</name><uri>http://www.blogger.com/profile/03328856688494884083</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09375904300230216223" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_mphjMxzpSpo/SpR__9_BsaI/AAAAAAAAABs/00EjHZS3-Kc/s72-c/dfdcbkwm_48fnmsmgcb_b.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://google-opensource.blogspot.com/2009/08/debconf9-in-caceres-spain-time-of.html</feedburner:origLink></entry></feed>
