9:00 – 9:45am

How does free software help defend free speech in repressive regimes? Danny O’Brien will draw from the records of the Committee to Protect Journalists to explore how open source can help those at the cutting edge of free expression.

Ever wanted to create your own printed circuit board? There are open source tools for that. This session will take you step-by-step through the process of creating a printed circuit board using the gEDA suite of electronic design automation tools. Beginners are welcome, no previous hardware experience required.

Why do so many technical presentations suck? Make sure that yours
doesn’t. Josh Berkus and Ian Dees will show you how to share your
ideas with your audience by speaking effectively and (when the
situation warrants it) showing your code.

Lots of attention has been given to GPUs for speeding up certain types of computations. While GPUs are very well suited for vector operations, there are other things they are not so well suited for. FPGAs (Field Programmable Gate Arrays) are not used as widely yet, but they offer a much more flexible computing fabric than GPUs. You can implement a GPU in an FPGA, for example, or you could implement your own custom processor optimized for very specialized tasks. The barrier to entry can be high for FPGAs: how does a person with a software development background get started using them? And what about HDLs (Hardware Description Langauges) used to program FPGAs? What’s the difference between simulation and synthesis? What kinds of tools are freely available? These are some of the questions that will be addressed in this session.

Thomas Jefferson envisioned a nation of self-sufficient citizen farmers; programmers like Alan Kay and Bill Atkinson tried to help us code as easily as we might hang a poster on the wall. What happened to the HyperCard ideal? Have we settled for consumption over creation? I will explore the question through a case study, surveying the state of citizen programming in 2010 — from CouchApps to Shoes to plain-jane HTML5+JS to HyperCard 2.4 — and try to convince all comers that realizing the dream of the citizen coder is vital to continuing the ideals of open source.

Node.js is one of the most exciting things to happen to server-side development in the last few years. Here you’ll find out why Node.js is a perfect fit for your next project and a better fit than existing languages for modern web development.

It may seem obvious to some, but the socialist imagery that Mozilla uses isn’t accidental. Nor is the grounding of Activity Streams in socialist theory. What do these things have to do with open source an its future? A lot, and I’ll paint a picture to tell you how it should play out.

The most common way of using SSL/TLS encryption relies on a public-key infrastructure that puts near-absolute trust in a large number of entities around the world, any one of which could accidentally or deliberately empower anyone to impersonate any site or service and spy on all of our communications. We’ve seen that these certificate authorities can make mistakes. We need new mechanisms to meaningfully double-check that they’re doing the right thing.

2:30 – 3:15pm

What is possible when you can consume servers on various hosting providers with nothing more than a python script? This talk will discuss libcloud, an Apache Incubator project dedicated to building standard interfaces into the cloud.

It’s not enough to have a website. You need to have your website (and your business) be findable, and not drive normal people (eg, everyone but you and your web designer) nuts. And you need to make sure that Google has it right.

The Obama administration signed the Open Government Directive on its first day in office, promising to make government more collaborative, transparent and participatory. This panel will explore nongovernmental projects currently underway throughout the US and world that aim to forward this vision.

3:15 – 3:45pm

3:45 – 4:30pm

This talk focuses on adapting and augmenting interfaces to memcache in order to overcome some of its limitations and to better utilize available resources. Then we’ll talk about combining those interfaces in a simple, snap-together fashion.

PSAS is a student aerospace engineering project at Portland State University. We’re building ultra-low-cost, open hardware and open source rockets that feature perhaps the most sophisticated amateur rocket avionics systems out there today.

4:45 – 5:30pm

Wikis are easy as pie to install, edit, and even to develop. The real challenge they present is in bringing together the right people in the right way to make things happen. There are ways to tackle that challenge that can give your open source community a fighting chance.

With millions of users signing on daily to access their favorite social media services – be it Twitter, Facebook or Digg – a developer’s worst fear is not having the backend support to house and provide access to such huge amounts of related data.

