Check out the new USENIX Web site.
FAST '05
TUTORIAL PROGRAM

Overview | Tutorial Descriptions | Instructors

Monday, May 8, 2006
Monday Morning Half-Day Tutorials
M1 Regular Expression Mastery
Chip Salzenberg, Cloudmark, Inc.
9:00 a.m.–12:30 p.m.

Who should attend: System administrators and users who use Perl, grep, sed, awk, procmail, vi, or emacs.

Almost everyone has written a regex that produced unexpected results. Sometimes regexes appear to hang forever, and it's not clear what has gone wrong. Sometimes they behave differently in different utilities, and you can't tell why. This class will fix all these problems.

The first section of the class will explore the matching algorithms used internally by common utilities such as grep and Perl. Understanding these algorithms will allow us to predict whether a regex will match, which of several matches will be found, and which regexes are likely to be faster than others, and to understand why all of these behaviors occur. We'll learn why commonly used regex symbols such as ".," "$." and "\1" may not mean what you thought they did.

In the second section, we'll look at common matching disasters, a few practical parsing applications, and some advanced Perl features. We'll finish with a discussion of optimizations that were added to Perl 5.6, and why you should avoid using "/i."

Topics include:

  • Inside the regex engine
    • Regular expressions are programs
    • Backtracking
    • NFA vs. DFA
    • POSIX and Perl
    • Quantifiers
    • Greed and anti-greed
    • Anchors and assertions
    • Backreferences
  • Disasters and optimizations
    • Where machines come from
    • Disaster examples
    • Tokenizing
    • New optimizations
    • Matching strings with balanced parentheses

Chip Salzenberg Chip Salzenberg (M1, M4) is a well-known figure in the Perl and free/open source communities. Chip's been working with, and on, free and open source software for 20 years, and specifically Perl for over 15 years. In 1996 and 1997, Chip was project manager ("pumpking") for Perl 5.4, a release widely praised for its high quality. Chip teaches and has been published on Perl and other subjects. During the day he masquerades as a mild-mannered, spam-fighting programmer at Cloudmark, Inc.; but his secret identity is Architect of the Parrot virtual machine.


M2 So You Have Active Directory: Now What?
Gerald Carter, Samba Team/Centeris
9:00 a.m.–12:30 p.m.

Who should attend: Systems administrators who are tasked with integrating authentication, Web, and file/print services provided by UNIX hosts with an Active Directory domain.

Frequently AD deployments are handled outside the UNIX infrastructure teams. This can leave UNIX/Linux sysadmins scratching their collective heads about how to make use of the new directory service and reduce the amount of duplicated work between the teams and the AD administrators.

Topics include:

  • AD domain membership using Samba
  • NTLM and Kerberos authentication for Apache
  • Using PAM for NTLM and Kerberos authentication
  • Searching Active Directory using LDAP clients

Gerald Carter Gerald Carter (M2, M5) Gerald Carter has been a member of the Samba Development Team since 1998. He has been developing, writing about, and teaching on open source since the late 90's. Currently employed by Centeris as a Samba and open source developer, Gerald has written books for SAMS Publishing and for O'Reilly Publishing.


M3 Practical Project Management for Sysadmins and IT Professionals
Strata Rose Chalup, Project Management Consultant
9:30 a.m.–12:30 p.m.

Who should attend: System administrators who want to stay hands-on as team leads or system architects and need a new set of skills with which to tackle bigger, more complex challenges. No previous experience with project management is required. Participants will get a no-nonsense grounding in methods that work without adding significantly to one's workload. After completing this tutorial, participants will be able to take an arbitrarily daunting task and reduce it to a plan of attack that will be realistic, lend itself to tracking, and have functional, documented goals. They will be able to give succinct and useful feedback to management on overall project viability and timelines and easily deliver regular progress reports.

People who have been through traditional multi-day project management courses will be shocked, yet refreshed, by the practicality of our approach. To get the most out of this tutorial, participants should have some real-world project or complex task in mind for the lab sections.

This tutorial focuses on complementing your own organizational style (or lack thereof) with a toolbox of ways to organize and manage complex tasks without drowning in paperwork or clumsy, meeting-intensive methodologies. Also emphasized is how to bridge the gap between ad-hoc methods and the kinds of tracking and reporting traditionally trained managers will understand.

Topics include:

  • Quick basics of project management
    • The essentials you need to know
    • How to map the essentials onto real-world projects
  • Skill sets
    • Defining success
    • Chunking and milestoning
    • Delegating
    • Tracking
    • Reporting
  • Problem areas
    • Teams, interactions among people
    • The albatross project
    • When to go deep and when to get "pointy-haired"
    • When disaster strikes, should you scrap, or salvage?
  • Project management tools
    • What tools should do for you
    • Leveraging the command line: UNIX PM
    • Freeware PM tool options
    • The only 15 minutes of MS Project you'll ever need

Strata Rose Chalup (M3, M6) began as a fledgling sysadmin in 1983 and has been leadingStrata Rose Chalup and managing complex IT projects for many years, serving in roles ranging from Project Manager to Director of Network Operations. She has written a number of articles on management and working with teams and has applied her management skills on various volunteer boards, including BayLISA and SAGE. Strata has a keen interest in network information systems and new publishing technologies and built a successful consulting practice around being an avid early adopter of new tools, starting with ncsa_httpd and C-based CGI libraries in 1993 and moving on to wikis, RSS readers, and blogging. Another MIT dropout, Strata founded VirtualNet Consulting in 1993.

