Skip to main content

About

Policy as Code 101

Open Policy Agent (OPA) is a CNCF-graduated open source engine for executing policy as code. This talk explores what policy as code means, how you can implement it using OPA, and discusses higher level business considerations for adopting policy as code.

Times and locations where I have given this talk:

Date Location Organization / Event
2024-08-22 Columbia, SC Silicon Swamp

rq: Datalog for your Shell Pipelines

rq brings the full power of Rego, a Datalog dialect created for Open Policy Agent (OPA) to your shell pipelines. It allows you to easily transform and query data in a variety of commonly used formats using Rego expressions, which allows for concise, general-purpose, performant transformations. This talk discusses the background of OPA and Rego, explains some simple Rego expressions, and demonstrates a few of the capabilities of rq.

Times and locations where I have given this talk:

Date Location Organization / Event
2022-09-14 Columbia, SC Open Source South Carolina Meetup

Introduction to Python

Python is a hugely popular, easy-to-use language with a rich library ecosystem. It has taken both academic and industry computing by storm, and for good reason. This talk provides a crash course in introductory Python. Basic programming knowledge is assumed, but previous Python experience is not.

Date Location Organization / Event
2020-09-17 University of South Carolina ACM Weekly Meeting

Introduction to GraphViz

GraphViz is a powerful language for describing graphs. Tools are available to convert GraphViz markup into visual diagrams, including features such as automatic node layout and advanced styling capabilities. This talk discusses the basics of GraphViz, useful strategies and techniques for using GraphViz, and concludes with a selection of practical examples.

This walk was originally written to fulfill the graduate credit requirement for the University of South Carolina CSCE567 “Visualization Tools” course.

The slides for this talk were created using sent. You may also view the slide deck (slides) as a normal text file.

All demonstrations and other resources may be downloaded here.

Times and locations where I have given this talk:

Date Location Organization / Event
2019-04-08 University of South Carolina CSCE567 Class Meeting

A Guide To Being AWKWard

Awk is a simple programming language for manipulating streams of text. It is very versatile and useful for tasks such as searching or processing text, interacting with tabular data (such as CSV, TSV), and rapidly prototyping algorithms or ideas. Awk has been a mainstay UNIX tool for decades due to its simplicity and speed. In this talk, I introduce the basic principles and usage of Awk, show some common idiomatic examples of usage in depth, and discuss and demonstrate more advanced usage in brief.

The slides for this talk were created using sent. You may also view the slide deck (awkward) as a normal text file.

All demonstrations and other resources may be downloaded here.

Times and locations where I have given this talk:

Date Location Organization / Event
2019-03-20 University of South Carolina UofSC ACM Student Chapter - Weekly Meeting

Introduction to GUI Development with Tk and Python 3

An introduction to building simple GUIs in Python 3 using TkInter. TkInter + Python 3 allows for straightforward, rapid, cross-platform GUI development. This talk assumes a basic understanding of programming, and a working knowledge of Python would also be helpful but is not required.

This talk takes the from of a live-coding exercise where the speaker will build a simple “sound effects board” using Python 3 and TkInter.

This talk was originally written for the 2019-01-30 meeting of the University of South Carolina ACM Student Chapter.

Times and locations where I have given this talk:

Date Location Organization / Event
2019-01-30 University of South Carolina UofSC ACM Student Chapter - Weekly Meeting

Introduction to Shell Scripting

An introduction to various shell scripting related topics. The audience is assumed to have basic familiarity with UNIX shells (or PowerShell) such as ls, cd, cat, etc.

This talk was originally written for the 2018-11-07 meeting of the University of South Carolina ACM Student Chapter.

Last Updated: 2018-11-07

Times and locations where I have given this talk:

Date Location Organization / Event
2018-11-07 University of South Carolina UofSC ACM Student Chapter - Weekly Meeting

Everything You Never Knew about SSH

An introduction to various intermediate and advanced SSH topics suitable for audiences with an existing general familiarity with SSH. Topics covered include key generation and management, file transfer, X forwarding, SOCKS proxies, SSH relays, reverse-SSH tunnels, and SSH server configuration best practices.

This talk was originally written for the 2018-04-06 meeting of the University of South Carolina Cybersecurity Club.

Last Updated: 2018-04-06

Times and locations where I have given this talk:

Date Location Organization / Event
2018-04-06 University of South Carolina UofSC Cybersecurity Club - Weekly Meeting
2018-11-28 University of South Carolina UofSC ACM Student Chapter - Weekly Meeting