Cooking track

Useful recipes for software development, systems administration, and working with open source.
From the beginner to the advanced level, we’re looking for tips, tutorials, best practices, and collaborative development sessions. Share what you know about your favorite tools, programming languages, and development techniques. Example topics from the past include “Command-Line Kung Fu” and “‘M’ is for Manual: Creating Documentation for your Project.”

Sessions for this track

So your project needs a book? Do you write it yourself, or do you approach a publisher? This talk walks you through everything that factors into this decision providing real world examples of projects and companies offering open source books.

What OSS database to use is an important decision, but recently languishing in the shadow of the sexier "what framework should I use" talks - or underplayed as though the battle were only SQL v noSQL. If your understanding of data storage tops out at "Mongo is webscale" or "mysql + memcached = win" then this talk is for you.

If you can't reproduce your work reliably then you can't maintain it. You may get by for a while with ad-hoc build/release/deployment processes, but sooner or later they'll bite you. We'll present a new practical approach to assembling both software products and installed systems, drawing inspiration from sources including the functional programming community, commercial software projects, large IT deployments, and Linux distributions like Debian.
Slides available at http://apters.com/osbridge2011.pdf

How to use Debian live build to create a specific live GNU/Linux distribution. It will be illustrated by these 3 live distributions: Clonezilla live, DRBL live, and GParted live, special live GNU/Linux distributions for system imaging/cloning, diskless linux, and graphical partition editor, respectively.

Data Science promises to transform ubiquitous and cheap data into insights with the potential for great social, scientific and personal value. I will provide a lightning tour of high level theory, concepts, and tools to extract knowledge and value from data.

So often we’re solely focused on the performance of our production systems. When disaster strikes, your team needs to know when error conditions begin, where they’re coming from, frequency, and an indication of the last time they occurred. Parsing logs isn’t fast enough, and email can’t keep up or preserve metadata.

As the Internet world moves slowly towards implementing DNSSEC, this session aims to start at the basics of DNSSEC and goes on to discuss implementation details as well as best practices, some of the most common mistakes that happen during and after deployments and finally what’s in store for the near future.

ePUB is the open e-book standard. Building on previous open standards, the ePUB format allows for flexible and flowing documentation, perfect for viewing on a variety of devices where the forced page sizing of other formats fails. We'll crack open some ePUB files and take a look at the innards and then we'll check out some tools to make ePUB generation less painful.

Methods of communication are constantly evolving, and traditional phone systems can not keep up. Open source phone systems allow for infinite possibilities for customizing the way we interact with each other. This session will walk through setting up your own Asterisk IP PBX from bare-metal to making calls.

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.

Ganeti is a cluster virtualization management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open Source software. This hands-on tutorial will give an overview of Ganeti, how to install it, how to get started deploying VMs, & administrative guide to Ganeti. The tutorial will also cover installing & using Ganeti Web Manager as a web front-end.

You’ll learn about the techniques needed to transform classes at runtime, adding new behaviors and addressing cross-cutting concerns. The presentation will discuss a new framework for this specific purpose, but also draw examples from the Apache Tapestry web framework, which itself is rich in meta-programming constructs.

More and more FOSS projects are benefiting from a formal design process. This is an opportunity to see accessibility as a design requirement and integrate into earlier stages of the project's cycle as opposed to the afterthought it often is. In this talk we will see what a design process that integrates universal design looks like, and open the floor to discussion about inclusivity in design.

Django is a great web application framework that allows for rapid web app development out of the box. Since Mozilla picked up Django in 2009, they've started over a dozen Django-based projects. For these sites to scale to an international audience of millions of users, bells and whistles were needed that a stock Django instance does not offer.
Playdoh combines the experience of these projects into a template that contains various fixes and add-ons to make professional Django apps fast, featuring aggressive caching, instant localization support, and bullet-proof security.

Improvements in Perl 5 over the past several years allow great programmers to do great things with less code. You too can turn your Perl 5 code from mere scripting into powerful, clear, and modern programming--with help from a few tools the world's best Perl programmers already know and love.

Everything you learned about database modeling is wrong. At least for document databases like CouchDB and MongoDB. Learn about these differences, the trade-offs, the use cases, and put it all in practice in a discussion about a real-life document database problem. Unlearn SQL habits and relax.

Are you tired of null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors that appear during testing or in the field? A compile-time tool named the Checker Framework has found hundreds of such errors. Oracle plans to include it in the Java 8 javac, but you can use it today to improve your code and avoid errors.

A deployment pipeline combines several development best practices, fully automated and taken to their logical extreme. The result is almost magical: changesets go in one end, and fully-tested software packages come out the other. We'll take a tour of the components of a deployment pipeline, with concrete examples showing how to use Hudson, Rake, and Puppet to deploy PHP projects.

Read the Docs is a documentation hosting site for the community. It was built in 48 hours in the 2010 Django Dash. In January 2010 it had 100,000 page views, and increases daily. I will talk about all of the code to deploy and run a sizable Django site. We will go through the highlights and interesting parts of the code, as well as some of the lessons learned from the site being open source.

In a world where Javascript is everywhere; your browser, server, database, mobile device -- you want and need code reuse to speed up development. In order to do this, you need to know that code works in all the environments you care about.
Jellyfish is a node project focused on provisioning different environments and making it easy for you to execute your JS and get the results.

The traits of an 'open' dataset -- factors like accuracy, geographic scope and copyright entanglements -- shape the development process in profound ways. I'll share what I've learned building projects around heritage trees, public art and poetry posts in Portland, and extrapolate a blueprint for evaluating and planning open data projects.