Industry efforts to architect next generation databases that can scale massively by pairing open source databases and content management technologies with cloud-computing are underway. The door is also “opening” to a whole new world of user benefits which will be made possible by access to data — cross-cloud — in non-proprietary databases and content management systems.

As a “software person,” I found the hard technologies of building with steel and wood made for a very different creative and hacking process. At the same time, I discovered many parallels to software development, embedded hardware, and even open-source philosophies.

Curious about OAuth? Ever wondered why OAuth has steadily gained popularity among major API providers such as Google and Twitter? Ever wondered how OAuth helps streamline consuming data from other providers? Learn more about OAuth the specification and how to implement OAuth with PHP5. The session will cover the basics of OAuth, and follow up with an OAuth implementation using php.net/oauth.

Transparency advocates, government data owners/shepherds, technologists , privacy advocates, policy analysts and wonks and anyone else with an interest in what it takes to create an open government meet to discuss their needs and challenges from their perspective in an open and facilitated forum.

10:00 – 11:45am

Creating functional requirements as a part of the planning process is like creating a treasure map. You want to get compensated for the value your cool built-with-open-source-thing is providing to your clients. Your clients want it to work better than what they originally had in mind. If you do the work upfront, you’ll know when you’ve hit the X marks the spot.

You’ve launched your new web site and it’s starting to get some attention. You’ve tuned your database and optimized your HTTP daemon, but what if it’s not enough to keep up with all the hits you’re getting? We’d like to introduce you to your two new best friends: Varnish and Pressflow.

The Drizzle Project is a fork of the MySQL 6.0 server. One of the many goals of Drizzle is to enable a large plugin ecosystem by improving, simplifying, and modernizing the application programming interfaces between the kernel and the modules providing services for Drizzle. This tutorial serves to showcase the new APIs for Drizzle’s replication through a series of in-depth examples.

How does Red Hat have wild success with Fedora and other FLOSS projects? By following a method firmly rooted in humanism, practice, and science. Learn in this session how to be an effective catalyst in communities of users, contributors, and businesses.

“This compression algorithm is of course very inefficient, at least when applied to a small collection of documents. But if you were to apply it to a larger collection, say, all the music ever recorded and all movies ever made, some gains may be realized…

Unlike most areas of enterprise IT, open source solutions in the storage industry have remained in the background. In 2010 this situation is going to change dramatically with new open source storage solutions, next-generation Linux file systems, and emerging cloud offerings making significant inroads.

MongoDB is an open source, high-performance, schema-free, document-oriented database that is rapidly gaining in popularity among web developers. In this talk we’ll introduce MongoDB and the features that make it great choice for your web applications.

This presentation will show how to connect to REST-based web services from an Android application. We’ll discuss HTTP programming as well as XML and JSON libraries. This presentation will include a live demo of an Android application.

You’ve worked really hard on your software. It’s stable and has lots of nice features and users love it. But your sysadmin hates it and complains about how hard it is to install, configure, and manage. What’s up with that?

2:30 – 3:15pm

Touchscreen is a platform for creating interactive kiosk and dashboard displays. It powers presentations for visitors to the Open Source Lab’s data center and the network operations center. Come learn how touchscreen works and how to use it for your own display screens.

Two unsuspecting university project managers became super heroes when they stumbled upon the magic of open source CMS and sold their vision to bring web design in house, thus saving the university tens of thousands of dollars, better meeting their students’ needs for online information, creating reliable revenue streams and enabling departments to more efficiently do their business.

Treating the internet and all its sources as a database, YQL seeks to allow developers to explore government, social, api and all other external data in a standardized way. Further allowing developers to manipulate this data and mash different sources together, YQL works to open up the web and all its sources.

3:15 – 3:45pm

3:45 – 4:30pm

Bug reports drive Open Source, but too often it’s a hostile experience. As a user, how do you report a bug without being treated like you’re dumping a sack of crap on the developer’s doorstep? As a developer, how do you encourage users to report bugs? This is not a tutorial, but an examination of the social aspects of bug reporting.

