\section{Design Overview}
\subsection{Serialization}
\begin{frame}{Serialization}
  \begin{itemize}
  \item Storing \emph{Facts} (and later \emph{Patches}) for the Binary
  \item ZIP archive with base state and linear sequence of
    transactions
    \begin{itemize}
    \item Each transaction with enough information to reverse-apply it
    \item Transactions can not only be written to disk but also
      e.\,g. sent over the network to remote viewers
    \end{itemize}
  \end{itemize}
\end{frame}

\subsection{Signals}
\begin{frame}{Signals}
  \begin{itemize}
  \item Big components running in separate processes and passing
    messages
  \item Bearable model for multithreading
  \item Disassembler, Interpreter and GUI already running in separate
    threads
  \item Qt/GUI already works that way anyway
  \end{itemize}
\end{frame}

\subsection{Scripting}
\begin{frame}{Scripting}
  \begin{itemize}
  \item Keep complex logic out of the core as far as possible
    \begin{itemize}
    \item finding probably functions in the text section
    \item Detecting structure of \texttt{libgcc\_s} \texttt{\_start}
    \end{itemize}
  \end{itemize}
\end{frame}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../vortrag"
%%% TeX-engine: luatex
%%% TeX-PDF-mode: t
%%% End: 
