Program for LinuxFest Northwest 2020

Unscheduled events
Mohsen Banan

Tools And Strategies For Generalized OpenAPI/Swagger Based Verification Of Web-Services
RO-Verifier: A Remote-Operations Invocations And Verifications Framework

presented by Mohsen Banan

Web-Services, REST-APIs, microservices and services-oriented architecture (SOA) have become the dominant model for exposing Remote-Operations through https as web services. Web services are by nature network exposed and therefore present a large attack surface that needs to be continuously secured and continuously verified.

The formal specification of web services have now mostly conver...

more

DevOps 200-level
Kyle Rankin

Heads: Tamper-evident Firmware with User-controlled Keys

presented by Kyle Rankin

Having a trustworthy boot process is the foundation of the rest of your system's security. If your BIOS, kernel, or initrd have been tampered with, an attacker can hide their backdoor from the rest of the system. This talk will discuss the security threats against the boot process and briefly cover some other approaches to protect against boot-time attacks but the talk will primarily focus on H...

more

Information Security 200-level
Thomas Uphill

Linux System Troubleshooting
A systematic approach to solving problems.

presented by Thomas Uphill

In this fast-paced tutorial we will start with an overview of how Linux works. We'll review some of the interesting history of UNIX and why some things exist. We'll cover all the basics before moving on to how to approach troubleshooting in a systematic fashion. Armed with a method, we'll look at some examples and the tools that are useful for finding the sources of problems. This is a skimmed...

more

Personal Computing 200-level
Thomas Uphill

U Type 2 Much
Getting more work done with less Typing

presented by Thomas Uphill

Sometimes modern tools aren't as useful or terse as "ancient" ones. In this talk I'll show how sed and awk and other old school tools can be used in modern tools. Examples such as using sed in a Jenkinsfile to build a dockerfile). Part of the talk will center around using the tools already installed on the system and configuring the system to reduce the typing you need to do. Some people don't ...

more

Command Line 100-level
Leslie Brendible Rudy588 Josephine

Social Media, Social Engineering, and You
We'll explore how social media makes us vulnerable to cyber attacks and share ways to lessen them.

presented by Rudy588, Josephine, Leslie Brendible

There are many ways we unknowingly make ourselves vulnerable to cyber attacks. Through social engineering, an attacker can take advantage of the human tendency to be helpful. During the "enumeration" phase of the attacker methodology, attackers gain as much information as they can from a variety of sources - including social media. Not only is social media useful for staying in touch with famil...

more

Human Issues 100-level
Brent Gervais

Professional Photography on Linux - An Open Source Workflow

presented by Brent Gervais

The professional photography workflow, while typically pigeon-holed by a quasi-monopoly of commercial software, is more than alive and well on Linux via pro-level open source tools enabling a 100% open source digital darkroom.

Through the use of a collection of tools, pillared by giants such as Darktable and the GIMP, a professional-level photographer's workflow is available to anyone and ev...

more

Jupiter Broadcasting 100-level
Bryan Lunduke

Weird Linux Tales of Weirdness

presented by Bryan Lunduke

THRILL! To tales of Linux from yesteryear! GASP! At the utter weirdness of Linux-y adventures! GROK! At the handsomeness of the man at the front of the room!

Be excellent to each other 100-level
Bryan Lunduke

Meet Haiku -- The Free Software BeOS

presented by Bryan Lunduke

Tired of Linux? Bored of NetBSD? Take a tour of Haiku, the Free and Open Source operating system inspired by the legendary BeOS. I show you how to use Haiku as a capable, every-day OS... with many of the same applications you are used to on Linux.

Personal Computing 100-level
Mohsen Banan

Emacs For DevOps
With Blee (ByStar Libre Emacs Environment)

presented by Mohsen Banan

Emacs is far more than just an editor.

Viewing Emacs as an Editor Centered User Environment is only the beginning of recognizing its power. Beyond a user environment, we have been using Emacs as Software-Service Integration Framework for many years.

We are now in the process of packaging the entire environment as the ultimate User Environment For the Software-Service Continum.

This...

more

Command Line 200-level
Michael McKeirnan

Mitmproxy for Pentesting and Security Research

presented by Michael McKeirnan

Mitmproxy. It's like Burp (the pentesting tool for webapps), but easy to extend and tweak, free as in beer, and free as in freedom! If you're a pentester, or interested in learning about web application security, this is a great tool to check out.

Come listen to our sales pitch about why we're moving our shop to mitmproxy. We'll cover the important points like getting started with the tool, ...

more

Be excellent to each other 100-level
Bryan Lunduke

Super Amazing Lunduke Panel (tm)

presented by Bryan Lunduke

Panel. With guests. TBD. Ask me for final names before you print this out. They'll be good names. ;)

Be excellent to each other 100-level
Bella Brahm Ashwin B Deven Bowers

Trust only your code and data: integrity protection on locked-down Linux systems
Enforcing an integrity policy using dm-verity alongside a Linux Security Module (LSM)

presented by Ashwin B, Bella Brahm, Deven Bowers

Code integrity is an essential part of ensuring that modern operating systems provide platform integrity guarantees against the execution of unauthorized code. Enforcing that only known and trusted (i.e. signed) code can execute on a system raises the bar for attackers significantly, as malicious code will not be signed with trusted certificates.

DM-verity-- one of the preexisting options fo...

more

Information Security 200-level
Aaron Wolf

Music Making with GNU/Linux

presented by Aaron Wolf

A tour of FLO music-making software with demonstration of basic setup, assisting with use of tools, general Q&A, and some collective/collaborative composing as a group.

Media/Arts 100-level
Aeva Black

DIY Decentralization
Let's network like it's 1996!

presented by Aeva Black

During the last two years, in response to new laws like FOSTA and under pressure from politicians, our major digital communication platforms (Facebook, Google, Tumblr, etc) have deployed machine-learning-based content moderation at a "move fast and break things" pace. This has resulted in the removal of content from marginalized communities, and the prioritization of the viewpoints of certa...

