Action-Movie Crypto

This month, long-time SGVLUG member Dustin Laurence reprises his SCALE 13x talk. We'll also be talking about the SGVLUG BBQ for September, the 20th anniversary party plans for November, and SCALE 14x.


The details of how cryptographic algorithms are designed, implemented, verified, and assembled into cryptosystems requires expert knowledge. Fortunately, the big picture of how the resulting cryptosystems are used does not. For most users and even most programmers, the underlying algorithms are black boxes that they do not and need not understand, while the language and conceptual framework of modern cryptography are very useful in putting those algorithms to practical use.

We will sketch out that conceptual framework at action-movie speed using the simplest of classical cryptographic algorithms to represent the modern black boxes for concreteness while studing everything but the algorithms themselves. After the presentation you should understand: elementary cryptographic language, security as a probabalistic rather than absolute guarantee, why the size of the keyspace matters, why practical security depends on choosing keys randomly, what side-channel attacks are, what public-key cryptography is, and what a digital signature is. You should also have the basic conceptual framework and vocabulary for further study or self-study. The presentation should be accessible to beginners of all ages.


Intending to become a programmer ("developer" hadn't been invented by the marketing department yet), Dustin got sidetracked and spent more time than he cares to admit doing theoretical physics, a background filled with continuous mathematics almost entirely irrelevant to computer science and cryptography. He eventually returned to his original love, and these days writes cryptographic and embedded software for Gem, Inc. He believes that every programmer and indeed every citizen must be cryptographically literate in the world he and many, many others are busy creating. He avoids social media for the same reason he doesn't do crack cocaine.

Meetup Event Page

Desknet: Computer Aided Math Drills for Children

Retired schoolteacher John "Juan" Slayton will share his cool hardware/software project, Desknet, which is aimed at allowing children to do computer-aided drills using one laptop and multiple wireless keyboards.

Behavioral Objectives:

  1. The learner will use the Logitech wireless keyboards, observing the eccentricities resulting from the Desknet decoding strategies.
  2. The learner will demonstrate proficiency in addition and multiplication by engaging in real-time competitive activies with his/her peers.
  3. The learner will recognize and appropriately place his/her fingers on the home row keys, and will gain speed and accuracy in reaching for non-home- row letters.
  4. The learner will use the Desknet system to check his/her written calculations derived from the 3rd grade math text.
  5. The learner will create and edit coherent text, using the Desknet word processor.
  6. The learner will anecdotally recount the development of the Desknet hardware and system code to peers as occasion demands.


John Slayton is a native of Kansas City (Missouri side), but mostly grew up in California. He received an MA from UCLA in Linguistics.

In the early 80's he became increasingly dissatisfied with his kids' experience in the public schools and went back to school (Cal Poly Pomona) to get a California teaching credential. He tried to get a job with El Monte City Schools, and wound up spending the next 21 years teaching bilingual classes at LeGore School. His class became his lab in which he could try new things, not all of which turned out well. But some worked. The Desknet project is one of these.

Meetup Event Page

Writing and Publishing Books with Free Software

The old saying goes that "everyone has a book inside of them", and advances in technology have made publishing more accessible than ever. The opportunities in traditional and independent publishing are wide open. But writing a book remains a daunting task, and new authors will encounter many steps along the way.

What does it take to publish information in the digital age? Hybrid author Nathan Haines discusses working with traditional publishers that use proprietary software and formats, and describes the self-publishing process from start to finish. From ebooks to print, is Free and Open Source Software up to the task?


Nathan Haines is an author, instructor, and computer consultant who fell in love with Ubuntu in 2005, and helped found the Ubuntu California Local Community Team to share that excitement with others. As a current leader of the California team and a member of the Ubuntu Local Community Council, he works to help others support and share Ubuntu worldwide.

His mission to educate and excite people about Free Software and Ubuntu continues with his upcoming book, Beginning Ubuntu Linux for Windows and Mac Users.

Meetup Event Page



Docker is a hot trend in today's tech community, making it easier than ever to containerize and deploy modern, and legacy software applications. While often mistaken for virtualization, containers take a new, lightweight approach to abstracting and isolating the runtime environment, dependencies and networking required by modern software.

This talk will cover how to get started with Docker, best practices for containers and example workflows for developing and deploying containers locally and in cloud environments. After this talk you should have the essential building blocks for building a containerized environment and application stack.


Dan is an IT Data Scientist in the Office of Chief Technology and Innovation at NASA's Jet Propulsion Laboratory where he is using the latest software and open hardware technology to bring new ways of working with big data and computing infrastructure to space missions. In the past, Dan has worked for a handful of startups and has been an avid Linux user for many years.

Meetup Event Page


The wonderful folks at OpenX are hosting this meeting and providing pizza and drinks. Consequently, we require RSVPs 48 hours in advance. RSVPs are currently capped at 35. We may open it up if there is demand. Please keep RSVPs up-to-date.

We will socialize and eat around 6pm, and the talk will start at 7pm. Big thanks to Bobby at OpenX for making the arrangements.


Andrew Hamilton will go over the basics of Ansible and discuss why it's a great tool for running simple commands, complex tasks and workflows across a group of systems.

Ansible is a powerful but simple automation tool. Ansible is simple enough that most developers and administrators will be able to understand the scripts without much trouble. With this simplicity, Ansible is great for organizations looking for a tool that both dev and ops can use together. The YAML based syntax of Ansible is also much easier to understand than the DSL that some other tools use.


Andrew is currently a Systems Architect at Prevoty where he focuses on automation and infrastructure. Previously he was an SRE for Search @Twitter and a system administrator for Eucalyptus. Andrew is passionate about cloud computing and automation.


OpenX is located in the One West Bank building @ 888 E Walnut St. Pasadena CA, 91101. Entrances to the building are eastbound on Walnut, right hand side before the Lake St. intersection or southbound on Lake St. right hand side after the Walnut St. intersection. Once through the driveway, please park in the 888 Lot that has the OpenX logo displayed out front. Pull a ticket and bring it with you to the Meet-Up, we will validate your parking.


Ansible has many features common to configuration management systems such as Puppet and Chef. Ansible uses a simple execution model compared to Puppet and Chef that is much easier for new users to understand. The majority of the modules it provides are indepotent so a playbook can be run multiple times without causing problems by running a change multiple times if it isn't needed. The use of YAML to describe your playbooks also makes creating and editing Ansible playbooks much easier.

Interacting directly with services such as AWS, GCE, Azure or OpenStack is easy through a set of provided modules. Ansible allows you to create an entire deployment framework with one tool that can provision hosts, configure and install software, add and remove servers from a load balancer and finally terminate the old instances. Ansible can also use dynamically generated lists of hosts making it easy to work in highly dynamic environments.

One of the most powerful features of Ansible is that hosts are accessed over SSH. There is no need to install additional daemons or to open up additional ports. You can simply write a playbook, give it a set of hosts to run against, provide a set of credentials and watch Ansible do what you've told it to do.

You also don't need to give Ansible access to root unless it is required for the playbook. Ansible can use either sudo or su to escalate privileges for single tasks or entire playbooks.

Ansible core is written in Python so it's easy to run and extend. If Python is your language of choice, Ansible provides you with a set of modules that make writing your own modules easy. If you're not a Python developer, Ansible allows modules to be written in any language that can accept JSON through STDIN and then return JSON back to through STDOUT. Ansible can also be used as a library in Python that allows you to easily take advantage of some of its features in custom scripts. Ansible is a flexible tool that allows users to easily perform both adhoc remote command execution and configuration management across a group of hosts. Getting started with Ansible is easy and has relatively low overhead. Ansible playbooks are simple enough that they can be compared with shell scripts. We'll go over the basics of Ansible and discuss why it's a great tool for running simple commands, complex tasks and workflows across a group of systems.

Meetup Event Page

Getting Stared With Linux: A Non-Nerd's Guide

Dan Buthusiem will help you get an idea of what Linux is, and how to get started with it in a totally non-committal way. Learn how to use Linux the same way you would use your computer of choice to do non-nerd things, like email, along with a few potentially nerdy things along the way.

Recommended Materials:

  • 1 laptop

  • 1 empty USB drive of at least 4 GB (8 or more preferred)

Speaker: Dan Buthusiem

Meetup Event Page