\begin{frame}[containsverbatim]\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item To make a new thorn, navigate to your Cactus directory and type:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim]\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item To make a new thorn, navigate to your Cactus directory and type
  \item make newthorn
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim]\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item To make a new thorn, navigate to your Cactus directory and type
  \item make newthorn
  \item Title both your thorn and arrangement as HelloWorld at the prompt,
        and then navigate to Cactus/arrangements/HelloWorld/HelloWorld
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim]\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item To make a new thorn, navigate to your Cactus directory and type
  \item make newthorn
  \item Title both your thorn and arrangement as "HelloWorld" at the prompt,
        and then navigate to Cactus/arrangements/HelloWorld/HelloWorld
  \item A stand alone Hello World application written in C:
 \end{itemize}
 \begin{verbatim}
  #include <stdio.h>
  int main(void)
  {
    printf("Hello World!\n");
    return 0;
  }
 \end{verbatim}
 \end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's 
        administrative files will look as follows:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
 \begin{verbatim}
  implements: HelloWorld
 \end{verbatim}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
 \begin{verbatim}
  implements: HelloWorld
 \end{verbatim}
 \begin{itemize}
  \item schedule.ccl:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
 \begin{verbatim}
  implements: HelloWorld
 \end{verbatim}
 \begin{itemize}
  \item schedule.ccl:
 \end{itemize}
 \begin{verbatim}
  schedule HelloWorld at CCTK_EVOL
  {
   LANG: C
  } "Prints Hello World"
 \end{verbatim}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
 \begin{verbatim}
  implements: HelloWorld
 \end{verbatim}
 \begin{itemize}
  \item schedule.ccl:
 \end{itemize}
 \begin{verbatim}
  schedule HelloWorld at CCTK_EVOL
  {
   LANG: C
  } "Prints Hello World"
 \end{verbatim}
 \begin{itemize}
  \item param.ccl: Empty
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item For our Cactus implementation, the Hello World thorn's
        administrative files will look as follows:
  \item interface.ccl:
 \end{itemize}
 \begin{verbatim}
  implements: HelloWorld
 \end{verbatim}
 \begin{itemize}
  \item schedule.ccl:
 \end{itemize}
 \begin{verbatim}
  schedule HelloWorld at CCTK_EVOL
  {
   LANG: C
  } "Prints Hello World"
 \end{verbatim}
 \begin{itemize}
  \item param.ccl: Empty
  \item configuration.ccl: Empty
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Move to the /src subdirectory
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Move to the /src subdirectory
  \item Create a HelloWorld.c file, and implement:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Move to the /src subdirectory
  \item Create a HelloWorld.c file, and implement:
 \end{itemize}
 \begin{verbatim}
  #include "cctk.h"
  #include "cctk_Arguments.h"
  void HelloWorld(CCTK_ARGUMENTS)
  {
   DECLARE_CCTK_ARGUMENTS
   CCTK_INFO("Hello World!");
   return;
  }
 \end{verbatim}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Move to the /src subdirectory
  \item Create a HelloWorld.c file, and implement:
 \end{itemize}
 \begin{verbatim}
  #include "cctk.h"
  #include "cctk_Arguments.h"
  void HelloWorld(CCTK_ARGUMENTS)
  {
   DECLARE_CCTK_ARGUMENTS
   CCTK_INFO("Hello World!");
   return;
  }
 \end{verbatim}
 \begin{itemize}
  \item Now open your "make.code.defn" file and implement:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Move to the /src subdirectory
  \item Create a HelloWorld.c file, and implement:
 \end{itemize}
 \begin{verbatim}
  #include "cctk.h"
  #include "cctk_Arguments.h"
  void HelloWorld(CCTK_ARGUMENTS)
  {
   DECLARE_CCTK_ARGUMENTS
   CCTK_INFO("Hello World!");
   return;
  }
 \end{verbatim}
 \begin{itemize}
  \item Now open your "make.code.defn" file and implement:
 \end{itemize}
 \begin{verbatim}
  SRCS = HelloWorld.c
 \end{verbatim}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Now return to your Cactus directory and create a parameter file.
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Now return to your Cactus directory and create a parameter file.
  \item HelloWorld.par:
 \end{itemize}
\end{frame}

\begin{frame}[containsverbatim] \frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Now return to your Cactus directory and create a parameter file.
  \item HelloWorld.par:
 \end{itemize}
 \begin{verbatim}
  ActiveThorns = "HelloWorld"
  Cactus::cctk_itlast = 10
 \end{verbatim}
\end{frame}

\begin{frame}\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Return to your Cactus directory and type:
 \end{itemize}
\end{frame}

\begin{frame}\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Return to your Cactus directory and type:
  \item gmake HelloWorld-config 
 \end{itemize}
\end{frame}

\begin{frame}\frametitle{Writing A Hello World Thorn}
 \begin{itemize}
  \item Return to your Cactus directory and type:
  \item gmake HelloWorld-config
  \item gmake HelloWorld
 \end{itemize}
\end{frame}


