Chemistry track

We know that a recipe works, but why? Show us the science behind the recipe. Explain the components of a project and how they interact.
Explore how our technology works on the lowest levels, and what that can teach us about optimal use. Tell us your analysis and profiling techniques, how implementation affects function, and what a kernel is made of. Example topics from the past include “OSWALD: Lessons from and for the Open Hardware Movement” and “Doing NoSQL with SQL.”

Sessions for this track

* On the Shoulders Of Giants - Emacs for the Curious

With the need for flexible editors to handle the variety of programming languages we face regularly, the Emacs community is experiencing another renaissance. Let's get you started with Emacs and I'll show you how to become proficient quickly.
Howard Abrams

* Performance strategies for delivering web fonts at Wikipedia scale

Wikipedia supports almost 300 languages for its multilingual content communities. As mixed script web pages become pervasive and non-Latin language content grows exponentially, a breakthrough technology of delivering webfonts on demand has been deployed across 900 Wikimedia sites. This talk discusses user benefits derived from this technological advance as well some of the performance and scalability improvements made to deliver fonts at Wikipedia scale.
Alolita Sharma

* A short examination on the intersection of security and usability (or How usable security could save us all)

This talk is geared for people with minimal experience with usability and some experience with security
Morgan Miller

* Advanced Javascript Basics for Web Developers

Javascript is a necessity for modern web development. Whether it is to add more interactivity to your user interface, or provide a client to interact with your API, chances are, even if you're trying to avoid working in javascript, you're working in javascript. Projects like Coffeescript and Opal, while useful, still do not help understand the javascript outputted by these compile-able languages. One growing concern in this realm is that an application's javascript can sometimes be a security concern, easily exploited by a malicious user. In order to catch these concerns, you must know what your javascript does, inside and out. This talk will illustrate concepts to make sure your client code is secure, while still giving your team the flexibility it needs to keep building your stellar app!
Lauren Voswinkel

* An Adventure in Data Modeling: The Entity-Attribute-Value Model

A case study on the trials of Emma's performance when implementing the Entity-Attribute-Value data model on their PostgreSQL database systems.
Mark Wong

* Extending Gems - Patterns and Anti-Patterns of Pluggable Gems

The Ruby community has a strong tradition of building extensions to popular gems. But simple mistakes can make gems harder to extend than they need to be. Drawing from real-world examples, we'll examine the patterns of coding, configuration and documentation for maximizing your gem's flexibility.
Jason Clark

* Freedom, security and the cloud

Cloud hosting is cheap. Cloud hosting is easy. What compromises are you making when you deploy to the cloud, both in terms of your security and in terms of your dependency on proprietary software?
Matthew Garrett

* History of Concurrency

