Program for Seattle GNU/Linux Conference 2018
TUTORIAL: Learn Kubernetes & Habitat
presented by expohall
Join us on November 8th, the day before SeaGL starts, for a workshop at hosted in the Chef offices in Seattle. You'll learn the basics of Kubernetes and how to get great results with Habitat in a Kubernetes cluster. Ideall...more 10:00 - 15:00 Chef Seattle Offices
Open Source Today: Individuals Need Not Apply?
presented by Elizabeth K. Joseph
The open source software ecosystem has seen major changes since the term "open source" was coined and adopted 20 years ago. The scale and complexity of open source projects have increased, professional development practices like software testing at the project level have been introduced, and the infusion of money into development has created a different landscape for contributors and companies....more 09:30 - 09:55 Theatre
Insecure Connections: Love and mental health in our digital lives
presented by Molly de Blanc
The lens through which we view--and know--what it means to love, to be ourselves, and to connect with others is now backed by microchips and millions of lines of code. As our lives continue to become increasingly managed by our devices, we need to ask ourselves what we're gaining--and what we're giving up--by allowing technology into the spaces that make our hearts ache and that keep us up at n...more 10:00 - 10:25 Theatre
Intro to Machine Learning with Scikit-learn
presented by Hailey Buckingham
This talk will give a tour of the scikit-learn project, an open source python platform for doing most types of modern machine learning. Scikit-learn is used in all corners of the machine learning world, from early prototypes to production models, both in academia and industry. This powerful tool kit has been carefully maintained to provide high quality, thoroughly documented ...more 10:45 - 11:35 Room 3180 Data, AI, ML
Basic Licensing Considerations and Compliance for Projects and Companies
presented by Paul Berg
Technology projects do not happen in isolation and often interface with, include or have dependencies on a plethora of other projects which may be licensed under a variety of Open Source, Libre or even proprietary licenses, and possibly include even patent and trademark concerns. Ensuring that a project is compliant with the requirements of all of these licenses can seem like a daunting proposi...more 10:45 - 11:35 Room 3184 Legal, Licensing
Intro to Sensu - A monitoring and alerting framework
presented by garrett honeycutt
Sensu is an open source monitoring solution built for today's environments. Sensu allows you to get complete visibility of your infrastructure and software. Besides monitoring, it also does alerts and metrics routing and ties into tools you might already use. You will leave understanding how Sensu works and how to quickly get started using it.10:45 - 11:35 Room 3183 Systems, sysadmin, ops, DevOps
A punch card ate my program!
presented by Walter Mankowski
COBOL is the Rodney Dangerfield of programming languages — it doesn't get any respect. COBOL is routinely denigrated for its verbosity and dismissed as archaic, and for good reason: COBOL bears little to no resemblance to modern programming languages. Yet COBOL is far from a dead language. It processes an estimated 85% of all business transactions, and 5 billion lines of new COBOL code are wri...more 10:45 - 11:35 Room 3179 Something different
Securing Your Projects by Choosing Better Open Source Packages
presented by Michaela (Miki) Demeter
Industry statistics show that ~57% of codebases are open source this is up from ~36% one year ago. Many applications now contain more open source than proprietary source code.
How can you determine what you can and cannot trust? Can you trust popularity, if it is popular does that make it safe? It is on the internet and everyone is using it. Does that make it safe?
This talk will give you...more 13:00 - 13:20 Room 3183 Security, Information Security
I’m Lazy So I Write Tests
presented by Jaime Lopez
Does your team deal with bugs that could have been caught earlier in the development cycle? Wish you could get the benefits of Test-driven development (TDD) but are worried that your dev team might revolt or that stakeholders will think that you're being unproductive? In this talk, we'll discuss an approach I've taken to balance the concerns of developers and stakeholders while simultaneously i...more 13:00 - 13:20 Room 3184 Programming
Working Non-Remote: a Guide to Reacclimating to Human Society
presented by Megan Guiney
Unpopular opinion: remote work may be one of the best "perks" to ever be popularized by the tech industry, but it is also one of the worst.
On one hand, it allows employers access to a more diverse pool of employees, and employees greater schedule flexibility and the ability to customize their working conditions to better fit their needs. On the other, it presents a complex and often frustr...more 13:00 - 13:20 Room 3178 People
Easy Microservices with Python, Flask, and Docker
presented by Hailey Buckingham
This talk will give an overview of how to quickly build and deploy RESTful microservices using Python, Flask, and Docker. These open source tools make it very easy to build scalable microservices that are easy to write and maintain, and that can be quickly deployed in most linux (and linux-related) environments.
We'll cover the following:
- Using Flask to build a basic py...
Hack your clothes: Merging and patching textiles
presented by edunham
Many FLOSS enthusiasts exact perfect control of every bit and byte in their digital lives, but feel helpless at the mercy of clothing manufacturers to mass-produce garments for them. Sewing is an under-appreciated technology which allows you to modify, resize, and even duplicate your proprietary garments, or design your own!
This talk will take a quick spin through the underlying principles ...more 13:30 - 14:20 Room 3180 Something different
Setting Sail: Introduction to Kubernetes Concepts and Architecture
presented by John Harris
Description: Linux containers have exploded in popularity and usage over the last 5 years and Kubernetes is the leading container orchestration platform. It was originally created at Google but is open-source and home to thousands of contributors, yet is often cited as being overly complex or unfriendly to understand, install and operate.
This talk assumes only that the audience know wh...more 13:30 - 14:20 Room 3183 Systems, sysadmin, ops, DevOps
So you want to be a kernel developer -- moving beyond checkpatch
presented by labbott
Many people are interested in kernel development but struggle to get involved. After making a single contribution many people don't know what to do next. Some contributors don't know how to hone their skills, others can't figure out a good project. The focus of this talk is to discuss some of the issues facing new contributors to the Linux kernel who want to take a 'next step' after a first pat...more 13:30 - 14:20 Room 3179 Programming
Bootstrapping Understanding: An Introduction to Reverse Engineering
presented by Brian Raiter
Most people associate reverse engineering with software exploits and malware. But reverse engineering encompasses a broad range of tools and techniques that have application anywhere you need to understand a program without being able to read the original source. Reverse engineering is a lot like applying the scientific method: make observations, formulate a hypothesis, test, refine ... and rep...more 13:30 - 14:20 Room 3178 Programming
Continuous Learning for Developers
presented by Brian MacDonald
The world of technology never stops moving, and developers are frequently told that they have to be constantly learning in order to keep up. Entire industries are devoted to helping developers stay on the cutting edge, and they offer a multitude of options and formats: books, video, online interactive programs. There's live training, both on-site and remote, small groups and large, and mixes of...more 15:00 - 15:50 Room 3184 Education
Smart Greenhouses with IoT, Machine Learning, and sometimes plants
presented by Kevron Rees
What does it take to grow food all year round in the Pacific North West when you are a lazy software engineer? This talk walks through the journey of one who has taken up the challenge of growing food with as much technology and as little effort as possible. The end-result of this journey is one of the most advanced greenhouses in the PNW. Topics include supplemental greenhouse lighting control...more 15:00 - 15:50 Room 3180 Hardware, IoT
Terraform all the things
presented by Nathan Handler
Many companies continue to manually create and manage their cloud infrastructure via web consoles. Documenting these procedures is challenging, especially since the interfaces are always evolving. Reviewing the changes is also difficult and often involves having a coworker watching over your shoulder. Rolling back a bad change requires deleting your current work and attempting to manually recre...more 15:00 - 15:50 Room 3183 Systems, sysadmin, ops, DevOps
Open Source Governance: The Hard Parts
presented by Nell Shamrell
So you’ve released an open source project to the world, people are using it …the hard part is done, right? No, far from it. Open sourcing a project is only a fraction of the effort that will go into it over time. Come to this talk to learn about the hard parts of Open Source Governance and lessons learned from using, contributing, and governing dozens of Open Source projects. Learn how to triag...more 15:00 - 15:50 Room 3178 People
A Long Day's Journey into Backups
presented by Rachel Kelly
This is a story of the journey taken to have effective, safe backups in customer environments. Part history, part prescriptivism, part actual technical solutions, let's talk about the thousand solutions we tried, and what is really and truly working for the company and for me (and you!), the operations engineer. This is a talk in three parts - the why, the what, and the future of our backups....more 15:00 - 15:50 Room 3179 Systems, sysadmin, ops, DevOps
Run More Effective Meetings
presented by Deb Nicholson
Team meetings set the stage for your work as a group, but unfortunately many of us attend meetings that feel like a complete waste of time. Meetings that meander off-topic, that repeatedly drift back to the same unresolved topic, or end up turning into a monologue don't foster great team work. Once poor habits are established, it can feel difficult to reclaim a weekly wasteful meeting.
Lucki...more 16:00 - 16:20 Room 3178 People
The Intersection of Tech x Social Good
presented by Christina Zhu
The history of programming is filled with examples of how even the most regular developers discovered how to use their skills to transform the world. With big data, machine learning, and thousands of tutorials at every developer’s fingertips, it is easier than ever to go help causes that we care about. We’ll journey through some incredible projects that were actually very simple ideas that impa...more 16:00 - 16:20 Room 3179 Education
Centralized Syslog Made Easy
presented by Omar Ravenhurst
If you have a lot of servers, then you have a lot of logfiles. If you have a lot of logfiles, then you probably want one place to look at all of them.
This talk will cover:
- How to set up a centralized syslog server
- How to point your other servers' syslog daemons to the centralized server
- Security implications of centralizing syslog
- Security advantages of centralizing syslog
It's properties all the way down! Narrowing in on a property test's input space.
presented by Shea Newton
One of the strengths of property testing is its potential to automate testing scenarios for what might otherwise be infeasible or even impossible to write for a project one by one. Writing property tests however, isn't always intuitive. It can be difficult to work out what a project or a function's properties are (not to mention how to arbitrarily explore them). This talk will tackle strategies...more 16:00 - 16:20 Room 3180 Something different
You Are Never Too Old to Change to a Tech Career
presented by Carla Schroder
_Dear Abby, I have always wanted to get into tech, but I'm afraid I am too old to start now. There is a training program I want to enroll in that looks really good and interesting, but it takes a year, and I know I will need continual training to develop meaningful skills. I'm already 50, so spending five or ten years learning a new career may not make sense. What should I do? Signed, Feeling D...more 16:00 - 16:20 Room 3184 People
Computational Randomness: Controlled Chaos in an Ordered Machine
presented by Amanda Sopkin
There are many computational needs for randomness, from virtual card shuffling to creating a cryptographically secure id. Generally, using the default random libraries to create random numbers is sufficient, but for secure cases we might need to use something better. Come learn about the best methods for common scenarios that require random number generation. Attendees will learn how to evalua...more 16:30 - 17:20 Room 3184 Security, Information Security
Freedom and privacy in the Web
Fighting licensing, tracking, fingerprinting and other issues, from both sides of the cable
presented by Ruben Rodriguez
Websites and the technologies they are built on continue to evolve from the static text documents of old (with the occasional image, tiled background and blinking marquee) to very elaborate pieces of interactive software, with both local and remote code execution that brings all kinds of overlooked privacy and user freedom concerns. Fueled by practicality and monetization incentives, web develo...more 16:30 - 17:20 Room 3180 Legal, Licensing
WebAuthn: Multi-factor Auth for Everyone
presented by Benno Rice
Everyone generally agrees that passwords have problems. Many of the solutions tend to involve multi-factor authentication of some kind but that's always been a pain to implement in the browser, requiring custom backends or other tricky things.
The WebAuthn standard, now at Candidate Review stage at W3C, allows for great ease of accessing extra authentication factors, Yubikeys, ...more 16:30 - 17:20 Room 3183 Security, Information Security
etckeeper - revision control for configuration files
presented by der.hans
etckeeper tracks changes in /etc/ with version control. It ties into package management systems for automagic checkins after updates. It also records important metadata such as permissions and ownership that version control systems (VCS) usually do not track.
Use the VCS you know and let etckeeper help you with some of the oddities found in /etc/.
An imporatant feature is detecting inadve...more 16:30 - 17:20 Room 3179 Systems, sysadmin, ops, DevOps
The Democratization of Software
presented by Stephen Walli
In 1995 everything changed with the creation of the World Wide Web. Anything that could be digitized was digitized and entire industries changed. And with the digitization came tools to help everyone become a producer of digital content. From music to video, books to journalism, we pulled all the friction out of the content pipeline and democratized entire industries.
But the industry we nev...more 09:30 - 09:55 Theatre
Making the mental shift from System Administration to System Architect/Team Lead
presented by Tameika Reed
Most of the system admins of the past started with being the only IT person and team. So the knowledge level of seeing the overall architecture and need for growth just a part of the everyday thought process. What was not really both forth was you were doing System Architecture just on small level. What happens as the team grows? You not only have you to worry about but others and their roles. ...more 10:00 - 10:25 Theatre
PHP isn't just for the web anymore: Daemonizing PHP
presented by Steve Meyers
A long time ago, it wasn't smart to run PHP daemons. Memory management issues made long-running processes impractical, and PHP "daemons" were often just frequently-restarted cron jobs. Since PHP 5, it's become more and more common to use PHP from the command line, and some are even brave enough to daemonize their PHP scripts. We'll discuss different useful ways to run PHP from the command line,...more 10:45 - 11:35 Room 3179 Programming
Preparing Lesson Plans - Teaching Yourself, Training Others
presented by Susan Harris
Being a teacher for 30 years, Lesson Plans are a basic necessity before entering the classroom. I'll explain why and how we create them. I recently started training as a Pilates instructor for my personal growth. When creating lesson plans, my trainer was effusive about how I had devised them. This comes from many years of teaching - it's almost second nature for me. In this talk, I'll exp...more 10:45 - 11:35 Room 3184 Education
What Not to Automate
presented by Lucy Wyman
During a talk at DevOps Days Seattle the speaker stated "Automate as much as you can". While this seems like an obvious statement at first blush, on further inspection there are a number of exceptions to this rule, begging the question: What shouldn't I automate? This talk will give you a framework for deciding whether something is worth automating. We'll discuss:
- The return on investm...
Personal Threat Modelling for Fun and Peace of Mind
presented by Tiberius Hefflin
It’s easy to see what being secure means in an enterprise setting, but what about personal security? In a world where technology and the goal posts for security are constantly changing, understanding what threats you face and what risk they pose is the first step. In this talk, I will discuss what a threat model is, and walk you through the process of making a threat model relevant to your pers...more 10:45 - 11:35 Room 3183 Security, Information Security
Introduction to Identity Management
presented by Jose Antonio Rey
You might be working on an open source project, and it seems that you will require people to sign up to use for your service. Seems easy enough, right? But, what happens when you start collecting user information? What are the implications? How do you keep the information secure? How do regulations like GDPR impact the service that you will be providing?
The top concern of many open source u...more 10:45 - 11:35 Room 3180 Security, Information Security
No, Your GitHub Is Not Your Resume
presented by Duane O’Brien
You are hiring to fill a position, and you have two great candidates. One has a robust GitHub profile, and the other has no profile at all. Is this an easy choice?
You have heard that having a GitHub profile can help when job hunting. Is it true? How can you get started? What if you don’t have the time?
In this session, we will look at the implications of working in open source, from the ...more 13:00 - 13:20 Room 3178 People
How I automate my pool pumps with a Raspberry Pi and some open-source software
presented by Johannes Ernst
Most Internet-of-Things devices you can buy today tend to be completely proprietary, inflexible, and tied into some would-be data overlord's cloud. But it can be different: in this talk I will to a show-and-tell on my project to automate my swimming pool's pumps using a Raspberry Pi and some open-source software. I now can schedule and monitor what's happening with my pool from the living room ...more 13:00 - 13:20 Room 3184 Hardware, IoT
Keeping Secrets in your Code
presented by Michael Krotscheck
While in general it's a bad idea to add passwords and other secrets to your version control system, it's a reasonably common practice in the world of "Infrastructure as Code". This talk will provide a brief introduction to Gnu Privacy Guard (gpg), and how it can be used to safely encrypt secrets only shared with a select audience.
Whether you choose to commit those secrets to your version co...more 13:00 - 13:20 Room 3183 Security, Information Security
Everyday Use of GNU Guix
presented by Chris Marusich
In this talk, I will introduce GNU Guix: a liberating, dependable, and hackable package manager that follows the "purely functional software deployment model" pioneered by Nix.
I will demonstrate some common use cases of Guix and show you how I use it in my everyday life. In addition, I will briefly explain the basic idea behind the functional model and how it enables Guix to provide u...more 13:30 - 14:20 Room 3183 Systems, sysadmin, ops, DevOps
Qubes OS: A reasonably secure operating system
presented by Emmanuel Morales
All operating systems, both free and non-free, are vulnerable to attacks from bad people. Just a simple action – opening random PDFs or Word/LibreOffice docs, running bash one-liners from Reddit, plugging in a cute USB stick shaped like a penguin you found on the sidewalk – and it could spell game over for your computer. Even if an attacker doesn’t gain root access to your computer, your files ...more 13:30 - 14:20 Room 3180 Security, Information Security
How to learn Arduino by playing with fire
presented by zebular13
An intro to computer science for pyromaniacs.
My goal was to create a propane fire poofer to impress my friends. I ended up building a control system with buttons, solenoids, and LEDs, and levelling up my arduino skills along the way.
I'll take you on my journey as I go from simple Arduino sketch to fully optimized control system. I’ll share what I learned about helpful libraries for de...more 13:30 - 14:20 Room 3184 Hardware, IoT
Documentation is Teaching, and Teaching is Everything
presented by Carla Schroder
Everyone is a newbie at 99% of everything, so teaching is the most important and noble task of all. Creating and maintaining documentation is not easy, but it is necessary. Documentation is recording your accumulated experiences and creating your institutional memory. Documentation is building a library of knowledge, and adding to the total store of recorded human knowledge. Documentation is a ...more 13:30 - 14:20 Room 3178 Documentation
A case study in incrementing a language's major version: PHP
presented by Adam Harvey
In 2015, the PHP project released version 7.0 of the PHP language. Doing so was the culmination of several years of discussion and hard work to resolve what a new major version would look like, what would be included, and most importantly, what would be broken for existing users.
In the end, PHP 7 was released with almost no backward compatibility breaks for well written, modern PHP 5 co...more 13:30 - 14:20 Room 3179 Programming
TeaGL: Tea Time at SeaGL
presented by expohall
This year we're pleased to introduce TeaGL, the SeaGL Tea Swap!
If there's any tea you particularly enjoy, bring it along to SeaGL on Saturday and bring enough for a few other people. Share your tea with the SeaGL community and try some interesting teas brought by others.
Black, green, white, herbal, whatever! All teas are welcome at TeaGL.
The sharing happens all day, so bring your te...more 14:20 - 15:00 Expo Hall
Exploring Security of IoT Devices
presented by Ben Kero
Internet of Things devices are becoming increasingly common in our lives and in our homes. Connected sensors and controls are inexpensive and popular to buy online and in stores. Their sleek plastic shells promise a well designed package, but these devices can harbor surprising secrets.
With a 4-star rating from hundreds of reviewers on Amazon, a slick mobile app, and $99 price tag, the Reol...more 15:00 - 15:50 Room 3184 Hardware, IoT
Client Side Video Editing - Lessons in WebAssembly and FFmpeg
presented by Megan Slater
You got chocolate in my peanut butter! .NET on Mac & Linux
presented by John SJ Anderson
For most people, the idea of .NET development brings to mind a Visual Studio window, laden with toolbars and wizards, driven by a programmer who makes just as much use of her mouse as her keyboard. The idea of learning C# is more daunting than other languages, because in addition to the language itself, it seems like you also have to learn the correct way to make use of the massive Visual Studi...more 15:00 - 15:50 Room 3179 Programming
Open Source DocOps: How Open Data Kit Writes, Tests, and Publishes Documentation
presented by Adam Michael Wood
Free and Open Source projects are notorious for incomplete and poorly written documentation.
GitHub's 2017 Open Source Survey found that "documentation is highly valued, but often overlooked" with 93% of respondents agreeing that "incomplete or outdated documentation is a pervasive problem."
In attempt to solve that problem, many FOSS projects try to ...more 15:00 - 15:50 Room 3178 Documentation
Monitoring and Alerting: Knowing the Unknown
presented by Amanda Sopkin
Successful monitoring and alerting systems can detect all known points of failure and include alerts that will quickly escalate these problems to the appropriate parties.
The meat of this talk will focus on addressing the problems in a system that have not been thought of specifically. What about the monsters lurking in the dark to strike when your team is out? How do you find those unknown...more 15:00 - 15:50 Room 3183 Systems, sysadmin, ops, DevOps
Convincing engineers big business believes in Open Source
presented by Trevor Menagh
My company has not always embraced open source and the ideals it espouses, and in the last few years we have endeavored to radically alter this by embracing open source contributions whole-heartedly at a company-wide level. That being said, change is hard and takes time to sink in. It is our jobs as open source advocates to spread this idea of open source as a first class citizen in the way all...more 16:00 - 16:20 Room 3184 Education
Accessibility in Front End Environments
presented by Daniel Ramsayer
There are currently over 4 billion internet users world wide. With roughly 19% of the world population experiencing some kind of accessibility limitation, the need for developers who are aware of their limitations and trained in best practices for how to limit the impact those limitations have on users is more important than ever.
In this presentation I am going to give a brief overview of ...more 16:00 - 16:20 Room 3178 Design, UX, UI, Accessibility
An Intermediate Vocabulary of Tech
presented by Laurie Barth
It is often said that the hardest problem to solve is when two people are talking about different things but believe they are talking about the same thing. As you grow in your engineering career being able communicate about problems effectively is perhaps your single most important skill. This talk exists to distill the breadth of engineering verticals into a quick hit of common vocabulary.
...more 16:00 - 16:20 Room 3179 Education
The impact of lossy networks on TCP performance
presented by Jeff Silverman
TCP guarantees that bytes that go in one end of a network connection emerge at the other end in the same order. This guarantee holds true even if the network is "lossy" or has jitter. To do that, TCP has to be able to detect packets that arrive out of sequence or are lost.
In this presentation, I describe:
- How to create a testbed to do network experiments using virtual machines.
Take Back Your Data
presented by Andy Schwartzmeyer
This talk is aimed at those with a beginner to intermediate level of experience using technology, and falls under the category of (personal) "Information Security."
In today's world, users have lost control over their personal data. A massive industry has been created by companies such as Google, Amazon, Facebook, Microsoft, a...more 16:00 - 16:20 Room 3180 Security, Information Security
How to design Ansible Playbooks and applications for reusability
presented by Sasha Reid
Ansible is a powerful and flexible deployment toolkit, but that freedom without structure can often leave you swimming in a sea of playbooks that deploy very similar applications.
When building multiple applications that share structure, those applications can share a "meta-playbook" to deploy them - for instance, your Rails applications probably have environment configuration files, an Apac...more 16:30 - 17:20 Room 3179 Systems, sysadmin, ops, DevOps
The Tragedy of systemd
presented by Benno Rice
systemd is, to put it mildly, controversial. As a FreeBSD developer I decided I wanted to know why.
I delved into the history of bootstrap systems, and even the history of UNIX and other contemporary operating systems, to try and work out why something like systemd was seem as necessary, if not desirable. I also tried to work out why so many people found it so upsetting, annoying, or otherwi...more 16:30 - 17:20 Room 3183 Something different
Push it (Push it Real Good)
presented by Lyndsey Padget
Git. It can be intimidating if you're accustomed to other kinds of source control management. Even if you're already using it and comfortable with the basics, situations can arise where you wish you understood it better. Developers often just want to write code and tell everyone else to take a hike, but the reality is that most of us work on teams where the feature-based code we write must be i...more 16:30 - 17:20 Room 3184 Systems, sysadmin, ops, DevOps
Robust image resizing
presented by James Cooper
If your application handles images you've probably written something to crop and resize them. It's simple enough to execute ImageMagick with the appropriate flags, but is that sufficient?
In this talk we will:
- Explore common pitfalls of naive image resizing implementations
- Native binary versioning differences (which version of ImageMagick am I using?)
- Uncapped RAM usage ...
Usability testing in open source software
presented by Jim Hall
Is your program easy to use? Generally, a program has good usability if it is easy for new users to learn, easy for them to use, and easy for them to remember when they use the program again. Usability is not the same as user experience (UX) but they are related. You may think that usability is difficult, but it only takes a little time and effort to make your program easier to use. In this tal...more 16:30 - 17:20 Room 3178 Design, UX, UI, Accessibility
At the Silver Cloud
presented by Adam Monsen
The conference reception will include lightning talks, snacks, drinks -- both alcoholic and non-alcoholic and networking and relaxing with your fellow conference attendees. There will be a few door prizes and some gushing about our amazing volunteers. This event is all-ages, although consumers of alcoholic beverages should bring ID.18:00 - 22:00 Silver Cloud Inn