%%
%% INSTRUCTIONS FOR COMPILING THIS DOCUMENT
%%
%% Choose one of the two ``documentclass'' declarations below.
%% Use the ``ps'' one for printing; and the ``pdf'' one for an
%% online slideshow PDF format.
%%
%% You will need a tarball of the ``prosper'' software untarred
%% into a directory called ``prosper'' in this directory. You
%% can download prosper from prosper.sourceforge.net.
%%
%%
%%\documentclass[ps,azure]{prosper}
\documentclass[pdf,slideColor,azure]{prosper}

\hypersetup{pdfpagemode=FullScreen}

\title{Keeping Websites Alive}
\author{Tony Garnock-Jones (tonyg@lshift.net)}

\date{September 2005}

\begin{document}
\maketitle

\begin{slide}{Introduction}
  This talk will cover
  \begin{itemize}
  \item An introduction to process languages
  \item Applications
  \end{itemize}
\end{slide}

\part{Introduction to Process Languages}

\overlays{5}{
\begin{slide}{What is a process language?}
  A {\bf process language} describes a group of simultaneously
  executing programs and how they communicate.

  \begin{itemstep}
  \item Parallel -- not sequential
  \item Allows solid reasoning about concurrency
  \item Strong mathematical foundations can allow you to {\bf prove}
    that your program behaves in certain ways
  \item This is something traditional languages are poor at -- using
    threads is a nightmare; no math in sight!
  \item Not a panacea -- deadlock still possible, etc.
  \end{itemstep}
\end{slide}
}

\part{The End}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\part{Backup}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% \overlays{1}{
%% \begin{slide}{}

%%   \begin{itemstep}
%%   \item foo
%%   \end{itemstep}
%% \end{slide}
%% }

\end{document}
