\documentclass{beamer}
\usetheme{Madrid}
\usecolortheme{whale}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{listings}

\title[Morinaga OS]{From Project Athena to Plan 9, and back to Morinaga}

\author{Narantuya, Mohamed Suhree, Ramirez}

\date{\today}

\begin{document}

\begin{frame}
    \titlepage
\end{frame}

\begin{frame}{Project Athena - The Beginning}
    \begin{itemize}
        \item MIT's hacker culture during the 80's
        \item Multics, Unix, John Lions, and Berkeley
        \item MIT, DEC, and IBM
        \item Athena's Goals:
            \begin{itemize}
                \item Develop a campus-wide computing environment
                \item Create platform-independent interfaces
                \item Enable distributed computing
            \end{itemize}
    \end{itemize}
    \vspace{0.5cm}
    \begin{center}
    \begin{tikzpicture}
        % Create a timeline from 1983 to 1991
        \draw[thick,->] (-4.5,0) -- (4.5,0);
        % Add years as markers
        \node[below] at (-4.5,-0.2) {1983};
        \node[below] at (-1.5,-0.2) {1985};
        \node[below] at (1.5,-0.2) {1988};
        \node[below] at (4.5,-0.2) {1991};
        % Add tick marks
        \draw (-4.5,0.2) -- (-4.5,-0.2);
        \draw (-1.5,0.2) -- (-1.5,-0.2);
        \draw (1.5,0.2) -- (1.5,-0.2);
        \draw (4.5,0.2) -- (4.5,-0.2);
    \end{tikzpicture}
    \end{center}
\end{frame}

\begin{frame}{X Window System Evolution}
    \begin{columns}
    \column{0.5\textwidth}
        \begin{itemize}
            \item X10 Release (1985)
            \item X11 Protocol (1987)
            \item X Consortium Formation
            \item XFree86 Development
        \end{itemize}
    \column{0.5\textwidth}
        \begin{tikzpicture}
            \draw[fill=blue!20] (0,0) rectangle (4,0.5);
            \node at (2,0.25) {X11};
            \draw[fill=green!20] (0,0.7) rectangle (3,1.2);
            \node at (1.5,0.95) {Window Managers};
            \draw[fill=red!20] (0,1.4) rectangle (2,1.9);
            \node at (1,1.65) {Applications};
        \end{tikzpicture}
    \end{columns}
\end{frame}

\begin{frame}{Dynamic Window Management}
    \begin{itemize}
        \item Evolution from static to dynamic management
        \item DWM Philosophy:
            \begin{itemize}
                \item Minimal resource usage
                \item Tag-based workspace management
                \item Dynamic layouts
            \end{itemize}
        \item Suckless tools ecosystem
    \end{itemize}
    \vspace{0.5cm}
    \begin{center}
    \begin{tikzpicture}[node distance=2cm]
        % Centered DWM node
        \node[draw, circle] (dwm) at (0,0) {DWM};
        % Tools around DWM in a more balanced layout
        \node[draw, circle] (st) at (2,0) {st};
        \node[draw, circle] (dmenu) at (-1,-1.5) {dmenu};
        \node[draw, circle] (tools) at (1,-1.5) {tools};
        % Connections
        \draw[->] (dwm) -- (st);
        \draw[->] (dwm) -- (dmenu);
        \draw[->] (dwm) -- (tools);
    \end{tikzpicture}
    \end{center}
\end{frame}

\begin{frame}{The Abundance Paradox}
	\begin{center}
    \begin{tikzpicture}
        % Create a logarithmic timeline showing cost vs performance
        \draw[thick,->] (-4,0) -- (4,0) node[right] {Time};
        \draw[thick,->] (0,-2) -- (0,3) node[above] {Performance per \$};

        % Plot exponential curve
        \draw[blue, thick] plot[domain=-3:3,smooth] (\x,{0.1*exp(\x)});

        % Add key points
        \node[below] at (-3,-0.2) {1970};
        \node[below] at (3,-0.2) {2024};

        % Add annotations
        \node[right] at (2,2.5) {\small Mobile SoCs};
        \node[left] at (-2,0.5) {\small Early Computers};
    \end{tikzpicture}
	\end{center}
\end{frame}

\begin{frame}{Unprecedented Growth}
    \begin{columns}
    \column{0.6\textwidth}
    \begin{itemize}
        \item 1970s Computer:
            \begin{itemize}
                \item Cost: \$10 million
                \item Speed: 1 instruction/second
            \end{itemize}
        \item 2024 Mobile Device:
            \begin{itemize}
                \item Cost: \$1000
                \item Speed: 10+ million instructions/second
            \end{itemize}
        \item Price/Performance gain: $10^{11}$
    \end{itemize}
    \column{0.4\textwidth}
    \begin{center}
    \begin{tikzpicture}
        % Create a visual representation of growth
        \draw[fill=blue!20] (0,0) rectangle (0.5,0.2);
        \node[right] at (0.6,0.1) {1970};

        \draw[fill=blue!20] (0,1) rectangle (2,1.2);
        \node[right] at (2.1,1.1) {2024};
    \end{tikzpicture}
    \end{center}
    \end{columns}
\end{frame}

\begin{frame}{Why Morinaga?}
    \begin{itemize}
        \item Modern devices are vastly underutilized
            \begin{itemize}
                \item Artificial limitations in mobile OSes
                \item Hardware capabilities exceed typical usage
            \end{itemize}
        \item Equivalent analogy by Professor Tanenbaum:
		\begin{center}
            \begin{quote}
                \small
                "If cars had improved at this rate, a Rolls Royce would now cost \$10 and get a billion miles per gallon. (Unfortunately, it would probably also have a 200-page manual telling how to open the door.)"
            \end{quote}
		\end{center}
    \end{itemize}
