%% This is resume-sfllaw.tex, Simon Law's curriculum vitae.
%% Copyright (C) 2002,2003  Simon Law
%%
%% This program is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by
%% the Free Software Foundation; either version 2 of the License, or
%% (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

%% Part of resume-sfllaw, version 1.3.
%%
%% Unfortunately, this file is rather poorly documented.  I suggest
%% starting at the section commented ``Start of Resume''.  You should
%% also read the Makefile for instructions on how to build this resume.

%% Preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{article}
\usepackage[OT1]{fontenc}
\usepackage[margin=0.5in]{geometry}
\usepackage{url}

%% Turn off all section numbering.
\setcounter{secnumdepth}{-1}

%% Redefine the itemize environment.
\let\itemizeorig\itemize
\renewcommand{\itemize}{\vspace{-1.5ex}\itemizeorig\setlength{\itemsep}{-1ex}}

%% Redefine sections.
\let\sectionorig\section
\renewcommand{\section}[1]{\sectionorig{\normalfont\large\sffamily#1}}

%% Add some extra layout commands.
\newcommand{\position}[1]{\textsl{\textsf{#1}}}
\newcommand{\period}[1]{\hfill\textsl{\textsf{#1}}}
\newcommand{\name}[1]{\textsf{\textbf{\Large #1}}}
\newcommand{\address}[1]{#1}

%% Uncomment the following to hide your address in the XHTML.
%% \makeatletter%
%%   \@ifpackageloaded{tex4ht}{\renewcommand{\address}[1]{}}{}%
%% \makeatother

%% Remove indenting.
\setlength{\parindent}{0pt}

%% Page layout options.
\pagestyle{empty}

%% Provide an attractive C++ logo.
\newcommand{\Cpp}{\protect{C\raisebox{0.2ex}{++}}}

%% Provide a weak, but nice, acronym type size
\newcommand{\textac}[1]{{\small #1}}

%% Remove the top and bottom whitespace from the center environment.
\def\center{%
  \trivlist
  \vspace{-\topsep}\vspace{-\parskip}\vspace{-\partopsep}
  \centering\item\relax}
\def\endcenter{%
  \vspace{-\topsep}\vspace{-\parskip}\vspace{-\partopsep}
  \endtrivlist}

%% tex4ht support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Custom tex4ht configuration file
%% For some reason, Preamble info doesn't work anymore
\begin{filecontents*}{\jobname.cfg}
\Preamble{unicode,xhtml,html+,fn-in,info,charset=utf-8}
  % Fix for \name{} since  tex4ht can't combine \textsf and \textbf
  \Css{.cmssbx-10x-x-144{font-family: sans-serif;}}
  % Reduce the size of job headings.
  \Css{h3.sectionHead{font-size:100\%;}}
  % Make the footnotes resemble the ones generated by LaTeX
  \Css{div.footnotes{font-size:100\%;
                     font-style:normal; border-bottom:0px;
                     position:relative; top:20px}}
  % Make all <br /> clear floats
  \Css{br{clear:both}}
\begin{document}
\EndPreamble
\end{filecontents*}

%% Run post-processing to fix bugs in the tex4ht output.
%%% Fix up nopar/noindent for <hr>
\begin{filecontents*}{\jobname.4pp}
#!/bin/sh
set -e

# This script is called by the Makefile to run post-processing on the
# TeX4ht-generated XHTML file.
BASENAME="$1" #$
TEX="$2" #$
HTML="$3" #$

# Fix filename problems, if there are any.
echo -e "g/<meta name=\"src\" content=\"_html./ "\
"s//<meta name=\"src\" content=\"/\\nwq\\n"\
  | ed "$HTML" >/dev/null 2>/dev/null
echo -e "g/<link rel=\"stylesheet\" type=\"text\\/css\" href=\"_html./ "\
"s//<link rel=\"stylesheet\" type=\"text\\/css\" href=\"/\\nwq\\n"\
  | ed "$HTML" >/dev/null 2>/dev/null

# Extract the title (one line only) and put it in the HTML
TITLE=$(sed -ne '
/\\title *{.*}/ {
  # Extract the title line
  s/\\title *{\(.*\)}/\1/

  # Convert TeX to HTML entities
  s/\\$/$/g
  s/\\&/\\\&/g
  s/\\%/%/g
  s/\\#/#/g
  s/\\_/_/g
  s/\\{/{/g
  s/\\}/}/g
  s/~/\&#nbsp;/g
  s/---/\\\&#mdash;/g
  s/--/\\\&#ndash;/g
  s/\\'"'"'\([aeiou]\)/\\\&\1acute;/g
  s/\\'"'"'{\([aeiou]\)}/\\\&\1acute;/g
  s/\\`\([aeiou]\)/\\\&\1grave;/g
  s/\\`{\([aeiou]\)}/\\\&\1grave;/g

  # Print the output
  p
}' "$TEX")
echo -e "/<title>/ s//&$TITLE/\\nwq\\n" \
  | ed "$HTML" >/dev/null 2>/dev/null

# Fix pathological accent-within-font handling by not splitting lines.
echo -e "g/<\\/span><span $///,+1j\\\\\n"\
"s/<span /&style=\"float:left;\" /g\nwq\\n" \
  | ed "$HTML" >/dev/null 2>/dev/null

# TeX4ht doesn't understand \hrullfill so we still substitute with <hr />
echo -e "/<p class=\"\(nopar\|noindent\)\"> *__*$/ s//<hr \\/>/\\n+1 d\\nwq\\n"\
  | ed "$HTML" >/dev/null 2>/dev/null

# TeX4ht doesn't understand \hfill which we shall correct.
# Assume this condition occurs whenever we see more than 15 spaces
echo -e "g/\\(class=\"[^\"]*\">\\)\\(.*\\)                *"\
"\\(.*\\)<\\/span>$/ s//\\\\1<span style=\"float:left;\">\\\\2<\\/span>"\
"<span style=\"float:right;\">\\\\3<\\/span><\\/span><br \\/>/\\nwq\\n"\
  | ed "$HTML" >/dev/null 2>/dev/null

# Add a verification button at the bottom
echo -e "/<\\/body>/ s//<p>"\
"<a href=\"http:\\/\\/validator.w3.org\\/check\\/referer\""\
"   style=\"position:relative; top:20px;\">"\
"<img src=\"http:\\/\\/www.w3.org\\/Icons\\/valid-xhtml10\""\
"     alt=\"Valid XHTML 1.0\\!\" height=\"31\" width=\"88\""\
"     style=\"border:0px;\" \\/><\\/a><\\/p>&/\\nwq\\n"\
  | ed "$HTML" >/dev/null 2>/dev/null #$
\end{filecontents*}

%% Start of Resume %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\title{Simon Law's R\'esum\'e}

\begin{document}
\begin{center}
\name{Simon Law}\\
\address{8--4137 Av.\ de l'Esplanade., Montr\'eal, QC.  H2W 1S9.
	 (514) 845-4887\\}
sfllaw@law.yi.org\\
\end{center}
\hrulefill

\section{Soft skills:}
\begin{itemize}
\item Speaks English natively.  Adores the written word.
\item Able to form structured and convincing logical arguments.
\item Excellent technical presentation skills.
\item Loves to teach, both in a classroom and tutor-student setting.
\item Fluent technical writer, experienced with generating
  documentation (\textac{UML} and \textac{SDL}).
\end{itemize}

\section{Application programming:}
\begin{itemize}
\item Application languages: \Cpp{} with \textac{STL}, C, Java,
 Pascal, m68k assembler
\item Scripting languages: Perl, Bourne shell, Korn shell, sed \& awk
\item Macro languages: \TeX{}, \LaTeX{}, \textac{GNU} Texinfo,
  \textac{M4}, \textac{CPP}
\item Markup languages: \textac{XML}, \textac{XHTML} with \textac{CSS},
  \textac{SVG}
\item Declarative languages: \textac{SQL 99}, \textac{GNU} make,
  \textac{GNU} Automake, Prolog
\item Functional languages: Apache Ant, Scheme, Emacs Lisp, \textac{XSLT}
\end{itemize}

\section{System administration:}
\begin{itemize}
\item Proficient with Debian \textsc{GNU}/Linux, Red Hat Enterprise
 Linux, Debian \textsc{GNU}/Hurd.
\item Proficient with \textac{CVS} and Subversion.
\item Familiar with Windows 2000/XP.
\item Familiar with Mac OS X.
%\item Worked with Apache, Exim, Postfix, Postgre\textac{SQL},
%  Pro\textac{FTPD}, \textac{BIND}, Open\textac{LDAP}, Samba, dhcpd,
%  SpamAssassin.
\end{itemize}

\section{Network administration:}
\begin{itemize}
\item Familiar with Intrusion Detection Systems and Vulnerability
  Assessments.  (nMap, Snort, Nessus)
\item Implemented Virtual Private Networking solutions.
  (\textac{PPTP}, \textac{L2TP}, \textac{SSH})
\item Understands \textac{TCP/IP} suite of protocols.  Includes
  proficiency with routing, packet filtering, and proxying.
%\item Can maintain an Ethernet network topology.  Experience with 3Com 
%  and Bay switches and routers.
\end{itemize}

\section{Work Experience:}
\position{Net Integration Technologies; Drunken Master; Montr\'eal}
\period{September 2003 -- Present}
\begin{itemize}
\item Acts as Release Manager for our Free Software offerings.
  Packages our software for the Debian Project.
\item Acts as Project Manager for Nitix for \textac{SAGE} Accpac
  \textac{ERP}.
\item Interacts directly with customers for critical software faults.
\item Advocates products and technologies at various conferences and
  organisations.
\item Codes network and user-interface software in \Cpp{} using the
  WvStreams library for the Net Integrator product.
\item Develops and maintains UniConf, a universal configuration
  system.
\item Maintains the build system, including our public source
  repository.
\item Architected and designed a clustered, automated test harness for
  the Nitix operating system.
\item Oversaw the creation of test plans and cases to exploit the
  automated test harness.
\end{itemize}

%% \position{ResNet; Senior Residence Computer Consultant; Waterloo}
%% \period{September 1999 -- August 2003}
%% \begin{itemize}
%% \item Provided Tier 2 technical support for end-users.
%% \item Supported and oversaw the ``Village 1'' residence that houses over 1200 students.
%% \item Handled administrative tasks (\textit{e.g.} billing, account activation, etc.) during registration period.
%% \item Installed network cards and set-up computers to access campus network.
%% \end{itemize}

\position{Maplesoft, a division of Waterloo Maple Inc.; Toolsmith; Waterloo}
\period{January 2003 -- April 2003}
\begin{itemize}
\item Maintained scripts to build Maple on 8 different platforms.
\item Designed and implemented an end-to-end build system in Apache Ant.
\end{itemize}

\position{Bank of Montreal; IS Security Analyst; Toronto}
\period{September 2001 -- August 2002}
\begin{itemize}
\item Helped design a network security appliance merging Debian, nMap,
  Snort, \textac{ACID}, Nessus, Postgre\textac{SQL}, \textac{SSH},
  Netfilter.
\item Wireless (802.11b) vulnerability assessments and external penetration testing.
\item Designed a data warehouse for reporting purposes, and did a first phase implementation.
%% \item GNU/Linux and Solaris system administration (in a security context, \textit{i.e.} hardening)
%% \item Wrote data-processing and report generation tools (\textac{SQL}
%%   to Perl to \LaTeX)
\end{itemize}

%% \position{Delano Technology Corp.; IS Analyst; Markham}
%% \period{May 2000 -- April 2001}
%% \period{January 2001 -- April 2001}
%% \begin{itemize}
%% \item Administered a Microsoft-centric server farm, including Windows
%%   NT 4.0 and 2000, with accompanying infrastructure.
%% \item Administered Microsoft Proxy Server 2.0 for corporate internet access.
%% \item Built \textac{RRAS} and \textac{PPTP} servers on Windows 2000
%%   for remote \textac{VPN} access.
%% \item Maintained \textac{DHCP} and \textac{DDNS} on Windows 2000.
%% \item Audited our \textac{NT 4.0} server infrastructure for
%%   security and stability in preparation for \textac{W2K} migration.
%% \end{itemize}

%% \position{Delano Technology Corp.; IS Analyst; Markham}
%% \period{May 2000 -- August 2000}
%% \begin{itemize}
%% \item Provided friendly and prompt telephone support at the Help Desk.
%% \item Troubleshooted \textac{VPN} and remote connectivity problems
%% \item Helped to administer user and mail accounts on an
%%   \textac{NT 4.0} domain with Exchange 5.5.
%% \item Maintained a fleet of desktops and laptops for over 300 users.
%% \item Troubleshooted network connectivity problems with Ethernet
%%   over \textac{CAT5} and 3Com switches.
%% \end{itemize}

%% \position{Earl Haig Secondary School, Teacher's Assistant, Toronto}
%% \period{September 1998 -- June 1999}
%% \begin{itemize}
%% \item Designed and taught a course on 3D technical drawing using
%%   Auto\textac{CAD}.
%% \item Instructed a class of 30 students in the use of Auto\textac{CAD}
%%   drafting software.
%% \end{itemize}

%% \position{STD Systems Inc.; Consultant; Markham}
%% \period{July 1998 -- August 1998}
%% \begin{itemize}
%% \item Designed a method to test manufactured computers for
%%   Microsoft \textac{PC} 97 compliance.
%% \item Ran test suites and documented results.
%% \item Contacted suppliers with bug reports and helped them to resolve errors.
%% \end{itemize}

%% \position{Agensys International Inc.; Programmer/Analyst; Markham}
%% \period{October 1997 -- August 1998}
%% \begin{itemize}
%% \item Programmed, debugged and documented applications.
%% \item Designed and set-up a voice mail system.
%% \item Maintained about 20 computers and acquired a basic
%%   familiarity with \textac{IPX}, Net\textac{BIOS} and \textac{TCP/IP}.
%% \end{itemize}

%% \position{STD Systems Inc.; Consultant; Markham}
%% \period{July 1997 -- August 1997}
%% \begin{itemize}
%% \item Edited English and French manuals for manufactured computers.
%% \item Formatted manuals in pleasing and organised fashion using Microsoft Word 97.
%% \item Illustrated manuals with instructional diagrams using
%%   Corel\textac{DRAW}! 7.
%% \end{itemize}

\section{Volunteer Experience:}
\position{The Debian Project, Debian Developer}
\period{January 2000 -- Present}
\begin{itemize}
\item Maintains too many official Debian packages.
\item Files bug reports with patches.  Works with upstream authors to
  resolve functional and legal issues.
\item Revises incorrect or poor documentation.  Writes new documentation.
\end{itemize}

\position{GNU Press, Texinfo Developer}
\period{March 2003 -- January 2004}
\begin{itemize}
\item Hacked on \textac{GNU} Texinfo to fix bugs and add new features.
\item Typeset \textac{GNU} documentation for printing. (\textit{e.g.}
  Using \textac{GCC} 3.3.)
\end{itemize}

%% \position{IEEE Student Branch A, Treasurer, Waterloo}
%% \period{May 2003 -- December 2003}
%% \begin{itemize}
%% \item Track revenues and expenses.
%% \end{itemize}

\position{Guest Lecturer}
\period{January 2002 -- April 2004}
\begin{itemize}
\item Taught \textac{UNIX} tutorial sessions for new \textac{CS} and
  Engineering students.
\item Presented seminars on technical subjects (\textit{e.g.} Perl 6,
  \textac{XML}, \LaTeX, IEEE 802.11, etc.)
\item Held talks at user groups (\textit{e.g.} Installing
  \textac{GNU}/Linux, packaging for Debian, obfuscating Perl, etc.)
\item Tutored students in basic computer science, on a one-to-one basis.
\end{itemize}

\position{Computer Science Club of the University of Waterloo, System
  Administrator, Waterloo}
\period{January 2002 -- April 2004}
\begin{itemize}
\item Maintained a network of seven Debian \textac{GNU}/Linux machines on
  five architectures.
\item Administered Open\textac{LDAP}, Postfix, Postgre\textac{SQL}, etc.
\item Managed day-to-day finances, with associated
  book-keeping. Prepared budgets for funding requests.
\item Purchased books and get them signed by famous people.
\item Downloaded Free Software \textac{CD} images for duplication and
  redistribution.
\end{itemize}

\position{Waterloo Science Fiction Club, President, Waterloo}
\period{January 2002 -- August 2003}
\begin{itemize}
\item Tracked revenues and expenses.
\item Organised events.
\end{itemize}

%% \position{Imprint, System Administrator, Waterloo}
%% \period{September 2002 -- December 2002}
%% \begin{itemize}
%% \item Maintained a fleet of 20 Windows 2000 workstations.
%% \item Ran three \textac{GNU}/Linux servers all with mission-critical data.
%% \end{itemize}

%% \position{University of Waterloo Engineering Society A, Director, Waterloo}
%% \period{September 2002 -- December 2002}
%% \begin{itemize}
%% \item Took minutes during meetings
%% \item Organised and gave talks and speeches.
%% \end{itemize}

%% \position{University of Waterloo Class 2004, Webmaster, Waterloo}
%% \period{November 1999 -- December 2000}
%% \begin{itemize}
%% \item Initiated a resource website for my class.
%% \item Maintained information about courses and content.
%% \item Organised and digested data for general consumption.
%% \end{itemize}

%% \position{Earl Haig CyberCrew, Human Resources Head, Toronto}
%% \period{September 1996 -- June 1999}
%% \begin{itemize}
%% \item Managed a team of volunteers that maintained the computers in one-third of the school.
%% \item Organised and planned installations of software and hardware.  Troubleshooted network problems.
%% \item Aided teachers and students who needed help to use the computer labs.
%% \item Administered human resources within the entire organization.
%% \item Acquired a familiarity with AppleTalk and \textac{TCP/IP}.
%% \end{itemize}

%% \position{Douglas Snow Aquatic Centre, Instructor's Assistant, Toronto}
%% \period{July 1998 -- August 1998}
%% \begin{itemize}
%% \item Aided the swimming instructor in teaching small children  (ages 2 to 13) to swim.
%% \item Drew up a lesson plan and taught water safety.
%% \end{itemize}

%% \position{Earl Haig Secondary School, Volunteer Librarian, Toronto}
%% \period{September 1993 -- August 1997}
%% \begin{itemize}
%% \item Assisted in cataloguing and shelving books.
%% \item Assisted students in using the library's resources.
%% \item Handled day-to-day operations with the computerised cataloguing system.
%% \end{itemize}

%% \section{Publications:}

\section{Education:}
\position{University of Waterloo, Waterloo}
\period{September 1999 -- April 2004}
\begin{itemize}
\item B.ASc. in Computer Engineering with an Option in Software Engineering.
\item Relevant Courses:
\begin{itemize}
\setlength{\itemsep}{-.5ex}
%% \item \textac{E\&CE} 150, Introduction to Computing
%% \item \textac{E\&CE} 100, Fundamentals of Electrical Engineering
%% \item \textac{E\&CE} 223, Digital Circuits and Systems
%% \item \textac{E\&CE} 250, Algorithms and Data Structures
%% \item \textac{E\&CE} 222, Digital Computers
%% \item \textac{E\&CE} 241, Circuit Analysis and Design
%% \item \textac{E\&CE} 251, Programming Languages and Translators
\item \textac{E\&CE} 324, Microprocessor Control and Interfacing
\item \textac{E\&CE} 354, Real-time Operating Systems
%% \item \textac{E\&CE} 318, Communication Systems
%% \item \textac{E\&CE} 380, Analog Control Systems
\item \textac{E\&CE} 427, Digital Systems Engineering
\item \textac{E\&CE} 428, Computer Networks and Security
%% \item \textac{E\&CE} 451, Software Requirements Specifications and Analysis
%% \item \textac{E\&CE} 452, Software Design and Architecture
%% \item \textac{E\&CE} 453, Software Testing, Quality Assurance, and Maintenance
\item \textac{E\&CE} 451, 452, 453, Software Engineering
\item \textac{E\&CE} 454, Distributed and Network Computing
\item \textac{E\&CE} 456, Database Systems
\item \textac{E\&CE} 457, Applied Artificial Intelligence
\end{itemize}
\end{itemize}

\position{EWA--Canada CanCERT, Ottawa}
\period{September 2001}
\begin{itemize}
\item Completed an Intrusion Detection Systems and Incident Response course.
\end{itemize}

%% \position{Earl Haig Secondary School, Toronto}
%% \period{September 1993 -- June 1999}
%% \begin{itemize}
%% \item Achieved an Ontario Secondary School Diploma with Honours.
%% \item Awarded for Technical Excellence.
%% \item Scored in top 25\% of Descartes contest.
%% \end{itemize}

\section{Random facts:}
\begin{itemize}
\item Favourite authors: D.~Adams, I.~Azimov,
  F.~P.~Brooks, J.~Burke, O.~S.~Card, A.~C.~Clarke, R.~Feynman,
  P.~Greenspun, S.~Hawking, R.~A.~Heinlein, T.~Hickman, R.~Jordan,
  M.~Kaku, R.~Kipling, D.~E.~Knuth, S.~Leacock, L.~Lessig,
  C.~S.~Lewis, A.~Miller, P.~Neruda, L.~Niven, G.~Orwell,
  T.~Pratchett, R.~Pirsig, S.~Robinson, W.~Shakespeare, J.~Spolsky,
  R.~M.~Stallman, G.~L.~Steele, T.~Stoppard, J.~M.~Strazinski,
  B.~Stroustrup, S.~Tzu, Lord Tennyson, J.~R.~R.~Tolkien, M.~Weis,
  J.~W.~Zawinski
%% \item Good Waterloo restaurants\footnote{I recommend going to these restaurants if you are interviewing at the University of Waterloo.}: Mr. Sushi, Mongolian Grill, Sunshine Express (cheap Chinese),
\item Worst vice: bad puns
\item Best vice: throwing dinner parties
\item Hobbies: teaching, cooking, eating, photography, attending concerts,
  coding, reading, electronics, writing, mail and news.
\item Physical activities: walking, cycling, swimming, skating,
  weight-lifting, table tennis.
\item I am a Free Software advocate and a \textac{GNU} contributor.
\item I have a meagre set of web pages at \url{http://www.law.yi.org/~sfllaw/}
\item I have a not-so-meagre weblog at \url{http://sfllaw.livejournal.com/}
\end{itemize}

\end{document}
