Talks and Seminars

I do talks and seminars for conferences. I used to do them for the Computer Science Club, the UW Debian Interest Group, and the IEEE Student Branch and sometimes I generate handouts.

Description Files
LATEX: A Document Processor
Typesetting beautiful text

Unix was one of the first electronic typesetting platforms. The innovative AT&T troff system allowed researchers at Bell Labs to generate high quality camera-ready proofs for their papers. Later, Donald Knuth invented a typesetting system called TEX, which was far superior to other typesetting systems in the 1980s. However, it was still a typesetting language, where one had to specify exactly how text was to be set.

LATEX is a macro package for the TEX system that allows an author to describe his document's function, thereby typesetting the text in an attractive and correct way. In addition, one can define semantic tags to a document, in order to describe the meaning of the document; rather than the layout.


LATEX: Reports
Writing reports that look good

Work term reports, papers, and other technical documents can be typeset in LATEX to great effect. In this session, I will provide examples on how to typeset tables, figures, and references. You will also learn how to make tables of contents, bibliographics, and how to create footnotes.

I will also examine various packages of LATEX that can help you meet requirements set by users of inferior typesetting systems. These include double-spacing, hyphenation and specific margin sizes.


LATEX: Beautiful Mathematics
LATEX => fun

It is widely acknowledged that the best system by which to typeset beautiful mathematics is through the TEX typesetting system, written by Donald Knuth in the early 1980s.

In this talk, I will demonstrate LATEX and how to typeset elegant mathematical expressions.


The BSD License Family
Free for all

Before the GNU project ever existed, before the phrase "Free Software" was ever coined, students and researchers at the University of California, Berkeley were already practising it. They had acquired the source cdoe to a little-known operating system developed at AT&T Bell Laboratories, and were creating improvments at a ferocious rate.

These improvements were sent back to Bell Labs, and shared to other Universities. Each of them were licensed under what is now known as the "Original BSD license". Find out what this license means, its implications, and what are its decendents by attending this short talk.


The GNU General Public License
The teeth of Free Software

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software---to make sure the software is free for all its users.
--- Excerpt from the GNU GPL

The GNU General Public License is one of the most influencial software licenses in this day. Written by Richard Stallman for the GNU Project, it is used by software developers around the world to protect their work.

Unfortunately, software developers do not read licenses thoroughly, nor well. In this talk, we will read the entire GNU GPL and explain the implications of its passages. Along the way, we will debunk some myths and clarify common misunderstandings.

After this session, you ought to understand what the GNU GPL means, how to use it, and when you cannot use it. This session should also give you some insight into the social implications of this work.


Debian in the Enterprise

The Debian Project produces a "Universal Operating System" that is comprised entirely of Free Software. This talk focuses on using Debian GNU/Linux in an enterprise environment. This includes:

  • Where Debian can be deployed
  • Strategic advantages of Debian
  • Ways for business to give back to Debian


Regular Expressions

Stephen Kleene developed regular expressions to describe what he called "the algebra of regular sets". Since he was a pioneering theorist in computer science, Kleene's regular expressions soon made it into searching algorithms and from there to everyday tools.

Regular expressions can be powerful tools to manipulate text. You will be introduced to them in this talk. As well, we will go further than the rigid mathematical definition of regular expressions, and delve into POSIX regular expressions which are typically available in most Unix tools.



XML is the "eXtensible Markup Language," a standard maintained by the World Wide Web Consortium. A descendant of IBM's SGML. It is a metalanguage which can be used to define markup languages for semantically describing a document.

This talk will describe how to generate correct XML documents, and auxillary technologies that work with XML.



XSLT is the "eXtended Stylesheet Language Transformations," a language for transforming XML documents into other XML documents.

XSLT is used to manipulate XML documents into other forms: a sort of glue between data formats. It can turn an XML document into an XHTML document, or even an HTML document. With a little bit of hackery, it can even be convinced to spit out non-XML conforming documents.


SSH and Networks

The Secure Shell (SSH) has now replaced traditional remote login tools such as rsh, rlogin, rexec and telnet. It is used to provide secure, authenticated, encrypted communications between remote systems. However, the SSH protocol provides for much more than this.

In this talk, we will discuss using SSH to its full extent. Topics to be covered include:

  • Remote logins
  • Remote execution
  • Password-free authentication
  • X11 forwarding
  • TCP forwarding
  • SOCKS tunnelling


Graphing webs-of-trust

In today's world, people have hundreds of connexions. And you can express these connexions with a graph. For instance, you may wish to represent the network of your friends.

Originally, webs-of-trust were directed acyclic graphs of people who had identified each other. This way, if there was a path between you and the person who want to identify, then you could assume that each person along that path had verified the next person's identity.

I will show you how to generate your own web-of-trust graph using Free Software. Of course, you can also use this knowledge to graph anything you like.


Managing your home directory using CVS

If you have used Unix for a while, you know that you've created configuration files, or dotfiles. Each program seems to want its own particular settings, and youuu want to customize your environment. In a power-user's directory, you could have hundreds of these files.

Isn't it annoying to migrate your configuration if you login to another machine? What if you build a new computer? Or perhaps you made a mistake in one of your configuration files, and want to undo it?

In this talk, I will show you how to manage your home directory using CVS, the Concurrent Versions System. You can manage your files, revert to old version in the past, and even send them over the network to another machine. I'll also discuss how to keep your configuration files portable, so they'll work even on different Unices, with different software installed.


Extending LATEX with packages

LATEX is a document processing system. What this means is you describe the structure of your document, and LaTeX typesets it appealingly. However, LATEX was developed in the late-80s and is now showing its age.

How does it compete against modern systems? By being easily extensible, of course. This talk will describe the fundamentals of typesetting in LATEX, and will then show you how to extend it with freely available packages. You will learn how to teach yourself LATEX and how to find extensions that do what you want.

As well, there will be a short introduction on creating your own packages, for your own personal use.


UniConf, GConf, KConfig, D-BUS, Elektra, oh my! or DConf — a configuration framework for everyone

We've been watching the discussions surrounding DConf with interest and amusement. Coincidentally, we've been talking amongst ourselves and have been saying, "wouldn't it be nice if there were just some way to glue all these different applications together?" And then we realize that we've been asking a rhetorical question. In this paper, we're going to recap what people want in a universal configuration system. Then we're going to show you the one we've built; because we're kinda sassy that way.


Updated 19 July 2005
Valid XHTML 1.1!