summaryrefslogtreecommitdiff
path: root/final_presentation/source.tex
blob: f6f6f18abcd7c7c37ed6379f606124b66f1770ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
\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}