Sumana Harihareswara will give our opening keynote!
Sumana Harihareswara will give our opening keynote!
by Beth Flanagan
Home gun building brings interesting legal and technical challenges
needed to keep someone both safe and on the right side of the law.
This requires an individual to be both an amateur metalsmith as well
as knowing the ins and outs of firearms and international patent law.
This talk will discuss the building of the semi-automatic AK47 rifle
from a technical perspective, from demilling parts kits to the
construction of a fully functional semi-automatic weapon.
We will also discuss the origins of the AK design, the history of it’s
variants and its current patent status as a public domain firearm
design, delving into Soviet and Russian Federation patent law as well
as US firearms law.
by Darrick Wong
Have you ever wondered how your software stack saves data to durable media? Or how the computer organizes data on the disk so that it can retrieve data at a later date? Have you ever needed to pry your data off of a storage device after it has borked itself, but not known how?
If you can answer 'yes' to any of those questions, then you might appreciate this talk. Data storage is the most important side-effect of your digital life, and yet most people regard it as somehow magical.
Far from being magical, this talk will begin with a short history of the evolution of filesystem design, to explain how we got to where we are today. In the second half of the talk, I will dig into the low level structure of a couple of well-known open source filesystems by discussing how to interpret the artifacts recorded on disk, how to pull data off of a broken volume, and how the design decisions affect your application programs.
by Werner M. Dietl and Michael Ernst
A pluggable type system extends a language's built-in type system to confer additional compile-time guarantees. We will explain the theory and practice of pluggable types. The material is relevant for anyone who wishes to increase confidence in their code.
After this session, you will have the knowledge to:
While the theory is general, our hands-on exercises will use a state-of-the-art system, the Checker Framework, that works for the Java language, scales to millions of lines of code, and is being adopted in the research and industrial communities. Such a framework enables researchers to easily evaluate their type systems in the context of a widely-used industrial language, Java. It enables non-researchers to verify their code in a lightweight way and to create custom analyses. And it enables students to better appreciate type system concepts.
Audience participation is desired! We encourage the audience to come prepared with a laptop with a working Java environment (Eclipse optional).
Additional material is available here: http://types.cs.washington.edu/c...
by Brian Martin
Brian Martin will present an introduction to Linux containers. The presentation will discuss when to use Linux containers vs. virtualization, installation, host set-up, network configuration options, gotchas and workarounds, container configuration, and container start-up. A 15-minute demonstration will cover complete container creation and launch. The ideal attendee will have basic system administration knowledge (e.g. package installation, basic network configuration), but have little or no familiarity with Linux containers.
by John Taylor
_There is nothing more practical than a good theory.- Variously attributed_
Machine learning and data mining methods underlie many exciting products and services, but their underlying workings remain opaque to many, even developers. I will provide a brief tutorial on some of the most important concepts and methods from machine learning and data mining, with motivating examples and illustrations from open source tools.
Topics will include data exploration, data preparation, supervised and unsupervised learning methods (including models, patterns, scoring functions, optimization, and search), performance tests, and model evaluation. Particular emphasis will be placed on learning methods and their appropriate use.
by Cliff Wells
This interactive session is designed for the intermediate developer who is looking to create a high-performance and scalable website. This will include an overview of the NGINX architecture including how it compares to Apache and other web servers, typical deployment scenarios and a how-to considerations when deploying/integrating NGINX into your platform.
We will discuss the advantages and disadvantages to using open source art programs for both artists and non artists. There will be an overview of the most popular open source art programs with side by side comparisons to their proprietary counterparts. We will touch on open content libraries (eg thingiverse, open clipart library, blender materials library...). We will end with a short Q&A session.
Every day, Mozilla collects three million Firefox crash reports from around the world. The data in these reports drives the bug-fixing priorities of Firefox engineers, and is critical to understanding the stability of our platform. In this case study, I'll describe the challenges we've faced, the types of questions the system can be used to answer, and the architecture and infrastructure we use to process, store, and analyze approximately 110TB of crash reports using Python, PHP, Hadoop, PostgreSQL, and a few other things thrown in for good measure.
All the software we use in our stack is Open Source, including the Breakpad client embedded in the browser, and the Socorro collection and reporting system. Other projects and companies are now using the Breakpad/Socorro combination.
Constraints make good art. Everyone knows the right way to design and implement software--but is the wrong way really so bad? This talk demonstrates unconventional approaches to solving common and real problems and explores their benefits and drawbacks. While the problem domain includes web development, these techniques apply to many projects in many fields.
Topics covered include:
Come prepared to disagree — but come with an open mind.
by VM Brasseur
A lot of engineering teams are considering going remote now. And why not? There are excellent people everywhere. Why limit yourself only to those who can come into the office?
Because you may not be able to support those remote workers, that’s why.
There’s a lot more to having a remote team than just hiring someone then flying him/her in to visit the mother ship a couple times a year. Without the correct infrastructure and processes in place, remote hiring will turn into an exercise in frustration for you (at the home office) and set the remote worker up for failure.
During this session we’ll discuss some of the preparations you should make before bringing remote staff on board. This will include:
All communities with identity are social networks, including Wikipedia
and the sibling sites under the Wikimedia umbrella. Your open source
project's communication systems are social networks, too -- networks of
collaborative communities. When you're designing tools for a
collaborative community to use, and places for them to do their work,
you need to understand their motivations and the core components they'll
depend on to achieve their needs.
* The crucial link between identity and conversation
* "Evaporative cooling" and the crisis of editor retention and
engagement that Wikipedia is facing
* Where to set up "plazas" versus "warrens"
* What not to do
* Our plans for helping users gain reputation and share their gratitude,
but not in an annoying gamey way
by Wm Leler
Google Maps has long been the choice for embedding maps on your website, or building map mashups. But GM is a closed, proprietary solution and Google's recent announcement that they will start charging for maps (or including ads on maps) has people looking at other options. As an added bonus, many of the alternative solutions are not only opens source, but they have significant advantages over Google Maps.
If you are a website owner with an embedded simple map, this talk will show you how you can dump Google Maps and switch over to other solutions in minutes. If you are a web designer, you'll see how you can customize maps so they will look the way you want them to look, not the way Google wants them to look. If you are a programmer building map-based webapps, you'll see how open source mapping APIs like Leaflet make it faster and easier to build map mashups and have them work the way you want. And if you just like cool maps, you'll see some new things that are possible with the next generation of map apps using HTML5 and CSS3.
Unicode isn’t new, but it still seems hard when your starting at the beginning and haven’t even been told the difference between a glyph, a codepoint, a character and a byte. Every year there are talks and tutorials at conferences about it, but if you haven’t grasped the basics, you can feel frustrated and lost much too quickly.
Unicode sneaks into the most unexpected places. Do you ever wonder if your life would be much, much easier if your default encoding was not ASCII? Do you know what UTF-8 and Unicode strings are? Do you know what your default encoding is, or how to change it? Does it all seem to hard, and make you resent anything to do with the locale?
If 7-bit ASCII was good enough for me, it should be good enough for you! Have you been left behind with this whole Unicode thing to the point that you’re confused and resentful of it all? I know I was. When your name, and everything you write works wonderfully in ASCII it can be hard to summon the enthusiasm to learn about Unicode, even when you know that you should be handling your data better.
Imagine your code is using a logging library, that expects strings. What does it do when you pass it a string containing unicode? It’ll probably write it, encoding it in your default encoding (probably ASCII). And it’ll probably work, on all of your test cases, and on most of your data. Until someone comes on with a non-ASCII character in their name, and causes your code to throw an exception. You probably weren’t expecting it, it might not even be your library that’s at fault. Unicode works implicitly just often enough that unicode characters can sneak in well before you realise your code isn’t robust enough to handle them.
This talk will cover the essentials of Unicode and how it affects things like regular expressions, reading and writing files, working with strings and sending data out to the world. Perl will be the programming language used to demonstrate these ideas, but much of the content should be accessible to all programmers.
by Mark Gross
This will be a mostly non-technical talk about the scope of complexities and issues anyone doing an android based gadget (phone or otherwise) well likely bump into. There will be links a-plenty, but mostly it will be an overview that will help you approximate the scope and size of that android based project you may be contemplating. Hopefully, it will help you get a leg up on your own learning ramp up for your own projects.
This talk will consist of a number of topics I think may be interesting from my experiences ramping the Android activities at work for the Intel phones over the past 3 years, and a few side projects I've been playing with at home.
I will likely reference AOSP, Cyanogen-mod, arowboat and a few other SW projects. I'll include HW targets such as; Intel's Medfield phones, tegra based gtablet, and omap beagleboard.
by Ian Dees
In 1962, William S. Bennett began running "Binary Logic," a new series of articles for Product Engineering magazine. Each installment contained a Choose-Your-Own-Adventure-style lesson about a particular aspect of digital circuits.
Bennett would start with day-to-day objects like light bulbs, springs, and air hoses, and then make analogies to digital circuit elements: AND gates, OR gates, inverters, and so on. On each page, he'd show you a thought experiment and ask you to predict the result. Depending on your answer, you'd either land on the next puzzle or an explanation of what went wrong. If you stuck it out through 1965, you could just about design a computer.
The lessons were so clear that even my youthful self could digest them. When we look at the yellowed pages 50 years later, we see that the teachings still hold.
How did Bennett manage to create something that kids could understand, and that has held up so well over time? What does that mean for the way we teach engineering, and for the way we document our projects? These are the questions we'll explore in this talk.
by Leif Warner
MVC, ORM, OO, RDBMS — too many letters, yuck. Why try modeling your world with square tables that you pretend are an object graph inserted into an HTML tree? Why write so much boilerplate for the common cases that you have generators for everything? And why not have the option of starting with instance data OR a schema?
Starting with describing things piecemeal in a graph store, I'll show how to maintain the flexibility such a model has to offer throughout the stack, keeping things ultra-DRY, normalized, and addressable as syncable web resources.
Also to be glossed over: Querying the web as if it were a database, and using logic rules on the model, rather than encoding business logic in low-level app code.
Have you ever written a nice friendly email and gotten a reply that seems like they read a whole different email?
In Open Source communities we write to each other all the time, but we're not really writing, we're speaking with our fingers. Text is our primary way to communicate, but text has problems. Speaking conveys subtle emotional cues that as social animals we rely on; text strips them out. A thoughtful correspondent can put those emotions back, but we're often not thoughtful.
This talk is about the special problems of textual communication: mitigating them; ensuring that what you mean to say is what is understood; interpreting messages that seem totally out of whack; and increasing empathic bandwidth.
When should Open Source leaders take the next step to making a startup? In this talk, I'll go over how Open Source developers and teams can form a company, get funding, build a business model and customer base, and still look at themselves in the mirror in the morning.
I'll give examples from my experience with StatusNet as well as examples from companies I've reviewed and followed to come to understand how Open Source startups can win.
When should Open Source leaders take the next step to making a startup? In this talk, I’ll go over how Open Source developers and teams can form a company, get funding, build a business model and customer base, and still look at themselves in the mirror in the morning.
I’ll give examples from my experience with StatusNet as well as examples from companies I’ve reviewed and followed to come to understand how Open Source startups can win.
by Renaud Gaudin
Although Africa is commonly described by International Agencies as the place-to-be, the continent of all hopes and capabilities, West Africa includes 17 countries, of which 12 are among the 30 lowest-ranked countries in the world on the Human Development Index.
We'll first summarize and discuss our community experiments and findings:
In a second part, we'll discuss our professional-oriented approaches:
* FLOSS Development workshop in Senegal
* Year-long FLOSS Development training in Mali
* FLOSS Development presentation sessions
* Running an all-open-source company in Mali
You'll come out of this talk with a better understanding of on-the-ground activities in open culture and open source software in West Africa, tactics you can use when expanding to this part of the world, and organizations to partner with.
Building your company's status board is more than just putting charts on a screen - numbers are just data, whether you write out the digits or plot a squiggly line. Learn to transform your data into information, and let that information instruct you.
by Tantek Çelik
10 years ago nearly everyone with a blog was known by their own personal site or URL. What happened?
Over time we shifted our creative energies to the emergent "social web", sharecropped our content like so many serfs across Flickr/Twitter/Facebook, and watched while our work was framed with ads (or placed inside them!), sold like so much cattle, or often shut down with permalinks and conversations lost forever: Geocities, Etherpad, Pownce, Vox and others. Never forget.
We've had enough and we're taking it back. Our content, our data, our online identities. We're rebuilding the Indie Web, this time with conduits to social silos so we can control our creative destinies without abandoning our friends.
This panel will discuss a variety of different approaches. Learn how you too can get started and join the new Indie Web.
by Aaron Jensen
Although DevOps is a relatively new phrase and concept, I've always adhered to its principles. Automation is one of the cornerstones of my career. From builds to deploys to installs, I've tried to wage a one-man war against manual setup checklists.
Unfortunately, automation has been hard on Windows and .NET. Batch scripts, VBScript, and WMI were never attractive technologies. I quickly jumped on MSBuild when it shipped, and used it successfully for most of my career.
Then I discovered PowerShell. I thank the Universe (and Microsoft) every day for PowerShell. I still punish myself for not learning it sooner.
In this presentation, I'll outline my DevOps journey: from the beginning, trying to use batch scripts and VBScript as a full-time software engineer, to becoming a full-time configuration management architect using PowerShell. I'll delve into the creation and use of my open-source PowerShell module, "Carbon":https://bitbucket.org/splatteredbits/carbon, which enables automated, repeatable setup of Windows computers.
We use Carbon and PowerShell at our company to automate the setup of developer computers and an eight server development environment. Spinning up this environment used to take weeks. With Carbon and PowerShell, it now takes a couple days. Configuring a developer computer used to take days. Now it takes ten minutes.
26th–29th June 2012