more

Be excellent to each other 100-level
aimeceleste

Building your 't' at work
How to become more technical while doing the same work that's expected of you

presented by aimeceleste

Do you want to become more technical? Are you interested in becoming more technical via hacking the way you approach your day job? If so, this is the talk for you :)

Be excellent to each other 100-level
Alex Juarez

A Brash Bash Class!

presented by Alex Juarez

Okay! So not really a BRASH Bash class, but alliteration is fun! The Bash shell is such common place for the command-line inclined, we might not even know how much it can actually do. From command built-ins to creating custom functions, Bash can be such a multi-purpose tool for anybody. Regardless if you are brand new or a seasoned user there will be something for everybody.

  • Shell Initiali...
more

Command Line 100-level
Alex Juarez

Yoga for Everyone and Anywhere
Yes; Even for you and even here!

presented by Alex Juarez

Join in on this 45-minute gentle yoga session designed for the technical professional that may find themselves sitting for more hours a day than they would like.

This session will guide the attendee through a series of practices which they will be able to take away and do at home, at their desks, whenever they need to find some extra peace in their day.

By spending a little bit of time i...

more

Be excellent to each other 100-level
Alex Kretzschmar

Home Automation with No Subscription Required
Find out how to use Home Assistant to run a fully open automated home.

presented by Alex Kretzschmar

Home Automation doesn't have to rely on proprietary whatsits and cloud service widgets, there is a better way. Home Assistant is an open source home automation platform that puts local control and privacy first.

This session will take you through some of the key decisions points when getting started with Home Automation. How do you know where to start? Which manufacturers are compatible with...

more

Jupiter Broadcasting 200-level
alignwaivers

Glass Beat-making
an Interactive Audio Installation

presented by alignwaivers

Explore the possibilities of making sound on free / libre / open source software with the Glass Beatstation: Use the modular interface to integrate instruments, microphones, sensors and MIDI devices as inputs to sample or loop sounds; press notes on a keyboard to vocode your friends voice into a singing robot; have a sensor detect basic gestures to control a filter; or just jam out on a GNU/Lin...

more

Media/Arts 100-level
alignwaivers

How to Turn Ideas into Open Gear
Sustainability in the Growth of Open Hardware

presented by alignwaivers

This discussion will be focused on information and resources available for developing small scale DIY projects into community designed & supported hardware for all. Topics will include various funding mechanisms from grants, ransoms and VCs to crowdfunding; stages of growth and sustainability; ethics and environmental impact of sourcing and manufacturing; and contextualizing open hardware in th...

more

Be excellent to each other 100-level
alignwaivers

In the FLO of Making Music
a digital ecosystem without closed loops

presented by alignwaivers

This will be an overview of the development of the glass beatstation, a modular interface for the making and exploration of music on free / libre / open source (FLO) software and (whenever possible) FLO hardware. A primary goal of the project is to be accessible to musicians and users without knowledge with GNU/Linux: to allow for the complete range of customization and usability, and as portab...

more

Media/Arts 100-level
Allan Jude

ELI5: ZFS Caching
Explain Like I'm 5: How the ZFS Adaptive Replacement Cache works

presented by Allan Jude

An in-depth look at how caching works in ZFS, specifically the Adaptive Replacement Cache (ARC) algorithm. Assumes no prior knowledge of ZFS or operating system internals.

ZFS does not use the standard buffer cache provided by the operating system, but instead uses the more advanced "Adaptive Replacement Cache" (ARC).

  • What is a cache
  • How most caches work (LRU)
  • Pros
  • Cons
  • What...
more

Jupiter Broadcasting 200-level
Antonio Gomez

Open source software mitigations for hardware vulnerabilities
N/A

presented by Antonio Gomez

Recently, researchers have disclosed a new set of innovative exploit methods that target common hardware abstractions of many modern CPUs. While these methods are relevant to many technology contexts, confusion remains around what these methods are, what the threat model of potential real-world implementations could be, and why those hardware abstractions are included in modern processors in th...

more

Information Security 100-level
Barry McCormick

The original "Container", FreeBSD Jails, 21 years in the making
FreeBSD Jail managementy with BastilleBSD

presented by Barry McCormick

Bastille automates deployment and management of containers using a container technology old enough to buy you a drink!

We've taken automation concepts learned from leading config management contenders and combined them with the ORIGINAL container technology. FreeBSD introduced containers in April 1999, pre-dating every other container technology available.

Imagine, a reliable container te...

more

FreeBSD/OpenBSD 100-level
Ben Porter

