\message{ !name(sage-slides.tex)}\documentclass[9pt]{beamer}
\usepackage{comment}
\usepackage{beamerarticle}
\usepackage[utf8x]{inputenc}
\mode<presentation>
{
  \usetheme{Rochester}
 \usecolortheme{crane}
 %\usecolortheme{seahorse}
 \setbeamercovered{transparent}
  % or whatever (possibly just delete it)
}\usepackage{ngerman}

\newcommand{\page}[1]{\frame{#1}}

\usepackage{graphicx}
\usepackage{pstricks}
\usepackage{color}
\usepackage{listings}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{listings}
\usepackage{xspace}  % to allow for text macros that don't eat space 
\newcommand{\field}[1]{\mathbb{#1}}

\newtheorem{thm}{Theorem}[section]

\definecolor{dblackcolor}{rgb}{0.0,0.0,0.0}
\definecolor{dbluecolor}{rgb}{.01,.02,0.29}
\definecolor{dredcolor}{rgb}{0.8,0,0}
\definecolor{dgraycolor}{rgb}{0.50,0.50,0.50}
\newcommand{\dblue}{\color{dbluecolor}\bf}
\newcommand{\dred}{\color{dredcolor}\bf}
\newcommand{\dblack}{\color{dblackcolor}\bf}

\renewcommand{\emph}[1]{{\dblack{#1}}}

\newcommand{\SAGE}{{\color{dbluecolor}\sf Sage}\xspace}
\newcommand{\sage}{\SAGE}

\title{Sage: History and Overview}
\subtitle{\url{http://www.sagemath.org}}
\author[Stein et al.]{William Stein\inst{1}}
\institute[Universities of Washington]{
 \inst{1}Department of Mathematics\\
 University of Washington, Seattle
}
\date{IPAM, March 31, 2008}
\titlegraphic{\includegraphics[width=0.2\textwidth]{sagelogo.png}}


\lstdefinelanguage{Sage}[]{Python}
{morekeywords={True,False,sage},
sensitive=true}

\lstset{frame=none,
          showtabs=False,
          showspaces=False,
          showstringspaces=False,
          commentstyle={\color{dredcolor}},
          keywordstyle={\color{dbluecolor}\bfseries},
          stringstyle ={\color{dgraycolor}\bfseries},
          language = Sage,
          basicstyle=\small
          }

\begin{document}

\message{ !name(sage-slides.tex) !offset(-3) }


%\begin{frame}
%\titlepage
%\end{frame}
%
%\begin{frame}{Outline}
%\tableofcontents
%\end{frame}

\begin{frame}[fragile]
\frametitle{William Stein: Sage -- History and Overview}
\begin{center}
\includegraphics[width=\textwidth]{sage_banner}
\end{center}
\end{frame}

\begin{frame}
\frametitle{Outline}
{\Huge
\begin{enumerate}
\item History
\item Media Attention
\item Python
\item Demo
\item General Goals for 2008
\item Math 480
\end{enumerate}
}
\end{frame}

\section{Introduction}

\section{How ?}
\begin{frame} %wstein
\frametitle{History: Where did Sage Come From}
\begin{description}
\item[1997--1999] (\emph{Berkeley}) \emph{HECKE} – C++ (modular forms)
\item[1999--2005] (\emph{Berkeley}, \emph{Harvard}) I wrote over 25,000 lines of \emph{Magma} code. 
\item[] Ad hoc languages and closed source devel models of Magma, Mathematica, Matlab, and Maple are \emph{old-fashioned and painful}.
I must \emph{see inside and change anything} in my software 
in order to be the best in the world at my research.
\item[] {\dred For me, Magma is a bad long-term investment}.
\item[Feb 2005] I released \emph{SAGE-0.1} (over 3 years ago!)
\item[Feb 2006] \emph{UCSD SAGE Days 1} workshop – SAGE 1.0.
\item[October 2006] \emph{U Washington SAGE Days 2} workshop.
\item[March 2007] \emph{UCLA SAGE Days 3} workshop.
\item[May 2007] Sage NSF grant-- funds Clemenet Pernet.
\item[June 2007] \emph{U Washington SAGE Days 4} workshop.
\item[October 2007] \emph{Clay Math Institute SAGE Days 5} workshop.
\item[November 2007] \emph{Heilbronn Institute SAGE Days 6}
\item[Feb,Mar 2008] \emph{IPAM Sage Days 7}; \emph{Austin Sage Days 8}
\item[June 2008] \emph{Sage Devel Days 1} at UW.
\end{description}
\end{frame}


\begin{frame} %wstein
\LARGE
\frametitle{Sage: Mission Statement}
\begin{block}{Sage: Mission Statement}
Provide a uniform open source high-quality {\bf viable
alternative} to \emph{Magma, Mathematica, Maple} and \emph{MATLAB}.
\end{block}

\vfill

Do not reinvent the wheel but \emph{reuse} as many \emph{existing
  building blocks} as possible and make sure the result is
\emph{rigorously tested}, \emph{easy to modify} by the end user and
\emph{very well documented}.

\vfill

Also create a \emph{helpful environment} and community (mailing lists,
irc-channel, workshops, coding sprints). 

\vfill

\emph{Teach courses}, write articles and books, so Sage is easy to learn.
\end{frame}

\begin{frame}[fragile]
\frametitle{Nov 2007: Sage wins first place in Trophe\'es du Libre and gets slashdotted...}
\begin{center}
 \includegraphics[width=0.8\textwidth]{sagedot.png}
\end{center}
Tons of articles all over resulted, about 10,000 downloads in a weekend, etc...
\end{frame}


\begin{frame}[fragile]
\frametitle{What is Sage?}
\Large
\SAGE is a very large mathematics software package developed by a
worldwide community of over 50 developers.  Sage is:
\vfill
\begin{enumerate}
\item a {\dred distribution} of the best free, open-source
  mathematics software available (\SAGE 2.11 ships about 70
  packages) that is easy to compile or install from binaries.
\vfill 
\item a {\dred new library}, filling in gaps in functionality
so Sage covers a wide range of algebraic,
  scientific, and statistical computing.  \vfill
\item {\dred interfaces} to almost all existing
  mathematics software packages (including Magma, PARI, Gap, Matlab,
Mathematica, Maple, etc.)
  {\dblue The interfaces work now and can do almost
anything; they are NOT OpenMath vaporware.}

\end{enumerate}
\end{frame}



\begin{frame}
\frametitle{The Language of Sage}
\emph{Python} is a powerful modern interpreted programming language.

\begin{itemize}

\item ``Python is fast enough for our site and allows us to
 \emph{produce maintainable features in record times}, with a minimum
 of developers,'' said Cuong Do, Software Architect, {\dred YouTube.com.}

\item ``Google has made no secret of the fact they use Python a lot
 for a number of internal projects. Even knowing that, once \emph{ I
   was an employee, I was amazed at how much Python code there
   actually is in the Google source code system}.'', said Guido van
 Rossum, {\dred Google}, creator of Python.

well, I wouldn't advertise with Episode II  ;-)
\item ``Python plays a key role in our production pipeline. Without it
 a project the size of \emph{Star Wars: Episode II} would have been
 very difficult to pull off. From crowd rendering to batch processing
 to compositing, \emph{Python binds all things together},'' said
 Tommy Burnette, Senior Technical Director, {\dred Industrial Light
   \& Magic.}
\end{itemize}

{\dred You will all learn Python during the next two weeks!}
\end{frame}

\begin{frame}[fragile]
\frametitle{Python \& Cython: The Main Languages of Sage}
\framesubtitle{\url{http://www.python.org} and \url{http://www.cython.org}}
\begin{center}
 \includegraphics[width=0.4\textwidth]{python-and-cython.png}
\end{center}
\emph{Python}
\begin{itemize}
\item A mainstream language with millions of users. 
\item {\dblue TIOBE declares Python as programming language of 2007!} ``Python
  has been declared as programming language of 2007. It was a close
  finish, but in the end Python appeared to have the largest increase
  in ratings in one year time (2.04\%). There is no clear reason why
  Python made this huge jump in 2007. Last month {\em Python surpassed Perl}
  for the first time in history, which is an indication that Python
  has become the ``de facto'' glue language at system level. It is
  especially beloved by system administrators and build
  managers. Chances are high that Python's star will rise further in
  2008, thanks to the upcoming release of Python 3.''
\end{itemize}
\emph{Cython}: compiled Python -- lead developer (Robert Bradshaw at UW)
\begin{itemize}
\item Growing and getting used in other projects...
\item Cython is for some people definitely one of the main ``killer
  features'' of Sage over Magma.
\end{itemize}
\end{frame}
 
\begin{frame}{A Powerful Web-based Graphical User Interface}
\framesubtitle{public notebooks available at \url{http://www.sagenb.org}}
\begin{tabular}{cc}
\begin{minipage}{0.75\textwidth}
\includegraphics[width=1.0\textwidth]{notebook.png}
\end{minipage}  & 
\begin{minipage}{0.25\textwidth}
\begin{itemize}
\item graphical user interface
\item plotting
\item LaTeX typesetting
\item remote access
\item worksheet sharing
\item interface to 3rd party systems, e.g. Magma
\end{itemize}
\end{minipage}
\end{tabular}
\end{frame}


\begin{frame}
\frametitle{Demo}

\begin{center}
\Huge
Demo
\end{center}
\end{frame}
 

\begin{frame}
\frametitle{Getting Started With Sage}
\begin{center}
Web page:
{\tt http://sagemath.org}
\end{center}

\begin{enumerate}
\item Install Sage 2.11 on your computer ASAP.  
\item The online documentation
\item Mailing lists
\item Sage seminar
\item Other UW students
\item Sage Days 8.5 in June (13-20).
\end{enumerate}

\end{frame}

\end{document}


\message{ !name(sage-slides.tex) !offset(-295) }
