~ushin/emacsconf-2023-presentation

8a47b8c3c0421cf2bdd5a86c15ac4e33eac5f362 — Joseph Turner 1 year, 1 month ago 85fa0b2
Export presentation.pdf
2 files changed, 23 insertions(+), 20 deletions(-)

M presentation.pdf
M presentation.tex
M presentation.pdf => presentation.pdf +0 -0
M presentation.tex => presentation.tex +23 -20
@@ 1,4 1,4 @@
% Created 2023-11-05 Sun 23:41
% Created 2023-11-07 Tue 11:44
% Intended LaTeX compiler: pdflatex
\documentclass[bigger]{beamer}
\usepackage[utf8]{inputenc}


@@ 14,7 14,7 @@
\usepackage{hyperref}
\usetheme{default}
\author{Joseph Turner}
\date{Sunday, 2023-11-05}
\date{\today}
\title{hyperdrive.el: Peer-to-peer filesystem in Emacs}
\subtitle{EmacsConf}
\hypersetup{


@@ 29,7 29,7 @@

\maketitle

\begin{frame}[label={sec:org2b66941}]{Hyperdrive: P2P File System}
\begin{frame}[label={sec:org306d498}]{Hyperdrive: P2P File System}
\begin{itemize}
\item Developed by Holepunch, Javascript, Apache 2.0 license
\item Each peer runs a node


@@ 39,7 39,7 @@
\item Anyone with the content can seed it
\end{itemize}
\end{frame}
\begin{frame}[label={sec:org9385ffe}]{Hyperdrive Features}
\begin{frame}[label={sec:org81d15ae}]{Hyperdrive Features}
\begin{itemize}
\item Single-writer
\item Offline-first


@@ 49,7 49,7 @@
\item Versioned
\end{itemize}
\end{frame}
\begin{frame}[label={sec:org6cccae3},fragile]{About USHIN}
\begin{frame}[label={sec:org7f52eff},fragile]{About USHIN}
 Tiny nonprofit whose mission is to promote personal, community, and global health through free and open Universal SHared INformation for everybody.
\begin{itemize}
\item Paula Maas, Steve Nash - USHIN founders


@@ 60,7 60,7 @@
\item Protesilaos Stavrou (\texttt{protesilaos}) - philosopher
\end{itemize}
\end{frame}
\begin{frame}[label={sec:org3948418},fragile]{Main demo}
\begin{frame}[label={sec:orge830e8c},fragile]{Main demo}
 \begin{block}{Intro}
Here's a potential way to start your demo.  Feel free to adjust it!



@@ 125,7 125,7 @@ DNS records. If it's not working, let's omit this feature from the demo.
\end{block}
\end{frame}

\begin{frame}[label={sec:orgec45f12},fragile]{Demo 2}
\begin{frame}[label={sec:org2516eb6},fragile]{Demo 2}
 \begin{block}{Mirror upload (\texttt{hyperdrive-mirror})}
To demonstrate mirroring from within \texttt{hyperdrive-menu}, checkout and
load the latest transient.el \texttt{master} branch and the hyperdrive.el


@@ 181,20 181,20 @@ for the same information one at a time.
\item[{$\boxtimes$}] Start gateway
\item[{$\boxtimes$}] New drive
\item[{$\boxtimes$}] Open hyperdrive sub menu, explain names
\item[{$\square$}] Stream Prot's demo video
\item[{$\square$}] In hyperdrive-menu and the menu bar, notice that the previous
\item[{$\boxtimes$}] Stream Prot's demo video
\item[{$\boxtimes$}] In hyperdrive-menu and the menu bar, notice that the previous
version says ? at first, but after loading the previous version,
subsequent visits say the version number (explain unknown versions)
\item[{$\square$}] Load "Unknown" history ranges
\item[{$\boxtimes$}] Load "Unknown" history ranges
\item[{$\square$}] Load an HTML file, follow some links in EWW (show seamless
navigation between pages served over \texttt{http} and \texttt{hyper})
\item[{$\square$}] yank-media: copy an image to clipboard in an external program then
run \texttt{yank-media} in the hyperdrive-dir buffer for a writable drive
(maybe not worth showing off?)
\item[{$\square$}] Describe hyperdrive buffer
\item[{$\square$}] Bookmarks
\item[{$\square$}] Show version number in buffer name
\item[{$\square$}] hyperdrive-menu
\item[{$\boxtimes$}] Bookmarks
\item[{$\boxtimes$}] Show version number in buffer name
\item[{$\boxtimes$}] hyperdrive-menu
\begin{itemize}
\item In the menu, \texttt{C-u h} prompts to select a hyperdrive
\item In the hyperdrive-menu-hyperdrive transient, \texttt{C-u f} prompts for a version


@@ 204,13 204,13 @@ run \texttt{yank-media} in the hyperdrive-dir buffer for a writable drive
\end{block}
\end{frame}

\begin{frame}[label={sec:orgb79a618}]{Extending Emacs with Hyperdrive}
\begin{frame}[label={sec:orgc2d5df6}]{Extending Emacs with Hyperdrive}
\begin{center}
\includegraphics[width=.9\linewidth]{hyperdrive-architecture.png}
\end{center}
\end{frame}

\begin{frame}[label={sec:org3d98fb6}]{JSONRPC Plans}
\begin{frame}[label={sec:org1af6c29}]{JSONRPC Plans}
\begin{itemize}
\item Fine-grained control allows for:



@@ 222,15 222,18 @@ run \texttt{yank-media} in the hyperdrive-dir buffer for a writable drive
\end{itemize}
\end{frame}

\begin{frame}[label={sec:org14eec82}]{Emacs Libraries}
\begin{frame}[label={sec:org012708d}]{Emacs Libraries}
\begin{itemize}
\item plz.el: HTTP Library
\item ewoc.el: Abstract Display Functions
\item persist.el: (c.f. multisession.el)
\item persist.el: Persist variables between sessions
\begin{itemize}
\item On Emacs 29+, see multisession.el instead
\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}[label={sec:org694ce1c},fragile]{Actions}
\begin{frame}[label={sec:org048618c},fragile]{Actions}
 \begin{itemize}
\item Try out hyperdrive.el
\end{itemize}


@@ 251,12 254,12 @@ xmpp:discuss@conference.ushin.org
\end{verbatim}
\end{frame}

\begin{frame}[label={sec:org8672122}]{Thank you EmacsConf 2023!!!}
\begin{frame}[label={sec:orgf9c93df}]{Thank you EmacsConf 2023!!!}
\begin{center}
\includegraphics[width=7cm]{emacsconf-logo1-256.png}
\end{center}
\end{frame}
\begin{frame}[label={sec:orgb951a0b}]{FAQ}
\begin{frame}[label={sec:org44b3cb0}]{FAQ}
\begin{block}{Hyperdrive}
\begin{itemize}
\item Sparse replication