Program for LinuxFest Northwest 2020

Unscheduled events
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...


Information Security 200-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...

Jupiter Broadcasting 200-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 ...


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...


Be excellent to each other 100-level

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
Joel Lord

Containerization For Software Developers
Container, container, containers everywhere

presented by Joel Lord

The end is nigh. Your application is almost ready and you will need to deploy it. And with the deployment, the endless tweaking to actually get everything running in a production environment. If only there was a way to test everything in that environment first… This is where containers will come in to save the day. With container, you not only run your code in an environment similar to the prod...


Be excellent to each other 100-level
Joel Lord

Kube Restaurant
Learning the Kubernetes Basics

presented by Joel Lord

You’ve been to a restaurant before, right? Have you noticed how everything is structured? Everyone has a job and there is a chain of command. You can’t just walk into the kitchen and tell the cook how you want your steak done. Kubernetes is actually very similar to this. You will deploy some pods that do specific things and set the rules of communications that dictate how they all talk to each...


Be excellent to each other 100-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
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...


Command Line 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...


Be excellent to each other 200-level

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...


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...


Be excellent to each other 100-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...


Be excellent to each other 200-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...

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...


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...


FreeBSD/OpenBSD 200-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...


Be excellent to each other 100-level