Cassandra is an open source, highly scalable distributed database that brings together Dynamo’s fully distributed design and Bigtable’s ColumnFamily-based data model. In this talk we’ll discuss the strategies Cassandra employs to provide an eventually consistent data model.

Augmented Reality and Geolocation have been hot topics this year, but there has often been a confusion between aesthetics vs. practicality, and fantasy vs. reality. This presentation will highlight the advantages and disadvantages of visual and non-visual augmented reality. We’ll tell stories from our experiences building location-aware social networks with custom proximity notification.

The symfony framework is a full-stack web framework for PHP. It’s great for building websites, but you might be surprised where else it comes in handy. David Brewer shows how Second Story uses symfony to build custom content management and delivery systems powering interactive installations ranging from collections of Disney memorabilia to maps plotting every monument at Gettysburg.

4:45 – 5:30pm

Should you start a foundation? Should you start a nonprofit? What’s the role of non-profits in the Open Source community today? How can you be a good citizen in the Open Source arena with a foundation to support?

Agile processes can be very successful for both clients and developers, but the rapid pace and the lack of detailed long-term plans can make it difficult to design and build high quality user experiences. We’ll talk about good ways to do that.

Every time your server sends or receives a packet, it copies it to (or from) a temporary kernel buffer. What an incredible waste of CPU and memory bandwidth! RDMA solves this, at a huge complexity cost. This talk will cover what happens when a dynamic language meets a direct-memory-placement protocol.

6:00 – 6:45pm

This yoga session is of benefit to anyone who sits and works on computers a lot. Breathing exercises and physical postures that can be done anytime to help maintain a healthy body and clear mind will be taught. Suggestions will be included for how to modify stretches to protect injuries and provide gentle opening.

10:00 – 11:45am

Writing quality software is a worthwhile challenge. Learn how to harness the magic of testing to create better software. This presentation will provide you with an overview of the different kinds of tests, show code using different testing tools, and help you decide when and how to apply these to your projects

Puppet is a powerful configuration management tool that makes life easier for people managing systems and applications. This tutorial gives you an in-depth and hands-on introduction to Puppet that is ideal for beginners to Puppet and configuration management.

JavaScript is a unique and powerful language. Its ubiquity in the browser and its elegant concurrency model make JavaScript an ideal tool in a number of situations. Learn about the best ways to use and to understand this language from a full-time JavaScript professional.

The problem: My HVAC system is not balanced. Easy but boring solution: Hire a qualified contractor to fix it. More interesting solution: Use knowledge from dusty undergrad degree in electronics to cobble together some simple wireless temperature sensors using XBee modules and distribute them around the house. Then use Java programming knowledge to build up a monitoring system using open source software. Attempt to use readings from temperature sensors to figure out what’s going on and fix it. This presentation will delve into the hardware and software aspects of the system, although with more emphasis on the software and the role that packages such as Apache Felix and Apache Mina play in the system.

30 Hour Day was the first web-based live streaming telethon of its kind, designed to raise money for local charities in Portland and beyond. In this presentation, I’ll share my “eureka moment” when I realized that 30 Hour Day could be the lightening rod for smaller charities in local communities around the world to use our content to raise money and awareness.

We’ll also have a preview of the next 30 Hour Day (July 2nd & 3rd at Pioneer Courthouse Square) and how you can get involved!

USB 3.0 promises a 10x speedup and better power management than USB 2.0. But how do these devices actually work? Is there open source support for them? Come learn about these fast new devices that are finally hitting the market.

XHP is a PHP extension which augments the syntax of the language such that XML document fragments become valid PHP expressions. It fits somewhere between a templating language and a programmatic UI library. XHP allows you to use PHP as a stricter templating engine and offers a very straightforward way of implementing reusable, extensible components.

2:30 – 3:15pm

