diff --git a/docs/project-demo/latex/.gitignore b/docs/project-demo/latex/.gitignore new file mode 100644 index 0000000..360474b --- /dev/null +++ b/docs/project-demo/latex/.gitignore @@ -0,0 +1,303 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + +.sync_* \ No newline at end of file diff --git a/docs/project-demo/latex/img/architecture-1.pdf b/docs/project-demo/latex/img/architecture-1.pdf new file mode 100644 index 0000000..29b2357 --- /dev/null +++ b/docs/project-demo/latex/img/architecture-1.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b19f4d94499c9366747e9a1a8169b32ab7d74f516175ae197df1875ab0b478 +size 58492 diff --git a/docs/project-demo/latex/img/architecture-2.pdf b/docs/project-demo/latex/img/architecture-2.pdf new file mode 100644 index 0000000..848c889 --- /dev/null +++ b/docs/project-demo/latex/img/architecture-2.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a67eee57641c24ae5ac6f2b77f8842a4baf1513e04dde754bb486cd0d46b7f4 +size 66110 diff --git a/docs/project-demo/latex/presentation.pdf b/docs/project-demo/latex/presentation.pdf new file mode 100644 index 0000000..6bbadf5 --- /dev/null +++ b/docs/project-demo/latex/presentation.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47dfa7488a24b1e52bab5f335d61c2aa5ccd52df030d840320fe143cba3d1143 +size 112968 diff --git a/docs/project-demo/latex/presentation.tex b/docs/project-demo/latex/presentation.tex new file mode 100644 index 0000000..0657c03 --- /dev/null +++ b/docs/project-demo/latex/presentation.tex @@ -0,0 +1,261 @@ +% xelatex +\documentclass[aspectratio=169]{beamer} +\usepackage{graphicx} +\graphicspath{ {./img/} } +\usetheme{CambridgeUS} + +\title{Autophotographer} +\subtitle{Project Demo} +\author{Oscar Pocock} +\date{May 16, 2022} + +\begin{document} +\begin{frame} + \titlepage +\end{frame} + +\begin{frame} +\begin{figure} +\centering +\includegraphics[height=0.95\textheight]{architecture-1}\\ +\end{figure} +\end{frame} + +\begin{frame} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{architecture-2}\\ +\end{figure} +\end{frame} + + +%\begin{frame} +% \tableofcontents +%\end{frame} +% +%\section{What is Open Source?} +% +%\begin{frame} +%\frametitle{Simple Analogy} +%\begin{columns} +%\column{.5\textwidth} +%\centering \textbf{Proprietary}\\ +%\includegraphics[width=0.5\textwidth]{cake} +%\column{.5\textwidth} +%\centering \textbf{Open Source}\\ +%\includegraphics[height=0.5\textwidth]{cake-and-recipe} +%\end{columns} +%\end{frame} +% +%\begin{frame} +%\begin{figure} +%\centering +%\includegraphics[height=0.75\textheight]{tweet}\\ +%\tiny{\href{https://twitter.com/bbotezatu/status/768756952528723969}{https://twitter.com/bbotezatu/status/768756952528723969}} +%\end{figure} +%\end{frame} +% +%\begin{frame} +%\frametitle{Why care?} +%Open Source software gives certain freedoms to users. +%\begin{columns} +%\column{.5\textwidth} +%It allows indviduals to: +%\begin{itemize} +%\item use the software +%\item study the code and make changes +%\item share the software +%\item improve the software and share the improvements +%\end{itemize} +%\column{.5\textwidth} +%Following our cake analogy +%\begin{itemize} +%\item eat the cake! +%\item study the recipe +%\item share the recipe with others +%\item improve or change the recipe and share that with others +%\end{itemize} +%\end{columns} +%\end{frame} +% +%\begin{frame} +%\frametitle{Popular open source projects} +%\begin{columns} +%\column{.5\textwidth} +%\begin{itemize} +%\item Linux +%\item Wordpress +%\item Firefox +%\item GIMP +%\item Python +%\end{itemize} +%\column{.5\textwidth} +%\centering +%\includegraphics[height=0.80\textheight]{OS-Software} +%\end{columns} +%\end{frame} +% +%\begin{frame} +%\frametitle{How popular is Open Source?}\pause +%\begin{itemize} +%\item Android - most successful operating system with over 2 billion devices\pause +%\item Cloud - 9/10 of the top cloud providers run Linux\pause +%\item Over 60\% of the web use Open Source web servers\pause +%\item The top 500 super computers run Linux\% of the web use Open Source web servers\pause +%\item Car entertainment systems, routers, rockets + space, smart home applicances, TVs... +%\end{itemize} +%\end{frame} +% +% +%\begin{frame} +%\frametitle{Why care?}\pause +%\begin{itemize} +%\item Security\pause +%\item Cost\pause +%\item Support\pause +%\item Avoid-lock in +%\end{itemize} +%\end{frame} +% +% +% +%\section{What is Open Source Firmware?} +%\begin{frame} +%\frametitle{Stack} +%\begin{overprint} +%\onslide<1> +%\onslide<2>\centering\includegraphics[height=0.85\textheight]{Hardware} +%\onslide<3>\centering\includegraphics[height=0.85\textheight]{Firmware} +%\onslide<4>\centering\includegraphics[height=0.85\textheight]{Kernel} +%\onslide<5>\centering\includegraphics[height=0.85\textheight]{OS} +%\onslide<6>\centering\includegraphics[height=0.85\textheight]{Software} +%\onslide<7->\centering\includegraphics[height=0.85\textheight]{Firmware-highlighted} +%\end{overprint} +%\end{frame} +% +%\section{Why is Open Source Firmware important?} +%\begin{frame} +%\frametitle{Why care? An example}\pause +%\begin{columns} +%\column{.5\textwidth} +%Intel ME: +%\begin{itemize} +%\item Inside all Intel CPUs since 2008\pause +%\item 32 bit CPU that runs Minix\pause +%\item Has it's own IP and MAC address\pause +%\item No official documentation on how to disable it\pause +%\item Used for remote management\pause +%\end{itemize} +%\column{.5\textwidth} +%What it can do: +%\begin{itemize} +%\item Format or reimage your computer without needing to be on +%\item Connect to the internet and send packets regardless of OS firewall +%\item Full access to system memory +%\item Full access to TCP/IP stack +%\item With Intel ME 7.1, it can also run Java applets +%\end{itemize} +%\end{columns} +%\vspace{1em}\pause +%AMD's equivalent called PSP in all AMD CPUs since 2014 +%\end{frame} +% +%\begin{frame} +%\centering\includegraphics[height=0.85\textheight]{intel-me-report}\\ +%\tiny{\href{https://www.wired.com/story/intel-management-engine-vulnerabilities-pcs-servers-iot/}{https://www.wired.com/story/intel-management-engine-vulnerabilities-pcs-servers-iot/}} +%\end{frame} +% +%\begin{frame} +%\frametitle{Alright, but who cares?}\pause +%\centering\includegraphics[height=0.75\textheight]{mullvad}\\ +%\tiny{\href{https://mullvad.net/en/blog/2019/8/7/open-source-firmware-future/}{https://mullvad.net/en/blog/2019/8/7/open-source-firmware-future/}} +%\end{frame} +% +%\begin{frame} +%\frametitle{Alright, but who really cares?}\pause +%\centering\includegraphics[height=0.75\textheight]{facebook}\\ +%\tiny{\href{https://www.phoronix.com/scan.php?page=news\_item\&px=Facebook-Loves-OSS-Firmware}{https://www.phoronix.com/scan.php?page=news\_item\&px=Facebook-Loves-OSS-Firmware}} +%\end{frame} +% +%\begin{frame} +%\frametitle{What does Open Source Firmware run on?}\pause +%\begin{columns} +%\column{.5\textwidth} +%\centering +%\includegraphics[height=0.35\textheight]{coreboot-flash}\\ +%\tiny{\href{https://ch1p.io/coreboot-mbp101-flashing/}{https://ch1p.io/coreboot-mbp101-flashing/}}\\\pause +%\includegraphics[height=0.35\textheight]{chromebook}\\ +%\tiny{\href{https://www.google.com/intl/en\_uk/chromebook/device/asus-chromebook-flip-c436-512gb/}{https://www.google.com/intl/en\_uk/chromebook/device/asus-chromebook-flip-c436-512gb/}}\pause +%\column{.5\textwidth} +%\centering +%\includegraphics[height=0.35\textheight]{tesla}\\ +%\tiny{\href{https://www.phoronix.com/scan.php?page=news\_item\&px=Tesla-Uses-Coreboot}{https://www.phoronix.com/scan.php?page=news\_item\&px=Tesla-Uses-Coreboot}}\pause\\ +%\includegraphics[height=0.35\textheight]{pine64} +%\end{columns} +%\end{frame} +% +% +%\begin{frame} +%\frametitle{Open Source Firmware Projects} +%\centering\includegraphics[height=0.75\textheight]{opensourcefirmware}\\ +%\tiny{\href{https://www.osfc.io/}{https://www.osfc.io/}} +%\end{frame} +% +%\begin{frame} +%\frametitle{Open Source Firmware Conference} +%\centering +%\includegraphics[height=0.75\textheight]{conference}\\ +%\tiny{\href{https://www.osfc.io/}{https://www.osfc.io/}} +%\end{frame} +% +% +%\begin{frame} +%\frametitle{Where are we now?} +%\begin{itemize} +%\item Chromebook's have free firmware +%\item A selection old laptops pre-2014 if you enjoy taking apart computers +%\item Very few specialised devices +%\end{itemize} +%\end{frame} +% +%\begin{frame} +%\frametitle{Future of proprietary chips and firmware} +%\centering\includegraphics[height=0.75\textheight]{pluton}\\ +%\tiny{\href{https://www.microsoft.com/security/blog/2020/11/17/meet-the-microsoft-pluton-processor-the-security-chip-designed-for-the-future-of-windows-pcs/}{https://www.microsoft.com/security/blog/2020/11/17/meet-the-microsoft-pluton-processor-the-security-chip-designed-for-the-future-of-windows-pcs/}} +%\end{frame} +% +%\begin{frame} +%\frametitle{What else is there?}\pause +%\begin{columns} +%\column{.5\textwidth} +%\centering\includegraphics[height=0.85\textheight]{Breakdown}\pause +%\column{.5\textwidth} +%\begin{itemize} +%\item IBM's OpenPOWER Foundation - open firmware and software\pause +%\item RISC-V, open instruction set (Alternative to x86 and ARM)\pause +%\item Pine64 devices - open firmware and software\pause +% +%\end{itemize} +%\end{columns} +%\end{frame} +% +%\section{Summary} +%\begin{frame} +%\begin{itemize} +%\item Open Source Firmware exists but on very few devices +%\begin{itemize} +%\item coreboot +%\item open-bmc +%\end{itemize} +%\item What's next? +%\begin{itemize} +%\item RISC-V +%\item OpenPOWER +%\item Open Source firmware for consumer level platforms (mainline AMD and Intel) +%\end{itemize} +%\item Microsoft Pluton +%\end{itemize} +%\frametitle{Summary} +%\end{frame} + +\end{document}