diff --git a/Makefile b/Makefile index eb62bd7..2601096 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,13 @@ latexmk -f -xelatex -interaction=nonstopmode -output-directory=$(PWD)/build/ ep$@.tex pdftoppm -png -f 1 -l 1 -singlefile -r 1200 -scale-to-x 1920 -scale-to-y 1080 $(PWD)/build/ep$@.pdf $(PWD)/build/ep$@ +deps: + @echo "Source San Pro font family must be installed" + tlmgr update --list + tlmgr install fontspec + tlmgr install sourcesanspro + tlmgr install fontawesome5 + .PHONY: clean clean: rm -rf build diff --git a/ep2.tex b/ep2.tex index 736aa72..c8d4286 100644 --- a/ep2.tex +++ b/ep2.tex @@ -26,107 +26,90 @@ \begin{document} \maketitle -\begin{frame}{Why do we have to start frome here?}{We already know what math is} - \begin{itemize} - \item there's no conses on the definition of mathematics but I'll give you mine - \item interconnected web of mathematics, how an idea in one field drives you to others - \item asking the right question - \item We learned about the basics of LLVM and MLIR - \item We created a basic platform to develop a programming language, that includes: +\begin{frame}{Why did I choose to make this?}{} + \begin{itemize} + \item Originally I just wanted to start from logic + \item I read a tweet which made me think not everyone knows what math really is + \item I started to ask around online and even on the street \begin{itemize} - \item A parser - \item A JIT engine - \item A code generation pipeline - \item and few other bits and pieces - \end{itemize} - \item BUT we didn't come up with a specification for \href{https://serene-lang.org}{Serene} - \item We didn't design the language yet - \item That's what we're going to do in this series - \end{itemize} -\end{frame} - -\begin{frame}{Specification}{} - \begin{itemize} - \item Not all the programming langs have specification - \item A spec or standard brings clarity for users and developers - \item We could've just implement an already exist spec like \href{http://www.r6rs.org/}{R6RS} (Scheme) - \item Or just create a language based on our intuition (many languages have done this) - \item Or design a standard from scratch \\ - We can use about 100 years of Mathematics and Computer Science to our benefit - \end{itemize} -\end{frame} - -\begin{frame}{Where to look?} - \begin{itemize} - \item Based on the past experience we have some initial idea on where to look - \item Later on we will find out whether or not our initial ideas were good - \item For example - \begin{itemize} - \item I prefer functional programming - \item Dynamic type systems - \item \ldots - \end{itemize} - \item We can start from there and study what we think is true and also any alternative to them - \end{itemize} -\end{frame} - -\begin{frame}{Where we want to look} - \begin{itemize} - \item There are few major theories we can start from: - \begin{itemize} - \item Type theory - \item Category theory - \item Proof theory - \end{itemize} - \item They all describe the same world from different perspectives - \item Also, there are few papers that we need to look at, like the lisp paper - \end{itemize} -\end{frame} - -\begin{frame}{Required tools} - \begin{itemize} - \item We need build up few mathematical skills - \item E.g We need to learn: - \begin{itemize} - \item Logic - \item Set theory - \item and discrete mathematics in general + \item To my surprise majority of people got it wrong too + \item Even other engineers and scientists \end{itemize} \end{itemize} \end{frame} -\begin{frame}{The Plan}{} +\begin{frame}{What was the tweet all about?}{} + +\end{frame} + +\begin{frame}{Why do we have to start frome here?}{} \begin{itemize} - \item I like this series to be self contained as much as possible - \item We're going to start from basics - \item We will cover - \begin{itemize} - \item What is mathematics? and why do we need it? - \item Mathematical thinking - \item Discrete mathematics - \item $\lambda$-calculus - \item Type theory - \item and the rest - \end{itemize} - \item We will study the history of computer science an mathematics as well - \item History is a great guide + \item Understanding Mathematics helps us to think better + \item To asking the right question + \item There's no consensus on the definition of mathematics but I'll give you mine + \item My goal is to get you think + \end{itemize} + +\end{frame} + +\begin{frame}{So, What is mathematics?}{} + \begin{itemize} + \item ``Mathematics is the language in which God has written the universe'' + \item To put it simply Mathematics is a language with specific set of properties + \item Usually a language enables us to express something + \item For example musical notation is language to express music + \end{itemize} \end{frame} -\begin{frame}{Disclaimer}{} +\begin{frame}{Musical notation}{} + \centering + Any one who speaks the language of musical notations understands this sheet + \begin{figure} + \centering + \pic{ep2/music_score.png} + \end{figure} +\end{frame} + +\begin{frame}{Not just a language}{} \begin{itemize} - \item I'm not a professional mathematician - \item I'm just sharing the result of my research and things that I learn. Take it with a grain of salt - \item ``Nullius in verba'' + \item But it's not just a language, it's a language + reasoning, it's a tool for reasoning + \item It's big collection of some people careful thoughts + \item In form of provable statements \end{itemize} \end{frame} + +\begin{frame}{So, What is mathematics?}{} + \begin{itemize} + \item By Mathematics it is possible to connect one statement to others. + \item Mathematics is a way of going from one set of statements to another via reason. + \item It's an interconnected web, how an idea in one field drives you to others + \end{itemize} + +\end{frame} + + +\begin{frame}{What are those statement all about?}{} + \begin{itemize} + \item Humans are pattern recognizing machines (We will talk about it more in the episode) + \item Mathematics is all about generalizing those patterns via abstractions + \item Usually there are more than one way to describe the same thing + \item different between doing math and usign math + \begin{itemize} + \item Mathematicians want to make their reasoning as general as possible + \item But math users usually want special cases + \end{itemize} + \end{itemize} +\end{frame} + + \begin{frame}{Contact}{} Please shared your thoughts and ideas or researches and papers that you want me to have a look at via: \begin{itemize} \item Comment section on \href{https://youtube.com/c/lxsameer}{youtube} \item \href{https://lxsameer.com}{https://lxsameer.com} \end{itemize} -\end{frame} + \end{frame} \end{document} diff --git a/ep2/music_score.png b/ep2/music_score.png new file mode 100644 index 0000000..4d7f907 Binary files /dev/null and b/ep2/music_score.png differ diff --git a/lxpresent.cls b/lxpresent.cls index 4f77f6e..685b5f4 100644 --- a/lxpresent.cls +++ b/lxpresent.cls @@ -44,7 +44,7 @@ \setbeamercolor{palette secondary} {fg=spurple,bg=white} \setbeamercolor{structure}{fg=white,bg=spurple} \setbeamercolor{title in head/foot}{fg=white,bg=spurple} -\setbeamercolor{date in head/foot}{fg=lightgray,bg=spurple} +\setbeamercolor{date in head/foot}{fg=lightgray} \setbeamercolor{background canvas}{bg=spurple} \setbeamercolor{title}{fg=blue,bg=spurple} \setbeamercolor{normal text}{fg=white} @@ -63,13 +63,10 @@ % definition of the footline template \defbeamertemplate*{footline}{mytheme}{% \leavevmode% - \hbox{\begin{beamercolorbox}[wd=.3\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm]{title in head/foot}% - \makebox[2em][l]{{\usebeamerfont{title in head/foot}\textcolor{white}{\@ep}}}% - {\usebeamercolor{title in head/foot}{\@eptitle}} - \end{beamercolorbox}% - \begin{beamercolorbox}[wd=.3\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm,right]{title in head/foot}% - \end{beamercolorbox}}% - \vskip0pt% + \hspace{0.5em} + \hbox{ + {\usebeamercolor{title in head/foot}{\@ep \- \@eptitle}}} + \vspace{0.5em} } % definition of the title page template @@ -113,3 +110,7 @@ \defbeamertemplate*{itemize item}{mysymbol}{\small\raise0.5pt\hbox{\mysymbol}} \defbeamertemplate*{itemize subitem}{mysymbol}{\footnotesize\raise0.5pt\hbox{\mysymbol}} \defbeamertemplate*{itemize subsubitem}{mysymbol}{\footnotesize\raise0.5pt\hbox{\mysymbol}} + + +\newcommand{\pic}[1]{ + \includegraphics[width=0.7\textwidth]{#1}}