Cloud computing, it’s not all just hype! This presentation will highlight the benefits of an application centric view of infrastructure and operations and include a live demo building cloud infrastructure and providing services using Open Source tools. Starting with bare Linux images, Open Nebula will be automatically installed and configured on a cluster, while walking through the tools, architecture and resources you need to do the same thing.

HipHop transforms PHP source code into highly optimised C++ and then compiles it using g++. It allows developers to continue writing complex logical directly with PHP but leverages the speed benefits of using C++. Currently, HipHop powers the majority of Facebook servers, making this more than just a theoretical exercise.

This session will cover how HipHop works, how to setup HipHop and the small changes that may be required to applications to allow it to work with both PHP and HipHop.

Open source software projects can succeed or fail based on their documentation. Thanks to Sphinx, open source developers now have a “documentation framework” that provides convenient indexing and automatic syntax highlighting, integrates your documentation with your code, and can automatically generate a beautiful manual as a PDF document.

Thanks to new database projects like CouchDB, TokyoCabinet, Solr and others, there are more non-relational database options available than ever for developers. Yet good information on how to choose what kind of database you need is still scarce. We’ll cure that in this talk.

“Do you watch television? Is your furnace loud? Do you have $2?” My 7-year-old’s marketing suggestions aside, building custom gadgets to improve your life is remarkably simple, and I’ll prove it by building something on stage that you can duplicate at home.

You have so much you want to teach, how do you structure it so that your training course is both interesting and challenging? How much theory can you squeeze into an hour before your attendees have forgotten where you started? How do you structure your course to account for classes which move slower or faster than average? This talk will cover all of these answers and more.

3:45 – 4:30pm

This session examines common application architectures in regards to threading and I/O handling. Various threading models are described and weighed, explaining the pros and cons of each. For I/O, topics such as the the c10k problem and buffering are discussed with solutions. A C++ framework is introduced as an example, but the concepts are applicable to other languages as well.

Open Source is great fun, even in the area of professional services. But sometimes, you want to be able to pay the bills with your awesomeness too. One of the areas of difficulty is setting boundaries with clients, even though you really just want to write amazing stuff.

Social software is kind of a big deal right now. In the open-source spirit of transparency and dissection, let’s talk about what makes social technology creepy, what makes it fun, and how to hack things to maximize your desired outcome.

Co-conspirators Jamey Sharp and Josh Triplett get up to a lot of miscellaneous hacking mischief together. Much of this hacking occurs while staring at the same screen, and tag-teaming the keyboard. Sometimes this happens with the two of them in different places. We’ll demo our favorite tools and invite audience contributions to the discussion.

The United States has a treasure trove of nautical charts in digital form, including plots of shipwrecks, navigation buoys, coastal and river depths, and other fine booty. OpenStreetMap is an open source, open format collaborative project for building a free map of the world. Join this session to find out more of the marine secrets of the National Oceanographic and Atmospheric Administration (NOAA), OpenSeaMap’s plans to extend OSM to the high seas, and splicing the two (and your mainbrace) together. We’ll use the Geospatial Data Abstraction Library (GDAL), OGR, Python, and the OSMAPI.

Creating a redundant yet scalable virtualization environment is often difficult and expensive. Ganeti is an open source project which offers many solutions to simplify a clustered virtual machine environment while enabling you to use low cost hardware. This session will walk through Ganeti covering its basic design goals/features, installation architecture, and production implementation.

Using your computer on a public network is like having a conversation on a city bus: people you don’t know can hear everything you say. They’ll probably be polite and ignore you, but you still might not want to shout out your credit card number. Yet this is what your computer does. All the time. And you don’t know it.

What motivates us as developers? How do we define success? Throughout the development of Spaz, we’ve learned a lot about what works, what doesn’t, and what really matters. Come to hear the story, and participate in the discussion of how we define success in open source.

An opportunity to meet with other Google Summer of Code students, mentors, admins, and future participants. Learn how you can get involved, or share your personal experience with the program and give feedback on what works and how things could work better.