Monday Afternoon Half-Day Tutorials
M4 Perl Program Repair Shop and Red Flags
Chip Salzenberg, Cloudmark, Inc.
1:30 p.m.–5:00 p.m.

Who should attend: Anyone who writes Perl programs regularly. Participants should have at least three months' experience programming in Perl.

You've probably been working too hard when you program, writing twenty lines of code when you only needed ten. But there is a better way, and I will show it to you. You'll learn how to improve your own code and the code of others, making it cleaner, more readable, more reusable, and more efficient, while at the same time making it 30-50% smaller. Smaller code contains fewer bugs and takes less time to maintain.

We will examine several real code examples in detail and see how to improve them. We'll focus on red flags--warning signs in your code that are plainly visible once you know what to look for--and on techniques that require little complex thought or ingenuity. All the bad code in this class is guaranteed 100% genuine and typical.

Topics include:

  • Families of variables
  • Making relationships explicit
  • Refactoring
  • Programming by convention
  • The Flesh Blanket
  • Conciseness
  • Why you should avoid the "." operator
  • Elimination of global variables
  • Superstition
  • The "use strict" zombies
  • Repressed subconscious urges
  • The cardinal rule of computer programming
  • The psychology of repeated code
  • Techniques for eliminating repeated code
  • What can go wrong with "if" and "else"
  • The Condition That Ate Michigan
  • Resisting "Holy Doctrine"
  • Trying it both ways
  • Structural vs. functional code
  • Elimination of structure
  • Boolean values
  • Programs that take two steps forward and one step back
  • Programs that are 10% backslashes
  • 'print print print print print '
  • C-style "for" loops
  • Loop counter variables
  • Array length variables
  • Unnecessary shell calls
  • How (and why) to let "undef" be the special value
  • Confusion of internal and external representations of data
  • Tool use
  • Elimination of repeated code with higher-order functions
  • Learning to use a hammer
  • The "swswsw" problem
  • Avoiding special cases
  • Using uniform data representations

Chip Salzenberg Chip Salzenberg (M1, M4) is a well-known figure in the Perl and free/open source communities. Chip's been working with, and on, free and open source software for 20 years, and specifically Perl for over 15 years. In 1996 and 1997, Chip was project manager ("pumpking") for Perl 5.4, a release widely praised for its high quality. Chip teaches and has been published on Perl and other subjects. During the day he masquerades as a mild-mannered, spam-fighting programmer at Cloudmark, Inc.; but his secret identity is Architect of the Parrot virtual machine.


M5 Hot Swap File/Print Services
Gerald Carter, Samba Team/Centeris
1:30 p.m.–5:00 p.m.

Who should attend: Administrators who are interested in transparently replacing Windows File/Print servers with Samba running on UNIX/Linux servers.

Samba is the interoperability tool for mixed networks. Consolidating servers to a single OS can be a huge help when solving basic issues such as backups, remote administration, and monitoring. This course will help you to identify and solve the issues surrounding migrating existing Windows File & Print servers to UNIX/Linux hosts. The process can be done after hours and in such a way that users are unaware of any changes when arriving the next day.

Topics include:

  • Understanding Samba's use of POSIX Access Control Lists and Extended Attributes
  • Maintaining Windows ACLs while moving files and directories
  • Migrating printer queues, drivers, and settings
  • Migrating users and groups from an NT4 domain controller

Gerald Carter Gerald Carter (M2, M5) Gerald Carter has been a member of the Samba Development Team since 1998. He has been developing, writing about, and teaching on open source since the late 90's. Currently employed by Centeris as a Samba and open source developer, Gerald has written books for SAMS Publishing and for O'Reilly Publishing.


M6 Alligators 101: Project Troubleshooting
Strata Rose Chalup, Project Management Consultant
1:30 p.m.–5:00 p.m.

Who should attend: Anyone with an existing project that isn't going well, and they're not sure why, or with a big initiative at work that they'd like to turn into a project but can't seem to get beyond a certain point with it; anyone who's been getting involved with open source software development, and things have gotten complex now that more folks are on board. If you've been thinking, "Hey, if we had a little more structure, we could get a lot more accomplished," this tutorial is for you. It's likely, but not strictly required, that you've taken some kind of project management training or done some reading on your own.

As for me: I've been pulling clients' projects out of the fire for years. As a career consultant, I'm constantly running into the "When all else fails, hire a consultant" syndrome. I've seen projects without a plan, plans without a project, and just about everything in between—including a lot of busy people who don't seem to know what the common goal is, or even whether there is one!

So come on down, bring your laptop, your notes, and your questions, and get your project back on track.

Strata Rose Chalup (M3, M6) began as a fledgling sysadmin in 1983 and has been leadingStrata Rose Chalup and managing complex IT projects for many years, serving in roles ranging from Project Manager to Director of Network Operations. She has written a number of articles on management and working with teams and has applied her management skills on various volunteer boards, including BayLISA and SAGE. Strata has a keen interest in network information systems and new publishing technologies and built a successful consulting practice around being an avid early adopter of new tools, starting with ncsa_httpd and C-based CGI libraries in 1993 and moving on to wikis, RSS readers, and blogging. Another MIT dropout, Strata founded VirtualNet Consulting in 1993.

?Need help? Use our Contacts page.

Last changed: 9 March 2006 ch