My Talks

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

slides as PDF

slides as HTML

slides as markdown

talk notes (same content as slides, but formatted for printing on letter sized paper)

talk sources

Times and locations where I have given this talk:

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[1]. You may also view the slide deck (slides) as a normal text file.

All demonstrations and other resources may be downloaded here[2].

[1] - sent homepage

[2] - slides & examples

Times and locations where I have given this talk:

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[3]. You may also view the slide deck (awkward) as a normal text file.

Times and locations where I have given this talk:

[3] - sent homepage

slides & examples

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:

slides as PDF

soundboard.py demo application

talk sources

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:

talk notes

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:

notes as HTML

notes as reST

Copyright 2018-2021 Charles Daniels.

This work is licensed under CC-BY-SA 4.0