Awk: Hack the planet['s text]!
Show everyone that you're a hacker genius

presented by Ben Porter

Awk has been around almost forever, yet so many today are unaware of it's power and elegance. It is an amazingly powerful tool that is it's own Turing complete programming language. Awk is so powerful that it can be used to create entire services (that process text). But, there's a lot of ignorance out there regarding Awk, and ignorance breeds fear. Come take the Awk red pill like that guy in ...

more

Be excellent to each other 100-level
bkuhn

What'll We Do When FOSS Licenses Jump the Shark?
The Next Season of Copyleft License Drafting and Promulgation

presented by bkuhn

Historically, charities drafted copyleft FOSS (Free & Open Source) licenses. Charitable organizations like FSF and ASF set specific policy goals related to their advocacy mission, and created FOSS licenses that sought to advance those missions.

Meanwhile, other mission-focused organizations, such as OSI and Debian codified these licenses against a written standard to verify they met cert...

more

Deep Thoughts 200-level
bkuhn

The Growing Body of Proprietary Infrastructure for Open Source Development
Repeating Bad History

presented by bkuhn

Over the last decade, we have drifted from a nearly fully FLOSS suite of community tools to primarily proprietary ones. Most developers lament the outcome, but the classic "convenience factor" of proprietary software has returned with a vengeance. Rarely is this issue discussed, and virtually no one is planning next steps for transition away from the proprietary development infrastructure tec...

more

Deep Thoughts 200-level
Brett Sheffield

Privacy and Decentralization with Multicast
IPv6 Multicast and the Next Generation Internet

presented by Brett Sheffield

Written in 2001, RFC 3170 states: "IP Multicast will play a prominent role on the Internet in the coming years. It is a requirement, not an option, if the Internet is going to scale. Multicast allows application developers to add more functionality without significantly impacting the network."

Nearly two decades later, multicast is still largely ignored and misunderstood.

This talk explai...

more

Information Security 200-level
Bri Hatch

Daily Docker
Don't Dilly Dally, Docker Daily.

presented by Bri Hatch

Docker is for more than production deployments. Bri will show you examples of docker solving real-world problems for the end user and administrator. Lighterweight than a full virtualized platform, you can use Docker to run programs that don't work on your Linux distribution, vet that unknown binary and 'curl | sh', or let you quickly test possible production scenarios. Coupled with the ability ...

more

Be excellent to each other 100-level
Bri Hatch

Git/CI/CD from Scratch using Gitlab
Push the envelope, and don't 'git blame' me!

presented by Bri Hatch

This lab will teach you the basic command line git workflow, local unit tests, collaboration between team members, and working to continuous integration (CI) and continuous deployment (CD). We will be using the community edition of Gitlab as our base, but all the concepts are the same whether you're doing your work in jenkins, github, gerrit, or even server-side hooks. Basic familiarity with co...

more

Be excellent to each other 100-level
Cathy Smith

Netplan
Yet Another Way to Configure Your NIC

presented by Cathy Smith

In the beginning. Well, at least back to SunOS, all it took to configure a network interface was 2 commands: ifconfig and route. Include editing the resolv.conf file for DNS name resolution, and your box was on the network.

Later it was enough to edit the interface start up scripts directly. For Red Hat the startup scripts were in /etc/sysconfig/network-scripts. In Ubuntu and Debian, t...

more

Be excellent to each other 100-level
Chad Norman

Improved User Interface with Open Source Physical Computing Systems
Arduino Based Instruction and Design Thinking

presented by Chad Norman

Open Source hardware such as Arduino microcontrollers have rapidly become a useful technology used by a wide range of users. While the user interface for the software and the availability of supporting libraries have made programming more accessible, the necessary physical and wiring components (e.g. breadboards) of these systems have remained a barrier for early or infrequent users. With mor...

more

Be excellent to each other 100-level
Steven Shiau Chenkai Sun ThomasTsai

Scalable and Sustainable Massive Deployment
Clone as Free as You Want

presented by Chenkai Sun, Steven Shiau, ThomasTsai

System deployment, the activities to enable usages of the operating system and applications in the computers being deployed, plays a daily critical role in computer system administration. This session introduces a new solution to use P2P mechanism for scalable and sustainable massive deployment using Clonezilla. It resolves the issue that for P2P mechanism, normally there is not sufficient temp...

more

Be excellent to each other 100-level
Sarah Newman Chris Brannon

Accidentally Accessible: a Mostly-FOSS Workflow
It's not as hard as you think

presented by Chris Brannon, Sarah Newman

Is the software we are using accessible to blind users? Prgmr.com confronted this question when we hired our first blind engineer in 2017. In this presentation we will discuss the specific OSS software we use, accessibility challenges for the blind that we've observed, and what to consider when choosing something new.

Human Issues 100-level
Christophe Pettus

Hosted Environments for PostgreSQL: An Objective Look
Which sealed box is right for you?

presented by Christophe Pettus

Companies are turning more and more to hosted environments (Amazon RDS, Google Cloud SQL, Azure Database, and others) to host their PostgreSQL environments. Each one has good and bad parts, and we'll take an objective look at what is good and bad about each one. How do they handle high availability? Backups? Configuration? How much flexibility do you have within their environments?

We'll als...

more

PostgreSQL 100-level
Christophe Pettus

Database Disasters and How to Find Them
Emergency Database Repair for Everyone

presented by Christophe Pettus

You get the call at three in the morning: "The application is throwing 500 errors. We think the database is down." What do you do?

Database problems can come in a nearly-infinite range of types. We don't have infinite time, but we can talk about the most common ones, and go through a step-by-step process in how to diagnose them, repair them, and bring the system back up in record time. A car...

more

PostgreSQL 200-level
Conor Beh

The iocage FreeBSD Jail management tool:
An overview, its Plugins, and Plugin development

presented by Conor Beh

The FreeBSD Jail isolation mechanism celebrates its 20th anniversary in 2020 and has provided administrators a convenient, lightweight virtualization solution for virtual hosting, package building, and countless administrative support tasks. Of the many Jail management tools available, iocage provides not only management features but also includes a sophisticated|comprehensive Plugins system th...

more

FreeBSD/OpenBSD 200-level
Dave Stokes

EZ MySQL Replication
Keeping your data safe!!

presented by Dave Stokes

MySQL has been making data replication easier with InnoDB ReplicaSet and InnoDB Cluster. By using the MySQL Shell you can easily configure fault tolerant, highly available clusters in just a few minutes and with MySQL Router you can have load balancing or a full proxy. This talk will start with the basics of simple async replication and proceed to more complicated implementations that are there...

more

Be excellent to each other 100-level
Dave Stokes

New MySQL 8.0 Features
You may be missing some pretty neat stuff if you do not know about 'em!

presented by Dave Stokes

MySQL 8.0 has had the fastest adoption rate of any of our versions and the new quarterly release cycles provides you with many new features. What new features? Hash joins, better compression, JSON document validation, dual passwords, the ability to clone InnoDB table spaces, improved clustering, multi-value indexes and more. You can't use these features if you do not know about them! So come l...

more

Be excellent to each other 100-level
Dave Stokes

Public Speaking for Linux Folks
Share your knowledge with others!!

presented by Dave Stokes

Want to speak at shows like LinuxFest Northwest but do not know where to start? This session is a guide for the technical competent (ore nearly so) who want to share their knowledge with others at shows like this one but do not know where to start. How much material do you need (not that much), how to present it, how to judge an audience, and the basics of public speaking are all covered. ...

more

Human Issues 100-level
Dave Stokes

MySQL Document Store or MySQL without the SQL -- Oh My!
Really no SQL!

presented by Dave Stokes

You are probably well aware that MySQL is a relational database. But did you know it can also be used as a NoSQL JSON document store? That is right, you no longer need to write Structured Query Language (SQL), set up tables, or normalize your data before you can use MySQL to store you data. Thanks to a new API built around CRUD operation and NoSQL, you can use MySQL instantly to store you d...

more

Be excellent to each other 100-level
David Spring

WHY LINUX SHOULD BE TAUGHT IN OUR PUBLIC SCHOOLS

presented by David Spring

Most public schools today teach students how to use computers by providing them with a Google Chromebook – where the applications only work online inside of a Google account - or a Microsoft Windows laptop – where the applications only work if you set up a Microsoft account and pay Microsoft a lifetime of monthly fees.

There is a third option that does not require setting up either a Google ...

more

Education 100-level
Dawn Chandler yunduz

Stretch Break!
Ergonomics and Movement for Linux Lovers

presented by Dawn Chandler, yunduz

Welcome & Introductions (3 minutes)

My co-presenter Yunduz Rakhmangulova and I will introduce ourselves and explain the importance of ergonomics and movement for people who spend long periods of time using computers.

Warning (1 minute)

We will remind the audience not to do any exercise if they believe it may be a risk to their health.

Ergonomics and Desk Stretches (5 minut...

more

Be excellent to each other 100-level
Dawn Chandler yunduz

3 Stories to Tell Someone Who Says "Diversity doesn't matter!"
N/A

presented by Dawn Chandler, yunduz

Introduction (3 minutes)

My co-presenter Yunduz Rakhmangulova and I will introduce who we are and acknowledge that we have faced challenges in our software engineering careers because we are minorities in these fields. We hope that the 3 stories we tell in this talk will prove useful to the audience members, in case they ever have to explain to someone why diversity matters, why there's a ...

more

Human Issues 100-level
Delib

Truth, Trust & Appropriateness
Can You Code for That?

presented by Delib

Being factually correct isn't enough. Being sincere isn't enough. Understanding what is appropriate in the context isn't enough. When we're arguing, people judge all three at the same time. Let's learn how to unpack good technical debates, and help along discussions before they go bad. (instructions & examples)

Be excellent to each other 100-level
dggtx1

An excellent - and FREE - way to create highly available NFS services using Gluster, Corosync and Pacemaker
New uses for some familiar open source tools

presented by dggtx1

NFS storage remains a good solution for many applications, but providing highly available NFS storage with dedicated storage solutions can be quite costly. Commodity computing hardware (or cloud instances) are plentiful and can be quite inexpensive, but how can this configuration provide a HA-NFS solution? In this presentation, attendees will learn how to build a highly available NFS storage cl...

more

DevOps 200-level
Ell

Using Your Tech Skills to Save Lives
The APT at Home

presented by Ell

While we’re fighting for our security and privacy, some are being left behind. Our current advice for securing our digital lives assume that the user is able to take control of their own own lives and are permitted to keep certain facts secret in order to authenticate to a service or device. For those whose threat models include former or current intimate partners their proximity to their attac...

more

Jupiter Broadcasting 100-level
Esther Payne

RFC 1984: Or why you should start worrying about encryption backdoors and mass data collection
How do we get people to care about their data?

presented by Esther Payne

In 1996 Brian E. Carpenter of IAB and Fred Baker of IETF wrote a co-statement on cryptographic technology and the internet. This RFC wasn't a request for a technical standard, it was a statement on their concerns about Governments trying to restrict or interfere with cryptography. They felt that there was a need to offer "All Internet Users an adequate degree of privacy"

Since that time succ...

more

Deep Thoughts 100-level
frostsnow

Introduction to X.509 (HTTPS) Certificates
via OpenSSL

presented by frostsnow

Almost all of us use X.509 certificates on a daily basis in order to connect securely to websites via HTTPS, but few of us understand how the certificates work. In addition, trust is determined for us, not by us, via the program's choice of Public Key Infrastructure (PKI). Deviating from this pre-determined choice of trust is often a futile exercise in frustration.

In this talk I will give...

more

Be excellent to each other 200-level
Gary Smith

Learn Cyber Security by Watching Game of Thrones
A reason to binge watch the series from another perspective

presented by Gary Smith

Game of Thrones (GoT) was one of the most successful series in the history of entertainment. Over the course of its run, we learned about Night Watch, The Wall, White Walkers, wights, and wildlings, among others. Did you know you can learn valuable lessons about Cyber Security from watching GoT? For instance in season one, the bodies of two missing Night’s Watchmen are retrieved from the haunte...

more

Be excellent to each other 100-level
Greg Myers odysseywestra Jacob Roecker

Open Source Can Change Your Life
A panel discussion

presented by Greg Myers, odysseywestra, Jacob Roecker

Three dynamic speakers will share their personal stories of how their lives and careers were radically reshaped by open source.

Greg from GitLab Support

https://about.gitlab.com/company/team/#greg

In 2012 I dropped out of college as a Computer Science major, dissatisfied with online classes and high tuition costs. I decided that i...

more

Human Issues 100-level
Hayden Barnes

Windows Subsystem for Linux
What It Is And Why You Should Care

presented by Hayden Barnes

In 2020 Windows 10 will reach 1 billion active devices. Why would attendees at a Linux conference care? Because that is a billion devices a few clicks from Linux with Windows Subsystem for Linux (WSL). WSL represents a novel opportunity to introduce a whole new category of users to Linux and the broader open source ecosystem.

This talk will introduce WSL to existing Linux users beginning wit...

more

Personal Computing 100-level
Jed Reynolds

Being Generous with WiFi
Balancing access, signal strength, performance and policy.

presented by Jed Reynolds

If you have a single access point in the middle of your house or office, it might be enough...but you can do better. Join us in a group-directed discussion about channel planning and configuring your access points to work well together.

Be excellent to each other 100-level
Jeff Fitzmaurice

The World of IT: Just Getting Started
Conquering the vastness of the IT Universe

presented by Jeff Fitzmaurice

The World of IT goes far beyond playing video games and fixing home connections. But all we do at home is a start to what's really out there waiting for us. A career in IT is at the individuals mercy. In other words, positions are being created in real time to meet real and current needs and trends.

There are basic IT career paths such as Network Engineer, Data Analyst,Cloud Architect and e...

more

Be excellent to each other 100-level
Jeff Silverman

Socio-economic implications of artificial intelligence

presented by Jeff Silverman

I am proposing a seminar, not a lecture. I would begin with a presentation of about 5-10 minutes where I discuss some of the social issues surrounding AI, and then turn it over to the audience to have a discussion or argument or both about AI, what we should be concerned about, how we can ameliorate the adverse consequences, how we can take advantage of what AI has to offer.

Deep Thoughts 100-level
Jeremy Whittemore

Learning to read with Bert & Ernie
All about Natural Language Processing

presented by Jeremy Whittemore

In 2018 Google introduced and open-sourced their neural network language model called Bert. This model allows anyone to create software with state of the art NLP models for their use-cases. Bert is a powerful model, but what about Ernie, and [spaCy transformers](https://githu...

more

Be excellent to each other 100-level
Josephine Ingrid

Ways of Building Self-Confidence
Power Stances and Breathing Techniques

presented by Josephine, Ingrid

Our bodies talk to our brains and influence how we feel. We will be sharing some techniques in body posture to help you feel grounded and more confident in anxiety-producing situations. Taking a power stance before giving a presentation is the body hack you never knew you needed. We will also cover some breathing techniques for reducing anxiety in high-stress situations, and some additional res...

more

Human Issues 100-level
Kaylea Champion

Zombies Among Us: Detecting and Tracking Troubled Projects

presented by Kaylea Champion

Zombie FLOSS projects look normal but are rotten inside. Their code might be difficult to maintain or their runtime behavior erratic. As we become increasingly dependent on thousands of FLOSS projects, it is increasingly useful to sort the healthy from the problematic.

This talk builds off of the initial view launched at LFNW 2019. Since then, I've pored over a collection of more than 8,000...

more

Human Issues 200-level
K.S. Bhaskar

Dragons of Memory Management

presented by K.S. Bhaskar

YottaDB is a mature, hierarchical key-value, free / open source NoSQL database whose is used in enterprise-scale mission-critical applications in banking and healthcare, and also scales down to fit on IoT devices like the Raspberry Pi Zero, as well as applications in-between. When a customer funded us to develop a Go API to YottaDB, we thought it wou...

more

Be excellent to each other 200-level
Larry Apolonio

Why Run a Linux Server at Home
Cool things you can do with a Linux Server

presented by Larry Apolonio

Last year, there were a couple of presentations on DIY IoT projects that did not rely on a cloud service, but other than homeassistant, what other things can you do with a Linux Server at home? This presentation will show some cool things you can do with a Linux Server at home.

Personal Computing 100-level
Lee-Man

So You Want to Contribute to Public Software?
Don't Let Linus Scare You

presented by Lee-Man

For those that want to contribute to public software the barriers can seem difficult. The Linux Kernel Mailing List seems to be a free-for-all! But it's really not that difficult to contribute. I'll talk about contributing to the Linux Kernel as well as how to contribute to Public Projects in general (i.e. non-kernel software).

Be excellent to each other 200-level
Lee-Man

Building and Testing the Latest Linux Kernel using openSUSE Tumbleweed
It's really not that hard?

presented by Lee-Man

There are many reasons to want to try out a relatively new Linux kernel, but that's not always easy to do. For example, if you are running a Linux distribution older than a year or two, there can easily be serious incompatibilities between a new kernel and your current kernel to user-land interfaces.

openSUSE Tumbleweed is a rolling distribution that generally runs the latest and greatest ke...

more

Be excellent to each other 300-level
LinuxFest Northwest

World Famous Raffle
Sunday's raffle

presented by LinuxFest Northwest

Every year LFNW has it's biggest fund raiser activity called "The World Famous Raffle", thanks to our many sponsors and supporters who donate noteworthy raffle items. Tickets are $1 each, cash only, and quantities are limited (by law).

Due to it's popularity the raffle will be held both Saturday and Sunday in the exhibit hall, at the end of each day.

Items donated by our Community Suppo...

more

Be excellent to each other 100-level
LinuxFest Northwest

World Famous Raffle
Saturday's raffle

presented by LinuxFest Northwest

Every year LFNW has it's biggest fund raiser activity called "The World Famous Raffle", thanks to our many sponsors and supporters who donate noteworthy raffle items. Tickets are $1 each, cash only, and quantities are limited (by law).

Due to it's popularity the raffle will be held both Saturday and Sunday in the exhibit hall, at the end of each day.

Items donated by our Community Suppo...

more

Be excellent to each other 100-level
Logan P.

Get out of a bind with unix sockets.
Load balancing by proxy

presented by Logan P.

In 2013, Linux kernel version 3.9 added support for the SO_REUSEPORT flag. This flag allows multiple programs (usually instances of the same program) to bind to a single interface and port specification (IPv4 or IPv6) to load balance across multiple processor threads. This flag is not part of the POSIX standard, but was previously implemented by many UNIX systems (including OSX, and the BSD...

more

Command Line 100-level
Lucas Hall

Nebula an f/oss from Slack
Securing devices through a global mesh network.

presented by Lucas Hall

DIY and home lab examples about the use of "Nebula", and it's use as a a private mesh overlay.

We won't delve into the the crypto nuts and bolts, but rather a high level exploration of the technology, what you you need to know to get started, and some project ideas you could use Nebula to enable.

Nebula is a scalable overlay networking tool with a focus on performance, simplicity and secu...

more

Information Security 100-level
lufthans

Fediverse: Decentralized Social Networking and Services

presented by lufthans

The Fediverse is a collection of decentralized digital, social spaces. Using protocols like ActivityPub allows various services to interact.

ActivityPub enables various services to interact and share data on behalf of accountholders. For instance, competing microblogging services can subscribe to accounts on other services. Also, one type of service can use another, such as a long form bl...

more

Be excellent to each other 100-level
lufthans

uMatrix for Restricting Web JavaScript and Cookies

presented by lufthans

uMatrix is a webextension security and privacy add on for Firefox and other browsers.

The simple interface allows personal rules for per website JavaScript, cookies, CSS, pictures and video.

This introductory talk will describe the structure of the user interface and demonstrate how to use it.

Learn how uMatrix uses and maintains per site allowlists and blocklists.

For instance, for...

more

Be excellent to each other 100-level
Luke Deryckx

Measuring networks at global scale
Lessons learned from building Speedtest.net

presented by Luke Deryckx

Speedtest.net is a globally recognized service with local roots. This talk introduces the technical architecture of Ookla's global Speedtest network & core infrastructure. I briefly introduce the Speedtest ecosystem and architecture and discuss a few stories from our journey scaling this architecture. I then transition into a hypothetical scaling exercise. Using a series of diagrams, I begin w...

more

Be excellent to each other 200-level
maddog

Ghosts of Computers Past
Experience the evolution of computer architectures and operating systems

presented by maddog

Was GNU/Linux the first operating system? Was Unix? Did Unix and GNU/Linux spring from the minds of its developers fully formed? Of course not! They evolved over many years, developed on many computers that are now either non-existent or only existent in museums, turned off or out of reach for most of us.

Or maybe not.

Through the use of SIMH (http://simh.trailing-edge.com/), a hardwa...

more

Education 100-level
maddog

Project Caua: University Students, be your own boss
You can change a disk drive. You can install and OS. Small business owners can't....see the connection?

presented by maddog

In Latin America Federal and State Universities are free of tuition for qualified students, but 40% of those students can not take advantage of that free tuition because their parents are too poor to afford the housing, board, internet, computers, books, transportation and other monies needed.

Some students flip burgers, wait tables or hotel clerk at night, but that is not what they are stud...

more

Be excellent to each other 100-level
maddog

Computer Engineering Curriculum In a (reusable) Box
Make teaching computer science and computer engineering with FOSSH eas(ier)

presented by maddog

"It is too hard!" "I am used to the way Microsoft works!" "I do not have time to develop new course-ware!" "We have always taught it that way!"

You are a new teacher and you have three new courses to teach. Or you have been teaching a while and you have many other responsibilities. To save time you typically you look for the class notes of the professor who taught the course previously. ...

more

Education 100-level
Marcia "aicra" Wilbur

The Linux Developer Experience

presented by Marcia "aicra" Wilbur

As developers, we tend to focus our efforts on our code, our projects and our final "product". Creating content for other developers is a necessary part of the experience.

Ensuring the content is usable and useful is essential!

In this presentation, I will offer examples of how to improve the documentation processes, describe the Documentation Development Life Cycle, and recommend collab...

more

Be excellent to each other 200-level
Michael Dexter

Collapsing the Virtualized Storage Stack
How root on VirtFS can eliminate stacked block devices in virtual environments

presented by Michael Dexter

The authenticity of a virtual machine has always been a core tenet of virtualization but strict adherence to this 1974 rule laid out by Popek and Goldberg has led to unnecessarily-complex scenarios such as an OpenZFS ZVOL providing a block device to VMFS over iSCSI, which in turn provides a second block device to a virtual machine running XFS. At best, the added block devices in this scenario...

more

FreeBSD/OpenBSD 200-level
Noah Birnel

DevOps has a Testing Problem
Testing Infrastructure-as-Code and Configuration-as-Code is not a solved problem

presented by Noah Birnel

DevOps has a Testing Problem

Testing in the DevOps and Infrastructure-as-Code world lags behind pure software testing. This is a problem that can be partially fixed. Let's figure out what's missing.

We can and should learn some testing techniques from software developers -- but there are differences that make infrastructure testing a different problem, ...

more

Be excellent to each other 200-level
odysseywestra

How to make MyPaint Brushes
Understand how MyPaint's brush engine work and create your own brush along the way.

presented by odysseywestra

MyPaint has one of the most interesting ways of creating brushes by manipulating a single circle we call a dab. In this short lab, I want to briefly explain how the brush engine works, and how to create your own brushes and share them with projects that use MyPaint's brush engine like gimp, opentoonz, and other projects. And then get feedback along the way so the MyPaint contributors know where...

more

Be excellent to each other 100-level
ogbog

Intro to Blender, the open source 3D powerhouse
From clay-like sculpting to animating your creations, Blender will explode your brain

presented by ogbog

Blender is a 3D animation suite that can do it all. Take a journey through every step of the 3D character pipeline in this introduction to Blender. First, users will learn the basics of navigating Blender's interface while sculpting a 3D mesh. Next, we'll hit fast-forward, and explore every step of the character pipeline, from sculpting a baby dragon to rigging and animating its soaring flight.

Be excellent to each other 100-level
Ray

Natural Language Passwords
A superior method of generating high-entropy memorized secrets

presented by Ray

Passwords are often at the core of our security. Learn how to make strong passwords you can remember. Password managers and MFA are highly recommended, but sometimes you're going to need to memorize a password. Be confident that you have selected the appropriate strength password for your situation by understanding the math that makes strong passwords statistically unguessable. Leave this se...

more

Personal Computing 100-level
Ray Shimko

Open Source Hardware For The Masses
Think of cool tech under $50 bucks but open source and definitely more then $50 bucks :)

presented by Ray Shimko

This presentation will focus around open source hardware that hopefully begins taking hold with the general public. Various hardware will be discussed including:

  1. Pine Phone
  2. Librem 5
  3. System 76 Laptops (includes ideas for their upcoming homemade laptop)

If you are interested in any of the above hardware / tech, why it's awesome, and why everyone should be clamoring to get their h...

more

Be excellent to each other 100-level
Richard Clark

Serverless and GraphQL
The Wheel of Time - Xinetd and Structured Query Language

presented by Richard Clark

Everything old is new again.

Cloud Native. "It is the way" some say. Kubernetes is "The OS of the Cloud". So if K8S is the OS, what new names have been assigned to things we expect to see under an OS? Well, running code on request, and databases are the things I will be focusing on, because there are great for Buzzword Bingo.

Serverless / Function As A Service (FaaS)

Many years...

more

Be excellent to each other 100-level
Robert

INTRODUCING PATRONI
AUTOMATED HA AND FAILOVERS FOR POSTGRESQL

presented by Robert

We're going to hit this nail right on its head by introducing what is arguably the most significant game changer in PostgreSQL HA cloud deployment technology today, Patroni.

Initially developed as a side project by one of the Europe’s largest online fashion platform it has since grown into a world wide phenomenon.

This lab guides the audience step by step creating and administrating a thr...

more

PostgreSQL 200-level
Robert

Migrating from MSSQL to PostgreSQL
A casestudy describing a successful migration

presented by Robert

Migrating from one database system to another is under the best of circumstances a tedious, yet sensitive, set of operations. But the without proper preparation it can easily become a deep, dark and depressing bottomless pit of money of effort as you race to meet your deadline.

This casestudy reviews migrating from SQL Server to PostgreSQL was accomplished.

PostgreSQL 100-level
Robert

An Introduction to PostgreSQL Declarative Partitioning
Working With Partitioned Tables

presented by Robert

Since its earliest days PostgreSQL has had partitioning. Initially created as an Object Relational Database Management System feature it quickly became apparent that the ability to create parent and child relationships between tables was a significant plus when reorganizing large tables into smaller partitioned slices. However, administrating and managing the resultant architecture often requir...

more

PostgreSQL 100-level
Rob Hartzenberg

Exploring Node-RED, MQTT and ZigBee
A view into the world of IoT and Automation.

presented by Rob Hartzenberg

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

This year, I continue on with Node-RED by adding in some wireless connectivity. Join me as we explore MQTT and Zigbee and getting it all to work together.

You can find last-years presentation at https://www.youtube.com/watch?v=wBc6ygF9eeM

Open Hardware 100-level
Ross Brunson

CompTIA's NEW Linux+ Certification
All You Need to Know!

presented by Ross Brunson

CompTIA has split from it’s historic relationship with the Linux Professional Institute, and has re-introduced the Linux+ certification based on an entirely updated set of objectives and content.

Designed for those who are curious about the certification, whether they are candidates, employers or managers, this session will give you all you need to make the decision of whether the new Li...

more

Education 200-level
Ross Brunson

From Sysadmin to DevOps Engineer
The Easier Way!

presented by Ross Brunson

The days of being a sysadmin alone are nearly gone, and soon you MUST have developer operations skills to get even the most entry level job managing a rack of servers, of virtualized systems or your own AWS, Azure or Google Cloud environment!

There’s a hard way and an easy way to skill-up and become a Devops Engineer. Your presenter did it the hard way and can help you avoid the problems...

more

Career Growth 200-level
rth

stretching ideas of the open-source and free-software
an open-knowledge and free of formal barriers computational sciences

presented by rth

As an academic scientist, I contribute my time and efforts as a reviewer, a guest editor, a lecturer at winter and summer schools, and as an educator, helping the community and promoting growth for the next generation of scientists.

However, after many years in academic science, I do not think this is enough for growth and improvement of science or even for sustainable preservation of the ...

more

Deep Thoughts 100-level
Samuel Karp

Extending containerd
Customizing your container runtime

presented by Samuel Karp

containerd, a graduated CNCF project, is a widely used container runtime that provides core functionality for Docker. containerd was designed to be small and simple, but also very modular and extensible. This talk covers the architecture of containerd, explains the responsibilities of each component, and dives deep into containerd’s facility for extension. We’ll cover the individual gRPC servic...

more

Be excellent to each other 300-level
Samuel Karp

Linux Container Primitives
cgroups, namespaces, and more!

presented by Samuel Karp

In this session, we’ll explore the different Linux primitives that are commonly used in implementing container runtimes. We’ll learn about the Linux primitives that underlie container runtimes like Docker, including cgroups, namespaces, and union filesystems. We’ll see how Docker uses these primitives, and how the OCI standard makes it possible to customize how your containers run. We’ll also d...

more

Be excellent to each other 200-level
Sarah Newman

Mandatory Access Control and AppArmor
Confine all the things

presented by Sarah Newman

Do you have a program that's phoning home when you don't want it to? Are you afraid you might accidentally make a file public, but can't use file permissions to hide it? Come learn how mandatory access control can help with these and other problems.

In addition to a brief overview of mandatory access control, this presentation will discuss one particular implementation, AppArmor, in detail. ...

more

Information Security 200-level
SheRah

Being Excellent to Your Direct Reports
Creating loyalty in today's engineering environments

presented by SheRah

We’ve all worked in places where the employees were excellent to each other because management was not excellent to anyone. An amazing amount of work gets done in those places. But how much more would get done if managers were excellent to workers to foster a culture of openness and transparency?

Sheilagh Morlan has been an IT manager for 20 years and has a reputation for building strong, l...

more

Career Growth 100-level
Sid Faber

Ubuntu Security
A Behind-the-Scenes View of the Canonical Security Team

presented by Sid Faber

Open source software is the foundation for an uncountable number of amazing products, but as with any type of software, more and more vulnerabilities are discovered in open source software. With the distributed and complex open-source environment, how can Ubuntu pledge long term support?

In this discussion we will talk through a typical day-in-the-life of the Canonical security team:

  • P...
more

Be excellent to each other 100-level
Sid Faber

An Introduction to ROS, the Robot Operating System
How to Build Your Own Open Source Robot

presented by Sid Faber

The Robot Operating System (ROS) is a flexible, open source framework for writing robot software. ROS has been widely used in robotics research for over a decade, and many commercial products now rely on ROS.

We’ll cover the following topics in this lecture:

  • The ROS architecture and how to get started
  • Basic ROS constructs: Nodes, topics, services and actions
  • Installing ROS on...
more

Be excellent to each other 100-level
Stephen Smith

An Overview of the ARM and RISC-V Assembly Instruction Sets

presented by Stephen Smith

More devices ship with ARM CPUs than Intel and AMD combined. RISC-V is a new CPU with lots of potential in the open source world. This presentation will compare and contrast the architecture and instruction sets of these CPUs. We'll look at RISC architectures and how the instructions are all encoded in just 32-bits. We'll discuss how Linux leverages these architectures to provide robust computi...

more

Open Hardware 200-level
Toby Betts

Building Systems That Build Systems
Attain Total Cloud Deployment Automation with Azure, Ansible, & OpenBSD

presented by Toby Betts

With cloud-based infrastructure now a critical part of our networks, the need for consistent, reproducible deployments to ensure service integrity is greater than ever before. Hand-crafted virtual machines and one-off network configurations are not just antiquated, they can be potentially dangerous and result in the dreaded "technical debt" that all services fear. In this talk we will discuss t...

more

FreeBSD/OpenBSD 200-level
Todd Weaver

Freeing the Mobile Phone
The Story of the Librem 5

presented by Todd Weaver

Purism's Founder & CEO Todd Weaver will tell the story of the Librem 5 from inception, through decisions made, and a lot of humorous anecdotes connecting tangential topics to the overall goal of freedom in technology.

Personal Computing 100-level
Troy Dawson

Open Source Shirts
Open Sourcing a physical product

presented by Troy Dawson

It's fairly easy to open source software. It's a little harder to open source graphics. Open sourcing patterns brings in another level of difficulty. But what happens when you try to combine all three of these things together. Can it be done? Can you make money with your entire toolchain open sourced? Join Troy Dawson as he talks about his journey of starting a business that tries to sell...

more

Be excellent to each other 100-level
Vagrant Cascadian

Reproducible Builds: Beyond Trusting Open Source Software
shedding light on black boxes

presented by Vagrant Cascadian

Software released under an open-source license and developed using an open-source model comes with many benefits, allowing the ability to use, study, change, and share not only the software itself, but similarly engage with a community around the software in a transparent manner.

One of the strongest assertions is that open-source software is more secure, as many parties are able to ins...

more

Be excellent to each other 200-level
Vagrant Cascadian

Diff all the things
no really, all of them

presented by Vagrant Cascadian

Ever run diff on two binary files? tarballs? iso images? How about two container images? Not hugely helpful results? Inscrutable, did you say?

Diffoscope is a useful tool to diagnose the differences between files that might be similar, but for whatever reason, are not identical. It does this by recursively unpacking the file types it knows about, striving to re...

more

Be excellent to each other 200-level
Vincent Zimmer

Threat modeling, Rust, and Firmware Updates
Developing firmware in the open for hostile world

presented by Vincent Zimmer

This presentation will begin with a description of threat modeling, including assets, threats, and mitigation's. And among many of the mitigation approaches, moving to a safe language like Rust will be discussed, especially given 50% of EDKII issues are based upon memory safety. Finally, the fusion of a safe language and an update flow, namely EDKII capsule update, will be described.

Information Security 200-level
Wes Payne

Adventures in Booting Linux

presented by Wes Payne

On LINUX Unplugged we love trying out new distributions, and over the years we've developed a bag of tricks for booting Linux in just about any way possible. In this lecture, we'll explore the GRUB command line, using (and abusing) RAM as disk, and how to never reboot again with kexec.

Intended to be useful for all Linux users and especially so for those interested in learning more a...

more

Jupiter Broadcasting 200-level
Wm Salt Hale

Bicycles as a Metaphor for FLOSS

presented by Wm Salt Hale

While riding from Seattle to Bellingham, from my biking community to my Linux community, I considered just how Freeing each transition had been. Historically biking has been associated with many things including health, happiness, and feminism. What about Free Software?

During the next 45 minutes, we will explore the open engineering, grassroots innovation, hands-on-learning, hidden dangers,...

more

Human Issues 100-level
cvantuin

Microservices + Databases at Scale with Kubernetes

presented by cvantuin

Rapid innovation, changing business landscapes, and new IT demands force businesses to make changes quickly. In the eyes of many, DevOps + Microservices + Containers are at the brink of becoming pervasive in IT to accelerate business innovation.

In this presentation, you'll learn about managing containerized Microservices + Databases at scale:

  • Best practices for immutable and secure con...
more

Kubernetes at Red Hat 200-level
cvantuin

Continuous Security at Scale with Kubernetes

presented by cvantuin

With the rise of DevOps, containers are at the brink of becoming a pervasive technology in Enterprise IT to accelerate application delivery for the business. When it comes to adopting containers in the enterprise, Security is the highest adoption barrier. Is your organization ready to address the security risks with containers for your DevOps environment?  In this presentation, you'll learn abo...

more

Kubernetes at Red Hat 200-level
clarkb

Continuous Integration and Project Gating with Zuul

presented by clarkb

Gating software commits to ensure that commits only merge after passing gate tests is an excellent way to be sure your software tree is always working. Unfortunately, it can be difficult to set up a gating system that is both performant and correct. Often, you are forced to compromise between testing every commit before it merges, ensuring correctness, and testing in batches to ensure throughpu...

more

Be excellent to each other 200-level
craig.liddle@suse.com

Management of Open Source Systems with Uyuni

presented by craig.liddle@suse.com

There are a lot of tools running around the Open Source world to assist in managing the your systems. They all have some good points and capabilities, but most of the time you end up needing multiple tools to meet the management needs. Let’s take a look at the requirements for managing a hybrid environment with classic Bare Metal or Virtual Machine servers running on premise to Container host...

more

DevOps 200-level