With new languages like Dart, Go, and Rust coming with powerful concurrency primitives (and languages like C# & Java adding more concurrency features), it's important to know where these ideas come from and where concurrency handling is headed.
Michael Schurter

* Internet Archive: More than the Wayback Machine

In this session we will: * Give you a tour of Internet Archive and its collections * Introduce you to the APIs and tools you can use to access and contribute to the Archive * Show examples of how other people and institutions are using the Archive
VM Brasseur, Alexis Rossi

* Intro to the IndieWeb: How Far Can We Go?

What happens when an online service you use freezes your account, loses your data, or goes out of business? Have you ever used a service by a company that suddenly went under, stranding your data? Do you own your own identity or does somebody else? What happened to the web in 2003, and how did we get where we are today? This talk will teach you how to post on your own site and optionally syndicate to other sites (POSSE), how to authenticate with your own domain (IndieAuth) and steps to take data ownership back into your own hands.
Amber Case

* Introduction to Scala

Scala is an up-and-coming language, used by companies like Twitter and LInkedIn. This talk will give an overview of Scala and introduce basic language features.
Todd Lisonbee

* Introduction to Sphinx & Read the Docs

Learn more about how to document your software projects with the most powerful open source documentation tool. You'll learn more about how to think about semantics in documentation, and how to use these tools to make great looking documentation.
Eric Holscher

* IPv6 for Programmers

IPv4 is running out of addresses. IPv6 is the Internet Protocol which gives plenty of addresses for the future. It is starting to be deployed widely and open source applications and programming languages need to support it.
Ian Burrell

* Learn you some Lisp for Great Good

Lisp is a wise sage atop a snowy mountain, waiting for students to climb and level up their programming prowess. Pray tell, how does one scale such lofty peaks? This session introduces Lisp for twenty-first century programmers.
Howard Abrams

* Making language selection smarter in Wikipedia

It’s time to make Wikipedia language selection smarter -- to offer a user languages he/she actually wants to see in an article, and in an efficient way. In this talk we shall learn about : 1.The need for a compact language selector 2.How we achieved it in an Outreach Program for Women project. 3.What criteria we use to determine which languages might be most useful to a user, and why 4.How we implemented the feature 5.What concerns we heard from the Wikimedia community about this project 6.How everyone can help pitch in to make this project a success
Niharika Kohli, Sucheta Ghoshal

* Making Your Privacy Software Usable

Privacy enhancing technologies (PETs), like onion routing, PGP, and OTR often achieve a high level of security, but user experience (UX) built on top of the protocols is often a development afterthought. Without a concerted effort to examine how the system is used, people accidentally compromise their data or never attempt to use PETs. This talk will show you PET design done right and wrong through the lens of standard UX evaluation techniques. Our goal is to enable you to incorporate UX principles into your hacking from day 0.
Jen Davidson, Sean McGregor

* Math vs. Mathematics

Most people got through their high school math classes by memorizing nonsensical statements and regurgitating them on command. If you came out of that class hating math, no one would blame you, especially not a mathematician. However, that class didn't teach Intro to Algebra, it taught Intermediate Following Instructions.
Georgia Reh, Jenner Hanni

* OAuth, IndieAuth, and the Future of Authorization APIs

You use OAuth every time you log in to Facebook or Twitter, but what if you could use it from your own website? What if your own domain became a source of data, and you had your own personal API? By decentralizing authorization to your own domain instead of a silo, you control when, how, and to whom your data is shared.
Aaron Parecki

* Power Tuning Linux: A Case Study

In this talk we will do a reality-check in terms of the power consumption on off-the-shelve systems running “out of the box” Linux distributions.
Alexandra Yates

* Random

If you want to understand randomness better (and you should), this is the talk for you.
Bart Massey

* Replacing `import` with `accio`: Compiling Pythons with Custom Grammar for the sake of a joke

In Python, overwriting builtin functions is fairly easy. You can even do it in the interpreter! But can you overwrite a statement, like import, just as easily? Let's go on an adventure, discovering how the import statement works, and how Python statements are defined in the CPython source code. We'll face some consequences of bootstrapping, and, to get our custom Harry Potter-themed Grammar to work, we'll have to compile a Python to compile a Python.
Amy Hanlon

* The 20,000km view: How GPS works

GPS is more than just letting your phone tell you where you are. I believe GPS is a contender for "most amazing piece of engineering in the history of humanity", and I'll show you why.
Jamey Sharp

* UX Design in Action: Redesigning the Mailman UI

One of the upcoming features in the Mailman 3 project is a front-end redesign of the mail archiver web interface. Learn more about the new interface, its progress so far, and the designing challenges of building a mobile-first responsive web site. The talk will also illustrate our design process and provide you with design methods and evaluation techniques that you can take back to your own project.
Karen Tang

* When Firefox Faceplants - what the fox says and who is listening

Ever seen Firefox crash and hesitated to press that 'Send the Report' button because you don't know what would happen next? This is what happens next.
Lars Lohn

* Who broke the code? Finding problems quickly in a quickly evolving opensource project

In this talk, we will overview the 0day kernel test infrastructure, an Intel project where the goal is to ensure the quality of Linux upstream and developmental kernels. The project runs 7x24 tests on bleeding edge code from 300+ kernel git trees.
Timothy Chen

Proposals for this track

* Adventures of writing a scalable web server from scratch

Viewing from above, a web server isn't a particularly difficult piece of software: requests come in, responses come out. When high performance and scalability are desired, though, it is a completely different story. This talk will tell the story of Lwan, a web server written from scratch, and some of the tricks involved in making it as fast as it is.
Chemistry 2014-04-03 17:53:20 +0000
Leandro Pereira

* An Introduction to Dependent Types and Proving Your Code Correct

This will be an introduction to dependently typed programming, the Curry-Howard correspondence, and using your type system as a proof system for showing that your code is correct all done in the programming language Agda.
Chemistry 2014-04-04 00:58:09 +0000
Clarissa Littler

* Automating cloud factories and Internet assembly lines with open source software

Open source software is used to automate the building and orchestration of the modern Web and all of its parts. This talk will explain how open source software is used to automate the cloud factories and Internet assembly lines of our day.
Chemistry 2014-04-05 05:57:28 +0000
Thomas Hatch

* Beyond PHP/Python/Ruby/Java/... : it's not (just) about the code !

Most web developers focus on writing code. But creating web applications is about much more than just writing code. Take a step outside the code cocoon and into the big web ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
Chemistry 2014-03-23 15:47:22 +0000
Wim Godden

* Bonnie and Vinson Help with Data Visualization

Everyone and their dog are turning out graphs of social networks. My helpers are Bonnie and Vinson. With their help I will construct visualizations of interesting data using R and its libraries.
Chemistry 2014-04-02 23:18:49 +0000
Mary Anne Thygesen

* Chat Robots Next Level Tooling

Everyone talks about chatops nowadays but whats behind the hype? Its just a great system/workflow to share and document tooling for your entire team!
Chemistry 2014-03-30 22:39:27 +0000
Ole Michaelis

* DIY::Thread.profile - Light-Weight Profiling in Pure Ruby

Whether your application is concurrent or not, there's insight to be gained from Ruby's threading support.
Chemistry 2014-04-02 23:07:33 +0000
Jason Clark

* Driving The Future of Data Storage on Linux: Pain Points and New Hardware

In this session, I will brief the audience on the future of data storage in Linux -- what kinds of new hardware are on the horizon, the general direction of new filesystem and block device driver work, and new software to make it easier to recover lost data. Audience members are welcome to discuss these changes and to air their pain points with a Linux kernel developer.
Chemistry 2014-04-01 01:07:18 +0000
Darrick Wong

* DSL's in Scala

Scala is particularly suited for the creation of Domain Specific Languages. This talk will discuss language features in Scala that make it easy to create your own DSLs.
Chemistry 2014-03-31 03:03:46 +0000
Todd Lisonbee

* Eat your open source software

A whirlwind tour of open source software (and open hardware, open data, and other open stuff) related to growing, distributing, cooking, and eating food. From seedbanks to recipes to food co-ops, there's open source alternatives to almost every part of the food system.
Chemistry 2014-04-04 16:39:18 +0000
Alex Bayley

* etcd: distributed locking and service discovery

etcd provides easy to use distributed locking and service discovery. It has an accessible HTTP+JSON API that exposes a powerful set of primitives inspired by projects like Google's Chubby and Apache Zookeeper. This talk will cover the underlying consensus algorithm, the architecture of the code, introduce the API and survey the libraries and tools that have been built by the etcd community.
Chemistry 2014-04-08 06:09:21 +0000
Brandon Philips

* Fix Code, Delete Docs

Educators, authors, and co-workers are constantly demanding more code comments and documentation, yet none of them ever update it. The comments lie, the documentation exists in three variants, and still nobody knows how to make the code do the right thing.
Chemistry 2014-04-04 08:03:19 +0000
Eric Wilhelm

* Fixing PHP the hard way (Or, seeing the forest for the potholes)

We need to make PHP better for usage. But how do we do that?
Chemistry 2014-04-12 05:18:29 +0000
Morgan Gangwere

* Having Pure Fun on the Web With Haskell

Practical programming in Haskell: is that an oxymoron? Not at all: in recent years, many programmers have joined together to create a vibrant library ecosystem for the Haskell programming language. In this interactive workshop, you will see the skeleton of a web service implemented in Haskell, then write your own code to implement the missing pieces. Whether you go on to learn more Haskell or just apply new ideas to your work in any language, you'll leave knowing the Haskell is pure fun.
Chemistry 2014-03-06 07:06:50 +0000
Tim Chevalier

* High Failability

Want to hear real-world, sanitized tales of failed website launches? We could just talk launch success, but that's just not as interesting. Fire and brimstone with a positive spin. Educational pain.
Chemistry 2014-04-08 00:19:15 +0000
howard draper, Emily Slocombe

* Leaving the Web: Portable, Distributed, Programming Without HTML, CSS, or JavaScript

If we could roll back the clock and reinvent the Web platform, what might we come up with?
Chemistry 2014-04-12 06:37:32 +0000
Josh Juran

* Open Source + Graphs: Power Combo for Big Data

This introductory session discusses the power of open source and graphs for making the most of your big data challenges. While on one hand open source enables room for customizability and creativity, on the other hand graph databases are the ideal model for storing and leveraging connected data.
Chemistry 2014-04-03 22:28:52 +0000
Kenny Bastani

* Open Source is Enabling us to Tell Better Stories

The conversation in today's media world is shifting away from "how much content can we publish, and how fast?" and toward "how can we provide in-depth engagement with single pieces of content." The emerging realm of digital storytelling means that "messages are not only heard and understood, but inspire, motivate and elicit action." Open source is adding fuel to this fire, and it is getting brighter.
Chemistry 2014-04-11 23:43:55 +0000
Karen Borchert, Chris Strahl

* Overview of the Ubuntu Juju Application Security Framework

"enterprise-grade security infrastructure in minutes with any compliant application"
Chemistry 2014-04-04 18:41:40 +0000
Michael Schwartz

* Python Performance Profiling: The Guts And The Glory

Your Python program is too slow, and you need to optimize it. Where do you start? With the right tools, you can optimize your code where it counts. We’ll explore the guts of the Python profiler “Yappi” to understand its features and limitations. We’ll learn how to find the maximum performance wins with minimum effort.
Chemistry 2014-03-28 23:03:30 +0000
A. Jesse Jiryu Davis

* Rating, ranking, and voting, the other social-media communication method

A parallel universe exists alongside text-based social media. Product ratings and customer-feedback surveys and organizational elections provide another path through which people communicate. Yet when we look at product ratings and survey results and election outcomes, do they always provide meaningful information? No. What tricks can we use to "outvote" other voters? Most importantly, how should your website or app or organization do the counting behind rating and ranking and voting? Alas, innovative DIY approaches easily give disastrous results. Only open-source software can produce trustworthy results. And only an understanding of counting methods can empower us to produce meaningful results.
Chemistry 2014-03-29 19:02:05 +0000
Richard Fobes

* Scala beats the pants off Java

Scala is likely the language that will overthrow Java. This talk will discuss several killer features that can take a Java programmer's productivity to the next level.
Chemistry 2014-03-31 03:03:03 +0000
Todd Lisonbee

* Sharing is caring: friends, manage your resources!

Lots of modern languages help us out with automatic memory management, but for other types of resources, we're left in charge. I'll talk about some of the problems that can come out of poorly managing resources like files and database connections, and show you a few of the tools that language designers have given us to make this easier.
Chemistry 2014-04-05 04:40:05 +0000
Kamal Marhubi

* Sit Quietly and Program: Graph Search Algorithms

I'll play remixes of John Cage's 4'33 for the rest of the session.
Chemistry 2014-04-09 21:50:25 +0000
Jesse Wolfe

* SLA and VM Scheduling in opensourced virtualization world (oVirt focused)

VM life cycle, provisioning and migration domains, that's old news. checked. Advanced network configuration, tell me something that I don't know. checked. Storage management is a cool breeze, hang on, I'm getting there. checked. Discover how to truly close the virtualization gap from proprietary software, using 100% open source technology. Introducing SLA & VM Scheduling capabilities in oVirt, includes: * Hosted Engine * High Availability * Plugable VM scheduling * Global cluster and storage quota * NUMA support, Ballooning and more and more. See you there or pay up!
Chemistry 2014-04-03 15:21:53 +0000
Gilad Chaplik

* SQL and NoSQL Data Model Optimization in Write-Optimized Databases

Though SQL and NoSQL data models are usually very different, write-optimized databases offer some similar benefits for both. I'll describe some of the background and implementation of write-optimized data structures, and we'll discuss some strategies for choosing data models to get the best performance out of them.
Chemistry 2014-04-10 20:49:14 +0000
Leif Walsh

* The next generation of cryptocurrency

Bitcoin is changing the world. But it is not without flaws. Work is ongoing to improve on Satoshi's original design. Come learn about some cryptocurrency ideas that you may not have heard about.
Chemistry 2014-04-05 02:34:25 +0000
Jesse Hallett

* What Are Computers, Really?

We'll take a whirlwind tour of the theory behind what computers do. We'll start with counting on our fingers and end with an explanation of why there are some problems where the laws of physics say "no, a computer can never do this". No mathematical background necessary.
Chemistry 2014-04-04 00:45:10 +0000
Clarissa Littler

* When dynamic becomes static : the next step in web caching techniques

Tools like Varnish can improve scalability for static sites, but when user-specific content is needed, a hit to the backend webserver is still needed, causing scalability issues. We'll look at a new Nginx module which implements a fast and scalable solution to this problem, changing the way developers think about designing sites with user-specific content.
Chemistry 2014-03-23 15:39:43 +0000
Wim Godden

* You and web APIs: zero to getting somewhere in 45 min

I went from asking "web APIs are another way to interact with a website, right?" to finishing up a proposal to evaluate and improve MediaWiki web API client libraries in just over a week. Learn from my experience! I'll tell you why you might want to use web APIs, bring you over the stumbling blocks and thickets of documentation that frustrated me, and tell you what makes a good web API client library and why you want to use one. After this talk, you'll know enough about web APIs to ask good questions about them and explore them on your own.
Chemistry 2014-04-05 05:39:07 +0000
Frances Hocutt

* You can be a kernel hacker

Writing operating systems sounds like it's only for wizards, but it turns out that operating systems are written by humans like you and me. I'm going to tell you what a kernel is and why you should care. Then we'll talk about a few concrete ways to get started with kernel hacking, ranging from the super-easy to the terrifyingly difficult.
Chemistry 2014-03-06 17:42:15 +0000
Julia Evans