\end{frame}


\begin{frame}{Development Challenges}
    \begin{itemize}
        \item Initial virtualization approach faced performance issues
        \item Quote from Theo de Raadt:
	\begin{center}
        \begin{quote}
            \small
            "You've been smoking something really mind altering, and I think you should share it. virtualization is about basically placing another nearly full kernel, full of new bugs, on top of a nasty architecture which barely has correct page protection. Then running your operating system on the other side of this brand new pile of crap. You are absolutely deluded"
        \end{quote}
	\end{center}
        \item Fundamental rethinking of our approach
    \end{itemize}
\end{frame}

\begin{frame}{Adapted Solution}
    \begin{itemize}
        \item Shifted focus to dual window manager development:
            \begin{itemize}
                \item Android Window Manager optimization
                \item X11 environment within Android
            \end{itemize}
        \item Direct integration instead of virtualization
        \item Improved performance and resource utilization
    \end{itemize}
\end{frame}


\begin{frame}{Plan9 Protocol Integration}
    \begin{itemize}
        \item Plan9 influence on modern window management
        \item Everything is a file philosophy
        \item Integration with modern systems:
            \begin{itemize}
                \item Window naming conventions
                \item Inter-process communication
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}[fragile]{Custom Window Management Flow}
	\begin{itemize}
    \item Instance/Title-based window management
    \item MPV integration:
        \begin{itemize}
            \item Custom named instances
            \item Automatic bookmarking
            \item Category-based window placement
        \end{itemize}
    \item Tag-based organization
\end{itemize}

    \begin{columns}
        \column{0.5\textwidth}  % Adjust the width as needed
        \vspace{0.5cm}
        \begin{lstlisting}[language=C, basicstyle=\tiny\ttfamily, columns=fixed]
static const Rule rules[] = {
    { "mpv_0", NULL, 1 << 1,  0, 0, 0, -1 },
    { "mpv_1", NULL, 1 << 10, 0, 0, 0, -1 }
};
        \end{lstlisting}
    \end{columns}
\end{frame}

\begin{frame}{Watson and Stenographic Input}
    \begin{itemize}
        \item Watson's Stenographic Integration:
            \begin{itemize}
                \item Direct computer control through chord combinations
                \item Window management via steno commands
                \item Context-aware command interpretation
                \item Real-time response system
            \end{itemize}
        \vspace{0.3cm}
        \item Example Commands:
            \begin{itemize}
                \item TPAO: Focus window
                \item TKPWR: Move window
                \item STPR: Split view
                \item KPA*: Switch workspace
            \end{itemize}
        \vspace{0.3cm}
        \item Benefits:
            \begin{itemize}
                \item Faster than traditional keyboard input
                \item Reduced physical strain
                \item Natural language-like interaction
                \item Customizable command patterns
            \end{itemize}
    \end{itemize}
\end{frame}

\begin{frame}{Tag-Based File Organization}
    \begin{center}
    \begin{tikzpicture}
        % Center hub representing the file system
        \node[draw, circle, fill=blue!10] (fs) at (0,0) {Btrfs-t};

        % Workspace nodes
        \node[draw, rectangle, fill=green!10] (docs) at (-3,2) {Documents};
        \node[draw, rectangle, fill=red!10] (media) at (3,2) {Media};
        \node[draw, rectangle, fill=yellow!10] (code) at (-3,-2) {Code};
        \node[draw, rectangle, fill=purple!10] (comm) at (3,-2) {Communication};

        % Simple arrows
        \draw[->] (fs) -- (docs);
        \draw[->] (fs) -- (media);
        \draw[->] (fs) -- (code);
        \draw[->] (fs) -- (comm);

        % Tags as simple text nodes
        \node at (-1.8,1.2) {\small \#PXC};
        \node at (1.8,1.2) {\small \#VTC};
        \node at (-1.8,-1.2) {\small \#STT};
        \node at (1.8,-1.2) {\small \#XMC};

        % Example files
        \node[draw, dashed] at (-1.5,0.5) {\small thesis.pdf};
        \node[draw, dashed] at (1.5,0.5) {\small lecture.mp4};
        \node[draw, dashed] at (-1.5,-0.5) {\small script.sh};
        \node[draw, dashed] at (1.5,-0.5) {\small meeting.mia};
    \end{tikzpicture}
    \end{center}
    \begin{itemize}
        \item Files automatically sorted by tags
        \item Multiple tags per file possible
        \item Dynamic workspace organization
        \item No traditional directory hierarchy
    \end{itemize}
\end{frame}


\begin{frame}{Target User Profile}
    \begin{center}
    \includegraphics[width=0.20\textwidth]{new-bh.jpg}

    \vspace{0.5cm}
    {\large Dr. Brian Harvey}
    \end{center}
    \begin{itemize}
        \item Target Demographics:
            \begin{itemize}
                \item Experienced Unix users
                \item Computer science educators
                \item Technical professionals
                \item Users seeking portable Unix workstations
            \end{itemize}
        \item Primary Need: "A portable Unix machine that just works"
    \end{itemize}
\end{frame}

\begin{frame}{References}
    \begin{thebibliography}{9}
        \bibitem{athena} Athena Documentation Project (1989). Project Athena Technical Plan
        \bibitem{xorg} X.Org Foundation Documentation
        \bibitem{suckless} Suckless.org Philosophy and Documentation
        \bibitem{plan9} Pike, R. et al. (1995). Plan 9 from Bell Labs
        \bibitem{dwm} DWM: Dynamic Window Manager Documentation
    \end{thebibliography}
\end{frame}

\end{document}