Technical debt is something that most project teams or independent developers have to deal with - we take shortcuts to push out releases, deadlines need to be met, quick fixes slowly become the standard. In this talk, we will discuss what technical debt is, when it is acceptable and when it isn't, and strategies for effectively managing it, both on an independent and team level.

Why be locked into a cloud vendor?
Shouldn't Cloud be Open Cloud and powered by Open Source software?
Open Stack is a collection of open source technologies to deliver a cloud operating system. Learn about Open Stack and how to use it to deliver your own Open Source powered clouds.

What's going on in the mind of the user as they use your system? Did they choose it, or was it chosen for them? Do they like it or hate it? How can you tell? This talk discusses the types of users that exist, and their motivations.

Google unveiled Android 3.0 in early 2011. This new release of Android provides an enhanced UI and other features that are suited for tablets. If you are an Android developer (or want to be), you should attend this session to learn about Android's new platform API's. You'll learn how to write code that can be shared between a tablet app and a phone-based app.

When you're in production, with real users and revenue on the line, you can't let a regression bug slip in and ruin your and your users' day. So you have to test. Everything. When you combine dozens of tests in several browser configurations, it takes forever. This session will provide an overview of the open source Selenium project and best practices for keeping up with your tests.

Living in a world where social influences can determine success or failure in business, personalization and socialization of products is of vital importance. This talk will explore the core open source technologies that can help you to build user personalization and targeting systems, build relevant social graphs and turn this all into more users who are highly engaged with your product.

In the last few years, cloud computing has become a major trend in IT industry. By using cloud hosting services like MediaTemple or Mosso, shared hosting almost became obsolete. This session takes a closer look on the concept and technology of grid (cloud) hosting providers and shows what to learn for your own hosting strategy.

We believe that the browser is the future; therefore we have always seen the Open Web as a robust platform for application development. We are building Cloud9 IDE as a SaaS service with an open source foundation.

If there's something that is beginning to challenge the age old "vi vs emacs" agrument, it's a projects choice of version control system. In this talk we'll throw the religious and technical arguments out the window of this debate, focusing instead on the pragmatic side of the argument. If you are wanting to figure out which VCS is better for your team and your project, this talk will give you practical advice about both to help you make a more informed decision.

Open source projects have long skimped on presentation & packaging. Let's change that. Learn how developers can create opportunities for designers to contribute to projects. Great design is the best way to draw an audience to your project & build contributor confidence.

The OpenStack project was launched last summer during OSCON by Rackspace, NASA, and a number of other cloud technology leaders in an effort to build a fully-open cloud computing platform. It is a collection of scalable, secure, standards-based projects consisting of compute, storage, images, and more. This session will introduce the projects, the principles behind it, and how to get started.

Our production environment used an established, well-known Hybrid Cloud hosting company who offered the best IO bang for the buck., including all the bells and whistles: Web-based interface, Ubuntu support, good support and better performance than their competitors. The gotcha was that their massive lead in IO performance was due to their use of SAN storage mounted to each vm via iSCSI.
As it turns out, once in a while this storage link would 'hiccup' every once in a while. The effect on MySQL was catastrophic, IOWAIT would go through the roof, and although the box was still up, it was dead as a doornail in terms of workload. It took us a day or tow to figure out what was happening, and then to also figure out that this was happening on the MongoDb replicas as well.

The MapBox team has been creating offline and mobile map browsing experiences that make it possible for users to better take advantage of geo-visualizations when working in the field. This presentation will focus specifically on the development of the MapBox iPad application, looking at the use cases that drove its development and the open source software stack that made it possible.

Perl has come a very long way even in the last 6 years since Dr Conway's Perl Best Practices book was published. This talk will provide a lightning tour of the current status of Perl's best practices using many of the ideas from Modern Perl.

Only a few months ago, PHP developers faced a dramatical change in the cloud computing industry: By opening Windows Azure for PHP applications, Microsoft transformed their proprietary platform to a great place for open source hosting. This session gives an introduction on using PHP on Azure.

Come be a backseat driver at a collaborative pairing session where we'll factor, refactor, and defactor code from open source projects until we make the world a better place, or learn something, or both.

For years, Apache, which is currently utilised by more than 100 million active websites, has been the de facto web server. Anyhow, more sites are considering Nginx. This talk will look at features and some benchmark figures of various popular web servers and will cover how a PHP application can benefit from Nginx awesomeness.

Twiggy is a Pythonic logger. The first new design for a logger in any language in 15 years, it supports powerful structured logging, modern loosely coupled configuration and sophisticated features to make logging fun, fast and easy. This talk will introduce Twiggy, demonstrate its basic and advanced uses, and compare it to other logging packages. Learn more at twiggy.wearpants.org

High Code Coverage through extensive Unit Testing is the Holy Grail in software development. Theoretically, it would create an environment where the code could be debugged, re-factored, and extended while keeping a stable and overall clean system...

In late 2009 SourceForge embarked on a plan to rebuild our developer tools on top of an open platform including Python, MongoDB, RabbitMQ, and Solr. The resulting platform "Allura" was recently released as open source software. This covers what you get with the Allura and the basics of writing an Allura plugin application.

Vi is a way of life that started in 1976. Its philosophy has influenced software ranging from shells to web browsers. Thirty five years later the ubiquitous editor has seen a resurgence in popularity among developers. See what is drawing power users back to their vi roots.

Why do I blog with Drupal instead of say, Wordpress, like everyone else? Learn how I use Drupal on my blog at http://xolotl.org/ to create a highly capable, tailored blogging platform, including customized rich content and media.