\documentclass{beamer} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage[inkscapeformat=png]{svg} \usepackage{tikz} \usetikzlibrary{positioning,arrows.meta, calc} \usepackage{caption} \definecolor{darkgreen}{RGB}{0,100,0} \setbeamercolor{title}{fg=darkgreen} \setbeamercolor{frametitle}{fg=darkgreen} \setbeamercolor{structure}{fg=darkgreen} \setbeamercolor{normal text}{fg=black,bg=white} \usetheme{default} \setbeamertemplate{footline}[frame number]{} \setbeamertemplate{navigation symbols}{} \setbeamerfont{frametitle}{size=\huge,series=\mdseries} \setbeamerfont{title}{size=\huge,series=\mdseries} \setbeamertemplate{frametitle}{ \vspace{1.5em} \begin{centering} \usebeamerfont{frametitle}\insertframetitle\par \end{centering} \vspace{0.5em} } \title{Enter the [matrix]} \author{Filip Wandzio\vspace{0.5em}\\\texttt{contact@philw.dev}\\\texttt{@philw:matrix.philw.dev}} \date{} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{O mnie} \centering \vspace{0.5cm} \includesvg[width=0.3\textwidth]{assets/web} \vspace{0.5cm} \begin{center} \begin{minipage}{0.15\textwidth} \centering \includesvg[width=0.9\linewidth]{assets/wsb} \end{minipage}\hfill \begin{minipage}{0.15\textwidth} \centering \includesvg[width=0.9\linewidth]{assets/mad} \end{minipage}\hfill \begin{minipage}{0.15\textwidth} \centering \includesvg[width=0.9\linewidth]{assets/k7} \end{minipage}\hfill \end{center} \end{frame} \begin{frame}{Czym jest [matrix]?} \begin{itemize} \item Otwarty protokół komunikacji RT rozwijany przez \texttt{matrix.org} \end{itemize} \end{frame} \begin{frame}{Nazwy własne} \begin{itemize} \item \textbf{Homeserver} – oprogramowanie umożliwiające zarządzanie użytkownikami, przechowywanie danych i obsługę komunikacji. \item \textbf{Federacja} – mechanizm komunikacyjny tworzący zdecentralizowaną sieć. \item \textbf{Client} – oprogramowanie umożliwiające korzystanie z usług homeservera. \item \textbf{Bridge} – integrator/agregator innych systemów (np. IRC, Slack, Discord). \end{itemize} \end{frame} \begin{frame}{Jak działa [matrix]?} \centering \resizebox{0.9\textwidth}{!}{ \begin{tikzpicture}[node distance=1.2cm] \tikzset{ box/.style={draw, thick, minimum width=3.5cm, minimum height=1cm, align=center, rounded corners}, client/.style={draw, thick, minimum width=3.0cm, minimum height=0.9cm, align=center, rounded corners}, arrow/.style={-{Stealth}, thick}, } \node[client] (clientA) {Client A}; \node[client, right=4cm of clientA] (clientB) {Client B}; \node[box, below=of clientA] (serverA) {Server A}; \node[box, below=of clientB] (serverB) {Server B}; \draw[arrow] (clientA.south) -- node[right,align=center] {events\\CS-API} (serverA.north); \draw[arrow] (serverA.north) -- ++(0,0.8) -| (clientA.south); \draw[arrow] (clientB.south) -- node[left,align=center] {events\\CS-API} (serverB.north); \draw[arrow] (serverB.north) -- ++(0,0.8) -| (clientB.south); \draw[<->,thick] (serverA.east) -- node[above,align=center] {SS-API (HTTPS)} (serverB.west); \end{tikzpicture} } \\ {\scriptsize Źródło: \url{https://matrix.org/docs/matrix-concepts/elements-of-matrix/}} \end{frame} \begin{frame}{Jak działa [matrix]?} \begin{center} \texttt{contact@philw.dev <-> contact@phil.xyz} \texttt{@philw:matrix.philw.dev <-> @phil:phil.xyz} \end{center} \end{frame} \begin{frame}{Jak działa [matrix]?} \begin{itemize} \item Komunikacja: REST API \item Synchronizacja: \texttt{sync} lub \texttt{sliding-sync} – mechanizm aktualizacji \item E2EE: \begin{itemize} \item Olm (1:1) \item Megolm (1:n) \end{itemize} \item WebRTC \end{itemize} \end{frame} \begin{frame}{[matrix] a wybrane systemy} \begin{center} \begin{tabular}{|l|c|c|c|c|} \hline & \textbf{Matrix} & \textbf{Signal} & \textbf{Slack} & \textbf{Discord} \\ \hline Decentralizacja & Tak & Nie & Nie & Nie \\ E2EE & Tak & Tak & Nie & Nie \\ E2EE (a/v) & Tak & Tak & -- & Tak \\ Otwartość & Tak & Nie & Nie & Nie \\ Bridge & Tak & Tak* & Tak* & Tak* \\ Self-host & Tak & Nie & Nie & Nie \\ \hline \end{tabular} \end{center} \end{frame} \begin{frame} \vspace{0.5em} \centering {\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\Huge Jak zacząć korzystać z [matrix]?} \vspace{1em} \end{frame} \begin{frame}{Wybór oprogramowania} \begin{center} \begin{minipage}{0.45\textwidth} \centering \includesvg[width=0.9\linewidth]{assets/servers} \captionsetup{labelformat=empty} \captionof{figure}{Lista serwerów} \end{minipage}\hfill \begin{minipage}{0.45\textwidth} \centering \captionsetup{labelformat=empty} \includesvg[width=0.9\linewidth]{assets/clients} \captionof{figure}{Lista klientów} \end{minipage} \end{center} \end{frame} \begin{frame}{Whiterabbit} \begin{itemize} \item Automatyczna konfiguracja wybranych serwerów [matrix] \item Automatyczna konfiguracja Coturn \item Automatyczne TLS/SSL \item Konteneryzacja \end{itemize} \centering \includesvg[width=0.25\textwidth]{assets/whgit} \captionsetup{labelformat=empty} \captionof{figure}{Repozytorium Git} \end{frame} \begin{frame} \vspace{0.5em} \centering {\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\Huge Jak to działa?} \vspace{1em} \end{frame} \begin{frame}{Pytania} \begin{center} \begin{minipage}{0.45\textwidth} \centering \includesvg[width=0.9\linewidth]{assets/email} \captionsetup{labelformat=empty} \captionof{figure}{E-mail} \end{minipage}\hfill \begin{minipage}{0.45\textwidth} \centering \captionsetup{labelformat=empty} \includesvg[width=0.9\linewidth]{assets/matrix} \captionof{figure}{Matrix} \end{minipage} \end{center} \end{frame} \end{document}