Program for Seattle GNU/Linux Conference 2017
Clojure for Unix Hackers
Or how I learned to stop hating and love node.js
presented by Wes Payne
Unix hackers, sysadmins, and developers; especially those skeptical of the JVM and node.js. Anyone interested in functional programming, lisps, or data oriented programming.
- Basic understanding of Clojure and functional programming
- Appreciation of sympathetic philosphies between Unix and Clojure
- Introduction to scripting with Clojurescript...
SSH and the shell: go forth securely
presented by der.hans
SSH is the go to tool for sysadmins and developers for interactive connections to remote machines. It creates secure, encrypted connections between computers, even across hostile networks. Unless you accept keys without verification (DON'T DO THAT!!!).
SSH can also create tunnels for encapsulating other connections, including other protocols and data. Sysadmins can bridge protocols across ne...more 10:45 - 11:35 Room 3184 Systems/Ops
Keepassing your credentials synced and under control
presented by Wm Salt Hale
Do you use the same few passwords over and over? Is there a piece of paper with hard-to-remember ones somewhere? How about a file that lives on five different devices and is never up-to-date?
Even the most secure passwords can be broken with a $5 wrench. Long forgotten websites are frequently compromised. Files can be stored in The Cloud, but is that really where such sensitive data should b...more 10:45 - 11:35 Room 3180 Security/InfoSec
Engaging young people
How to include positive youth participation in our community
presented by Mariah Noelle
Respecting and encouraging youth agency as an integral part of the free software movement is pertinent to our advancement. Plenty of civic participation opportunities exist for young people, so let's explore how we can provide an inclusive space for them that is worth their time. Providing an introduction to youth development, this talk will explore how to initiate positive engagement and reten...more 10:45 - 11:35 Room 3178 Education
A division of labor: Attempting to measure free software
presented by Molly de Blanc
We like to think that diversity has increased over time--contributors have stuck around as they age, students are excited to get started, initiatives are making space for people of color, trans* individuals, women, and other groups underrepresented in free software. We like to think we are doing better at recognizing the wide range of contributions and that more people are getting involved from...more 10:45 - 11:35 Room 3183 People
Python Packaging and Dependency Management in the Real World
presented by Clark Boylan
One of Python's greatest strengths is the large and diverse set of existing code bases that you can build on to accomplish your goals. Unfortunately, as projects grow, managing your dependencies can become a constant headache.
Unwinding which transitive dependency update now conflicts with other dependencies or is simply broken then somehow preventing that version of the dependency from bein...more 13:00 - 13:20 Room 3179 Programming
Automatic Chicken Door HOWTO
No it will not hurt a chicken
presented by Adam Monsen
In this talk I'll show you how I created a raspberry pi-powered chicken door using only Free Software. You can use this knowledge to get inspired to create your own automated hardware+software systems. I'll go over these features:
- hardware interleave gravity lock mechanism
- instant-read photoresistor poll door actuation trigger
- photoresistor signal analog to digital conversion
You Can't Launch a Spaceship if All You Hire Are Astronauts: Other Jobs in Technology
presented by Carol Smith
We talk so much about computer science and programming when we talk about tech that we tend to forget other career opportunities. I'll discuss the possibilities for using your computer science degree in other parts of technology as well as opportunities that are available in tech to people without computer science degrees. Let's make more way for people who aren't interested in programming to j...more 13:30 - 13:50 Room 3183 People
From Al-Qaeda to Shia LaBeouf - How Crowdsourced Intelligence Analysis Removed Any Idea Of Privacy
Finding What Doesn't Want To Be Found
presented by Omar Ravenhurst
Individuals on various online forums have begun to realize that they can find just about anything, just about anywhere in the world using publicly-available tools. With enough digging and research, random strangers sitting in basements around the world have worked together to
- Locate terrorist training camps inside of ISIS-controlled areas in the Syrian Civil War by making diagrams and map...
Using a Chromebook as Your "Daily Driver" Linux Laptop
presented by Andrew Beyer
ChromeOS is running on a Linux kernel under the hood already, but it doesn't expose that to end users by default. However, there are a number of options for getting a familiar software toolset running on your Chromebook.
We'll talk about reasons why (and why not) you might want to consider Chromebooks as a hardware choice, take a look at the choices for using the hardware as a platform for...more 13:30 - 13:50 Room 3184 Hardware/IoT
Programming in Prison: Web Development behind Bars
presented by Sarabeth Jaffe
In a plain-looking computer room sits 30+ men wearing khaki-colored shirts and pants, each staring intently at their monitors. Some young, some old, some with tattoos, all with different life stories. These men--many of which have never been on the Internet-- are learning computer programming while serving time at Washington State's second largest prison.
Gaining employment upon release fro...more 13:30 - 13:50 Room 3178 Education
How To Learn Rust
presented by edunham
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. This talk will answer the question "When should I use Rust?", and introduce you to the fabulous world of educational resources created by friendly Rustaceans to accompany you on your adventure into safe systems programming.13:30 - 13:50 Room 3179 Programming
Logs Are Magic
Why Git Workflows and Commit Structure Should Matter To You
presented by John SJ Anderson
Git is a powerful, critical, yet poorly understood tool that virtually all Open Source developers use. One of the key features that git provides is a powerful and comprehensive log that displays the history of all the changes that have happened in a project, including potential developments that weren't ever merged, details about former versions of software that can inform future development, a...more 14:00 - 14:50 Room 3179 Programming
Bowerbirds of Technology
Architecture and Operations at Less-Than-Google Scale
presented by Sam Kitajima-Kimbrel
Facebook, Google, Uber, LinkedIn, and friends are the rarefied heights of software engineering. They encounter and solve problems at scales shared by few others, and as a result, their priorities in production engineering and architecture are just a bit different from the rest of us down here in the other 99% of services. Even as a lead engineer for Twilio, I rarely dealt with the same uncharte...more 14:00 - 14:50 Room 3180 People
ROI: Return on Inclusion
presented by Tony Sebro
FLOSS community leaders and participants seeking to promote diversity and inclusion within their community must contend with the collective inertia of the status quo. How much should committed communities be prepared to invest in order to overcome this inertia? And, how can they measure and justify their success?
My presentation will examine the social and financial costs FLOSS communities...more 14:00 - 14:50 Room 3183 People
History of Control
The Past and Future of Digital Restrictions Management
presented by Donald R. Robertson
The talk will give an overview of the history of Digital Restrictions Management (DRM), from codes and passwords for ancient video games to remote attestation spyware and beyond. It will provide the listener with a perspective on the true purpose of DRM, which throughout its history has always been control over the user. While nominally DRM has something to do with copyright, in e...more 14:00 - 14:50 Room 3178 Education
Distributed Systems With Docker Swarm
presented by James Cooper
Recent versions of Docker support a clustering feature called swarm. Swarm allows a set of machines running Docker to form a cluster. Together with Docker Compose, swarm simplifies the task of deploying a set of services to multiple hosts and provides DNS based service discovery and load balancing without the need to run additional software.
During this talk you'll learn how to:
Open Source: Worldwide Communities
presented by Jose Antonio Rey
In this talk I'll tell you my story about contributing to an Open Source community from abroad. Nowadays, communities have a lot of people from all around the world. What's their perspective? How do you deal with timezones? How do you get involved and get others from around the world involved? And how does culture in each area affect the community? Learn this and much more.15:30 - 16:20 Room 3183 People
Introduction to the Godot Game Engine
presented by Brian Raiter
Ever wanted to learn how to build your own game? There's never been a better time to start. While most of the industry is focused on proprietary engines, there are also a number of free software game engines that don't get nearly as much press.
This talk will introduce you to Godot, a capable and fully-featured game engine, 100% free and open source, under active development, with excellent ...more 15:30 - 16:20 Room 3178 Something different
A Brief History of I/O
A short walk down the data path
presented by Benno Rice
Whether it’s video and keyboards, disks and network interfaces, or touch screens and cellular modems all computers do some form of input and output. The ways in which I/O happens have changed massively over the years though.
On the hardware side we’ve gone from paper tape to punch cards to tape to many generations of hard drives and now various forms of solid-state storage. We’ve also gone f...more 15:30 - 16:20 Room 3184 Systems/Ops
Ransomware: History, Analysis, & Mitigation
This humorous and entertaining talk teaches everyone, from Mom and Pops to large enterprise organizations what's really happening and how to protect themselves.
presented by Andy Thompson
Just as the title says, we go over the humble origins, touch on the notable variants of yesteryear, the big hitters of today, and discuss the future of ransomware. It's no longer just for windows anymore. Linux, Mac and Mobile platforms are all ripe for extortion. This humorous and entertaining talk teaches everyone, from Mom and Pops to large enterprise organizations what's really happening an...more 15:30 - 16:20 Room 3180 Security/InfoSec
What's new in Python 3.6 and some of the factors to consider when upgrading from Python 3.5 or Python 2.7
Python tends to have a "scorched earth" policy. You don't need to be burned
presented by Jeff Silverman
Python 3.6 has a bunch of cool features, but you have to know what they are if you are going to take advantage of them. My talk is going to focus on what is new and why they are "cool" and you should use them.
I am also going to discuss the decision criteria you should use when making the decision about what which version to use when implementing your python software projects.15:30 - 16:20 Room 3179 Programming
Detecting BadBIOS, Evil Maids, Bootkits, and Other Firmware Malware
Systems/Ops, Hardware/IoT, Security/InfoSec
presented by Paul English
For attackers, platform firmware is the new Software. Most systems include hundreds of firmwares - UEFI or BIOS, PCIe expansion ROMs, USB controller drivers, storage controller host and disk/SSD drivers. Firmware-level hosted malware, bare-metal or virtualized, is nearly invisible to normal security detection tools, has full control of your system, and can often continue running even when the s...more 16:30 - 17:20 Room 3180 Security/InfoSec
Hackers Gotta Eat
Building a Company Around an Open Source Project
presented by Liam Newman
Creating and leading an open source project can be both rewarding and frustrating. It is rewarding to see the project grow and people contribute, but it can become frustrating and burdensome when your side-project comes to dominate your free time. If you're fortunate, you might be employed to work full-time on your open source project or even start a company around the project; then what? What ...more 16:30 - 17:20 Room 3183 People
Beyond iotop and iostat: A disk I/O deep dive using blktrace and debugfs
presented by Mike Hamrick
iotop can tell you all sorts of interesting things about what's happening on your block devices. You can answer questions like: "How busy are my disks?" "What's my average latency?" "How many blocks per second am I writing?" "Which processes are doing the most disk I/O?"
What do you do when that information isn't detailed enough? While it's great to have statisti...more 16:30 - 17:20 Room 3184 Systems/Ops
UEFI: What Is It and How Can We Exploit It For Fun And Profit
How I Made a Bootloader In 300 Lines of Python
presented by Ian Santopietro
UEFI carries with it a lot of negative connotations. While it's far from perfect, it's certainly not the overarching evil thing that a lot of us make it out to be. Here we'll discuss the facts and faction surrounding UEFI and the difference between it and other related technologies like Secure Boot, Coreboot, BIOS, and others.
After this we'll take a look at a direct comparison between boot...more 16:30 - 17:20 Room 3178 Something different
Verbose mode: an exploration of programming languages and craft
presented by hwaterhouse
I want to talk about knitting technical writing and how it has changed based on the education level we provide in schools, and what that means for technology. The reason mainstream patterns are hard is because they assume a base level of knowledge in their users, and because they are so concerned about brevity that they omit context. This talk explains how the meaning of "common knowledge" cha...more 16:30 - 17:20 Room 3179 Programming
Open Source From Standing Rock To Your Home Community
Technology for protecting water, earth, and people
presented by Lisha Sterling
At Standing Rock we had as many as 20,000 people living in open fields, along a hillside, and tucked behind a grove of trees, all without the modern infrastructure that makes a city of that size function today. The community at the camps had to generate our own electricity, bring Internet from 10 miles away without access to the fiber lines, boost cell phone signals from far away, communicate o...more 10:45 - 11:35 Room 3178 Something different
Philosophy in Code
I Kant Even
presented by Margaret
Coding in practice is a perpetual learning experience. It can be daunting when first tackling a new language, framework, legacy codebase, etc. Immanuel Kant outlined some thought tools for making sense of vast new intellectual territory and eventually conquering them. I have found the application of these insights enormously helpful over the years. This talk will aim to pass along those tools...more 10:45 - 11:35 Room 3179 Programming
Introduction to Containers on Linux
Using Common Container Runtimes from a User's Perspective
presented by Ben Kero
Containers are an increasingly common tool everywhere. They're used in the software development process, debugging, and in production services. As a Linux desktop user you can similarly benefit from technologies built with containers. Like virtual machines they will enable you to install apps, test out a new Linux distro, or simply learn how containers work.
This talk is geared towards users...more 10:45 - 11:35 Room 3184 Systems/Ops
Leveraging collaborative mentorship to strengthen your free software community
A case study for discussion
presented by Brian Callahan and Lisa Marie Maginnis
There has been much discussion over the past several years about improving the quality of free software communities in terms of increasing participation and reducing burnout. Numerous explanations and suggestions have been offered in order to make lasting improvements. Indeed, building and strengthening your community should be recognized as a core mission for all free software project leaders....more 10:45 - 11:35 Room 3183 People
Building a Better Thermostat
presented by Matthew Treinish
After returning from a recent trip that occurred during the middle of a heat wave. I arrived home to find my apartment quite hot, at least 45C inside. Needless to say it wasn’t the most comfortable way to come home after 15 days out of town, I decided it was time for me to do something about it to address this so I didn't come home to that unpleasant surprise again. Normally, this problem is so...more 10:45 - 11:35 Room 3180 Hardware/IoT
You Can't Unit Test C, Right?
presented by Benno Rice
Testing is a wonderful thing. Code with good tests is so much easier to work with and change due to the comfort the tests provide that you haven't broken anything you didn't expect to break.
C can be a tricky language to work in. It compiles to static code. It's incredibly low-level compared to many of the languages people use these days. It also comes with a delightfully bewildering and...more 13:00 - 13:20 Room 3179 Programming
Snowdrift.coop: 5 years of a work-in-progress
presented by Aaron Wolf
In 2012, an optimistic programmer convinced his friend to do something about his complaints and ideas around economic injustice and market-failures in free/libre/open (FLO) culture and software. Five years later, Snowdrift.coop has a concrete vision, a global community of volunteers, and a valuable collection of writings and research about sustainable funding for FLO projects.
Still, Snowd...more 13:00 - 13:20 Room 3183 Something different
A static site generator should be your next language learning project
presented by John SJ Anderson
When learning a new language, some folks prefer to read the language documentation, or work through simple exercises like you might find on http://exercism.io -- but I prefer to have something more like an actual project. I find that holds my focus a little better, and that I do a better job of absorbing the new language syntax and features if I'm using them for something real.
In this tal...more 13:30 - 13:50 Room 3183 Programming
Automatically Watching the Most Interesting Twitch Streams
Entertainment without Burden
presented by Cullen Taylor
It can be tedious to watch multiple twitch streams at once, as streamers are constantly moving in and out of games, reading their subscriber messages, and doing other audience engagement tasks in the downtime. What if a viewer wants to just see the uptime, or the most interesting parts of live streams automatically?
My solution to this problem (for one game at least) is called pubgredzone. I...more 13:30 - 13:50 Room 3180 Something different
Diverse T-Shirts for Diverse People
presented by Christopher Neugebauer
Did you know that most people are not the same as most other people? I know, it surprised me too.
It turns out, that the differences that people share also affect the sort of clothing that fits them. Different people have different shapes. Different people like different colours.
T-shirt manufacturers, however, aren't always great at reflecting this diversity. Fewer colours are available...more 13:30 - 13:50 Room 3178 Something different
The journey to open source the .NET documentation
Building community around docs
presented by Maira Wenzel
Is it possible to build an open source community around docs? Microsoft, and more specifically the .NET team, have completely embraced open source for all things .NET! Not just the products and tools, but also its documentation.
In this presentation, attendees will learn about the journey to open source the .NET documentation, including its API reference. You’ll learn how to apply the lesso...more 13:30 - 13:50 Room 3184 Documentation
How to get a cross-project feature landed in OpenStack
Or how I plotted to obtain success...
presented by Julia Kreger
A little over two years ago, I was told in a Vancouver conference center meeting room, "Two others have tried to propose that feature, but they have both failed". I knew it was the right path to take. I knew people in the room and the larger community wanted to go in that direction. The question was how?
In this this talk, I'll cover my experience building consensus on design, setting expect...more 13:30 - 13:50 Room 3179 Programming
Giving The Public What They Pay For
Opening Government Funded Research
presented by Paul Berg
The United States and other governments spend tens, if not hundreds of billions of dollars per year funding research for the benefit of their own populations and of mankind. This research results in large amounts of software technology in bleeding edge areas that is ripe for development into disruptive products. However, much of this research is opaque and unavailable to the common software dev...more 14:00 - 14:50 Room 3183 People
Creating Fresh Kernels
presented by labbott
The kernel is an important part of every Linux system. The Linux kernel releases a new version approximately every 3 months and brings in a large number of changes with each release. There are a variety of choices distributions can make for kernels, from choosing a single kernel version to support for many years to updating to the newest version as soon as it comes out. This talk is designed to...more 14:00 - 14:50 Room 3184 Systems/Ops
Scaling applications with Redis
practical lessons from real world experience
presented by Dmitry Polyakovsky
Using Redis for
- As queue for running background jobs
- Storing rapidly changing data
I will be sharing real world examples of practical solutions to scale applications. It will be intermediate to advanced level talk. It is best to have at least 1 year of Redis experience and understanding of key/value data stores, caching and queues. Or exposure to alternatively technolo...more 14:00 - 14:50 Room 3179 Data/AI/ML
The Rhythm of Patterns
presented by Susan Harris
Human beings have evolved to recognise patterns: In weather, in plants, in stellar movements. We do this intuitively to make order out of the abstract. Patterns are so ingrained that, even without knowing, we imbue patterns in everything we create - to make order out of what would otherwise be chaos.
In this talk I’ll use music and rhythm to introduce you to the power of patterns and how th...more 14:00 - 14:50 Room 3178 Something different
Brewing Beer with Linux, Python and a RaspberryPi
presented by Christopher Aedo
Making beer with open software is a blast! There are a host of open source programs available for driving the hardware required to brew awesome beer. This presentation will include an overview of the most popular brewing software available with special attention paid to the python-based project "CraftBeerPi". There will also be a detailed review of the system Christopher has been brewing beer w...more 14:00 - 14:50 Room 3180 Hardware/IoT
Keep it Secret! Keep it Safe!
Who's In Control Of Your Medical Data?
presented by Robinson Tryon
The high-tech industry has revolutionized healthcare, ushering in an amazing new era of medicine, but both providers and patients have struggled to keep up with changes in how we track healthcare data. Widespread digitization of medical records has the promise to be a step forward in the advancement of treatment, but there are several pitfalls that we must avoid to ensure that patients retain c...more 15:30 - 16:20 Room 3178 Something different
Platform Agnostic and Self Organizing Software Packages
presented by Nell Shamrell
One of the dreams of development is to build a software package once, then be able to deploy it anywhere. With current Open Source projects this dream is closer than ever. Come to this talk to learn how to create software packages that run (almost) anywhere. You will see how the same application can be run on bare metal, on a VM, or in a container - with everything needed to automate that appli...more 15:30 - 16:20 Room 3179 Systems/Ops
When VR meets Internet of things
The Life beyond second life
presented by Pooja Purswani and Dipesh C Monga
It gets even more interesting when virtual and augmented reality meets the Internet of Things." — Phil Repp
IoT is taking over the technology industry with a huge bang! Our focus is to make the IoT smarter and more suitable for human interaction. Virtual Reality is the next billion dollar industry and it is the future of the Entertainment, Gaming and Education Industry. Now, imagine the po...more 15:30 - 16:20 Room 3180 Hardware/IoT
Software Patents: Global Trends
presented by Deb Nicholson
In the developer community, nobody cares where their collaborators are physically located. It's a completely different story for legal practitioners and others who look at the licenses, patents and treaties that dictate what's feasible, what's expensive and what's impossible -- or even illegal. Software production has become rapid, diverse and global and in many instances, regulators have been ...more 15:30 - 16:20 Room 3183 Something different
Writing the Next Great Tech Book
From Idea to Successful Publication
presented by Brian MacDonald
You have an idea for the next great technical book. Maybe you're excited about a new technology that nobody's written about yet. Maybe you're unimpressed with the books that are out there on your favorite topic. Maybe writing a book is on your bucket list. This session will help your idea reach its potential as a published book. Technical publishing is an opaque process with a lot of moving par...more 15:30 - 16:20 Room 3184 Documentation
Taking license compatibility semi-seriously
presented by Richard Fontana
License compatibility refers to the problem of creating combined works out of code under different, seemingly clashing FLOSS licenses. It most often arises where at least one of the licenses is in the GPL family.
A surprising amount of intellectual energy, by developers, users, lawyers and "compliance professionals", has been devoted to dealing with the topic of license compatibility. Incomp...more 16:30 - 17:20 Room 3183 Something different
Pushing back against loneliness in end-of-life care.
presented by Jeremy
Content Warning: This talk includes references to debilitating illness and death, but the emphasis is on quality of life and family.
After suffering a debilitating stroke, Barbara, my girlfriend's grandmother, was left disabled, bed-bound, and mostly non-verbal. We visited often, and were with her when she passed earlier this year. For Christmas, I built her a web applicat...more 16:30 - 17:20 Room 3180 Design/UI/UX/Accessibility
Your Solution Is Not My Problem
presented by Gareth J. Greenaway
When you attend a conference, you're likely to see some really inspiring talks about how the speaker uses a particular technology or infrastructure stack. "Wow!" you think, "I'm going to go back to the office and try that out just like the speaker did it!"
Before you do that, come see THIS talk. It hopefully will convince you that while your current infrastructure or solution isn't perfect, ...more 16:30 - 17:20 Room 3179 Systems/Ops
How to build a CD pipeline for your systems
presented by garrett honeycutt
Show how to use pipeline tools such as Jenkins in conjunction with configuration management and testing software to build a CD pipeline for systems. Will cover the ideas behind building a CD pipeline, what types of testing are used and at what stages. The talk will be vendor neutral with regards to how this is achieved along with practical guides to commonly used software for each step.16:30 - 17:20 Room 3178 Systems/Ops
Intermediate shell scripting: getting more bash for your $
presented by der.hans
Want to take your shell scripting to the next level? Interested in adding string manipulation and arrays to your arsenal? In shell math?
Shell still has the best system integration for stringing together our favorite command line tools such as ls, grep and sed. Better yet is doing some of that work in the shell without reaching for a forked program, especially inside loops. This presentation...more 16:30 - 17:20 Room 3184 Systems/Ops