├── README.md ├── engineers-day-2020 ├── .gitignore ├── LICENSE ├── Makefile ├── README ├── abstract.md ├── img │ ├── MH18.jpeg │ ├── MH18_1.png │ ├── MH18_2.png │ ├── culture-and-empire.jpg │ ├── daniel.jpg │ ├── fossasia-community.jpg │ ├── glenda.png │ ├── glenda_100.png │ ├── gopher.png │ ├── harvey.png │ ├── logo.png │ ├── pdp7.jpg │ ├── pslab-android.png │ ├── pslab-board.png │ ├── pslab-desktop.png │ ├── pslab-stack.png │ ├── pslab.png │ ├── susi-ai.png │ ├── u-root-logo.png │ └── unix-history.png ├── res │ └── harvey-os-logo.svg ├── slides.md └── template.latex ├── pslab-open-up-summit-2020 ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── abstract.md ├── img │ ├── logo.png │ ├── pslab-android.png │ ├── pslab-board.png │ ├── pslab-desktop.png │ ├── pslab-stack.png │ └── pslab.png ├── res │ └── open-up-summit-logo.svg ├── slides.md └── template.latex └── res └── FOSSASIA_Logo.svg /README.md: -------------------------------------------------------------------------------- 1 | # FOSSASIA Presentations 2 | 3 | ![FOSSASIA](res/FOSSASIA_Logo.svg) 4 | 5 | This repository holds a collection of presentation slides from people in the 6 | [FOSSASIA](https://fossasia.org) community. See the respective directory for 7 | more details. 8 | -------------------------------------------------------------------------------- /engineers-day-2020/.gitignore: -------------------------------------------------------------------------------- 1 | *.pdf 2 | -------------------------------------------------------------------------------- /engineers-day-2020/LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /engineers-day-2020/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | pandoc \ 3 | -t beamer \ 4 | --pdf-engine=xelatex \ 5 | --template=template.latex \ 6 | -fmarkdown-implicit_figures \ 7 | -V fontfamily="sourcesanspro" \ 8 | -V logo="img/logo.png" \ 9 | -V classoption:aspectratio=169 \ 10 | -V geometry:"hmargin=2.25cm, nomarginpar" \ 11 | -o slides.pdf \ 12 | slides.md 13 | -------------------------------------------------------------------------------- /engineers-day-2020/README: -------------------------------------------------------------------------------- 1 | # Engineer's Day 2020 2 | 3 | This presentation was given as an introduction to open source hardware, software 4 | and OSs to students at [BVRIT Hyderabad](http://bvrithyderabad.edu.in/). 5 | 6 | ## Building the slides 7 | 8 | To build the slides, you will need [Pandoc](https://pandoc.org/) and the Source 9 | Sans Pro font. Just run `make` to build them. If you don't have the font, you 10 | can remove the respective line from the `Makefile`, or just rewrite it / pick up 11 | the command from there and adjust it if you have a different environment. 12 | -------------------------------------------------------------------------------- /engineers-day-2020/abstract.md: -------------------------------------------------------------------------------- 1 | http://bvrithyderabad.edu.in/ 2 | 3 | ## PSLab - A Full-stack Open Experimentation Kit 4 | 5 | PSLab (pslab.io) is open hardware, firmware, and software, including tutorials 6 | and documentation with apps for both desktop and mobile phones. 7 | This presentation gives a rough overview of what the device offers, the overall 8 | architecture and stack, and where the project currently is in terms of 9 | development. 10 | 11 | ## About me 12 | 13 | I am a software engineer with backgrounds in IT security and computer science, 14 | working as a full-stack web developer in ecommerce, and contributing to free and 15 | open source operating systems and distributions as well as hardware, firmware 16 | and software projects. Currently I am mostly involved in LinuxBoot, u-root, 17 | coreboot, oreboot, webboot, Arch Linux, Harvey OS, and FOSSASIA's PSLab, besides 18 | investigating firmware I find in numerous devices. 19 | -------------------------------------------------------------------------------- /engineers-day-2020/img/MH18.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/MH18.jpeg -------------------------------------------------------------------------------- /engineers-day-2020/img/MH18_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/MH18_1.png -------------------------------------------------------------------------------- /engineers-day-2020/img/MH18_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/MH18_2.png -------------------------------------------------------------------------------- /engineers-day-2020/img/culture-and-empire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/culture-and-empire.jpg -------------------------------------------------------------------------------- /engineers-day-2020/img/daniel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/daniel.jpg -------------------------------------------------------------------------------- /engineers-day-2020/img/fossasia-community.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/fossasia-community.jpg -------------------------------------------------------------------------------- /engineers-day-2020/img/glenda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/glenda.png -------------------------------------------------------------------------------- /engineers-day-2020/img/glenda_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/glenda_100.png -------------------------------------------------------------------------------- /engineers-day-2020/img/gopher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/gopher.png -------------------------------------------------------------------------------- /engineers-day-2020/img/harvey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/harvey.png -------------------------------------------------------------------------------- /engineers-day-2020/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/logo.png -------------------------------------------------------------------------------- /engineers-day-2020/img/pdp7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pdp7.jpg -------------------------------------------------------------------------------- /engineers-day-2020/img/pslab-android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pslab-android.png -------------------------------------------------------------------------------- /engineers-day-2020/img/pslab-board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pslab-board.png -------------------------------------------------------------------------------- /engineers-day-2020/img/pslab-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pslab-desktop.png -------------------------------------------------------------------------------- /engineers-day-2020/img/pslab-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pslab-stack.png -------------------------------------------------------------------------------- /engineers-day-2020/img/pslab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/pslab.png -------------------------------------------------------------------------------- /engineers-day-2020/img/susi-ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/susi-ai.png -------------------------------------------------------------------------------- /engineers-day-2020/img/u-root-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/u-root-logo.png -------------------------------------------------------------------------------- /engineers-day-2020/img/unix-history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/engineers-day-2020/img/unix-history.png -------------------------------------------------------------------------------- /engineers-day-2020/res/harvey-os-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /engineers-day-2020/slides.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Daniel Maslowski 3 | title: Open Source Software and Opportunities 4 | subtitle: Engineer's Day 2020 - BVRIT Hyderabad 5 | --- 6 | 7 | ## Agenda 8 | 9 | - Introduction 10 | - From Unix to Plan 9 11 | - A Little Hardware Investigation 12 | - PSLab Open Experimentation Kit 13 | - Things to Foster 14 | 15 | # Introduction 16 | 17 | ## Hello, I am Daniel :-) 18 | 19 | :::::::::::::: {.columns} 20 | ::: {.column width="42%"} 21 | ![Daniel](img/daniel.jpg){ width=100% } 22 | ::: 23 | ::: {.column width="58%"} 24 | ### Work and education 25 | - IT security and computer science 26 | - software engineer 27 | - infrastructure and web 28 | - ecommerce 29 | 30 | ### Open Source contributions 31 | - hardware and firmware 32 | - operating systems 33 | - software distributions 34 | - reverse engineering 35 | ::: 36 | :::::::::::::: 37 | 38 | ## A Pile of Fields 39 | 40 | > It all starts with education 41 | 42 | ``` 43 | Education 44 | | 45 | Engineering and Economy 46 | | 47 | Innovation and Sustainability 48 | ``` 49 | 50 | # From Unix to Plan 9 51 | 52 | ## DEC PDP-7 53 | 54 | ![PDP-7](img/pdp7.jpg) 55 | 56 | [https://www.livingcomputers.org/Computer-Collection/Vintage-Computers/Minicomputers/DEC-PDP-7.aspx 57 | ](https://www.livingcomputers.org/Computer-Collection/Vintage-Computers/Minicomputers/DEC-PDP-7.aspx) 58 | 59 | ## Unix 60 | 61 | ![Unix history map](img/unix-history.png){ height=80% } 62 | 63 | [https://en.wikipedia.org/wiki/Unix](https://en.wikipedia.org/wiki/Unix) 64 | 65 | ## Plan 9 from Bell Labs 66 | 67 | - developed by the Unix people 68 | - under a free license since 2002 69 | 70 | ![Glenda](img/glenda.png) 71 | 72 | [https://docs.huihoo.com/plan9/Plan9.pdf 73 | ](https://docs.huihoo.com/plan9/Plan9.pdf) 74 | 75 | [http://dlc.casita.net/~dlc/vp9cb/04_P9Server.utf8.html 76 | ](http://dlc.casita.net/~dlc/vp9cb/04_P9Server.utf8.html) 77 | 78 | ## Harvey OS 79 | 80 | A distributed operating system 81 | 82 | :::::::::::::: {.columns} 83 | ::: {.column width="42%"} 84 | ![Harvey OS](img/harvey.png){ height=72% } 85 | ::: 86 | ::: {.column width="58%"} 87 | - 64-bit OS 88 | - based on Plan 9 89 | - suitable for studying and research 90 | ::: 91 | :::::::::::::: 92 | 93 | [https://harvey-os.org/](https://harvey-os.org/) 94 | 95 | ## u-root 96 | 97 | A universal root filesystem 98 | 99 | :::::::::::::: {.columns} 100 | ::: {.column width="42%"} 101 | ![u-root](img/u-root-logo.png){ height=72% } 102 | ::: 103 | ::: {.column width="58%"} 104 | - many small tools 105 | - all open, meant for studying and understanding 106 | - easily portable 107 | - written in Golang 108 | 109 | ![Gopher](img/gopher.png) 110 | ::: 111 | :::::::::::::: 112 | 113 | [https://u-root.org/](https://u-root.org/) 114 | 115 | # A Little Hardware Investigation 116 | 117 | ## Bluetooth Audio Module 118 | 119 | ![Bluetooth Audio Module 1](img/MH18_1.png){ height=80% } 120 | 121 | ## Connecting the Module 122 | 123 | ![Bluetooth Audio Module 2](img/MH18_2.png){ height=80% } 124 | 125 | ## What are the unlabeled pins for? 126 | 127 | ![Bluetooth Audio Module 3](img/MH18.jpeg){ height=80% } 128 | 129 | ## Discover the World 130 | 131 | > If you spot a mystery, don't take it for granted; take it apart! 132 | 133 | # PSLab Open Experimentation Kit 134 | 135 | ## What is PSLab? 136 | 137 | ![PSLab](img/pslab.png){ height=20% } 138 | 139 | > Pocket Science Lab 140 | 141 | ### Open on all layers, allowing you to study it 142 | 143 | - hardware: schematics are fully available 144 | - firmware: source code fully available 145 | - software: libs and apps for both desktop and mobile phones 146 | - tutorials: lots of ideas for experimentation 147 | - documentation: all you need to build your own from scratch 148 | 149 | ## PSLab Board 150 | 151 | Microcontroller: [PIC24EP256GP204](http://www.microchip.com/wwwproducts/en/PIC24EP256GP204) 152 | 153 | ![PSLab Board](img/pslab-board.png) 154 | 155 | [https://github.com/fossasia/pslab-hardware](https://github.com/fossasia/pslab-hardware) 156 | 157 | ## Desktop App 158 | 159 | ![PSLab desktop app](img/pslab-desktop.png) 160 | 161 | ## PSLab Desktop Stack 162 | 163 | ![PSLab stack](img/pslab-stack.png){ height=90% } 164 | 165 | ## PSLab Desktop Stack and Features 166 | 167 | ### firmware offers a simple protocol for programmatic access 168 | 169 | - offload to advanced peripherals 170 | - control from host machine 171 | 172 | ### Python library running on desktop grants powerful scripting 173 | 174 | - write small scripts for direct data dumps, logic analyzer output etc 175 | - quick experimentation with sensors and actors 176 | 177 | ### desktop app has a rich UI, using the Python library under the hood 178 | 179 | - direct GUI access to oscilloscope, logic analyzer, multimeter etc 180 | - data logging to CSV for further analysis 181 | 182 | # Things to Foster 183 | 184 | ## Marketing, Delusion and Deception 185 | 186 | > Question what people are telling and selling you! 187 | 188 | ## Research on Engineering and Education 189 | 190 | [https://www.mdpi.com/2071-1050/9/2/171/pdf 191 | ](https://www.mdpi.com/2071-1050/9/2/171/pdf) 192 | 193 | [http://www.oecd.org/education/ceri/OECD_EDU-WKP(2013)_%20Sparking%20Innovation%20in%20STEM%20education.pdf 194 | ](http://www.oecd.org/education/ceri/OECD_EDU-WKP(2013)_%20Sparking%20Innovation%20in%20STEM%20education.pdf) 195 | 196 | [http://www.oecd.org/india/publicationsdocuments/workingpapers/ 197 | ](http://www.oecd.org/india/publicationsdocuments/workingpapers/) 198 | 199 | [https://www.irbnet.de/daten/iconda/CIB15647.pdf 200 | ](https://www.irbnet.de/daten/iconda/CIB15647.pdf) 201 | 202 | ## Culture & Empire 203 | 204 | ![Culture & Empire](img/culture-and-empire.jpg){ height=75% } 205 | 206 | [https://web.archive.org/web/20190808002816/https://legacy.gitbook.com/download/pdf/book/hintjens/culture-empire 207 | ](https://web.archive.org/web/20190808002816/https://legacy.gitbook.com/download/pdf/book/hintjens/culture-empire) 208 | 209 | ## FOSSASIA Community 210 | 211 | :::::::::::::: {.columns} 212 | ::: {.column width="72%"} 213 | ![FOSSASIA Community](img/fossasia-community.jpg){ width=100% } 214 | ::: 215 | ::: {.column width="28%"} 216 | ![FOSSASIA](img/logo.png){ width=100% } 217 | ![PSLab](img/pslab.png) 218 | ![SUSI AI](img/susi-ai.png) 219 | ::: 220 | :::::::::::::: 221 | 222 | [https://fossasia.org/](https://fossasia.org/) 223 | -------------------------------------------------------------------------------- /engineers-day-2020/template.latex: -------------------------------------------------------------------------------- 1 | % Options for packages loaded elsewhere 2 | \PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} 3 | \PassOptionsToPackage{hyphens}{url} 4 | $if(colorlinks)$ 5 | \PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor} 6 | $endif$ 7 | $if(dir)$ 8 | $if(latex-dir-rtl)$ 9 | \PassOptionsToPackage{RTLdocument}{bidi} 10 | $endif$ 11 | $endif$ 12 | $if(CJKmainfont)$ 13 | \PassOptionsToPackage{space}{xeCJK} 14 | $endif$ 15 | % 16 | \documentclass[ 17 | $if(fontsize)$ 18 | $fontsize$, 19 | $endif$ 20 | $if(lang)$ 21 | $babel-lang$, 22 | $endif$ 23 | $if(papersize)$ 24 | $papersize$paper, 25 | $endif$ 26 | $if(beamer)$ 27 | ignorenonframetext, 28 | $if(handout)$ 29 | handout, 30 | $endif$ 31 | $if(aspectratio)$ 32 | aspectratio=$aspectratio$, 33 | $endif$ 34 | $endif$ 35 | $for(classoption)$ 36 | $classoption$$sep$, 37 | $endfor$ 38 | ]{$documentclass$} 39 | $if(beamer)$ 40 | $if(background-image)$ 41 | \usebackgroundtemplate{% 42 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image$}% 43 | } 44 | $endif$ 45 | $if(background-image1)$ 46 | \usebackgroundtemplate{% 47 | \ifodd\insertframenumber {% 48 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image1$}% 49 | } 50 | \else {% 51 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image2$}% 52 | } 53 | \fi 54 | } 55 | $endif$ 56 | \usepackage{pgfpages} 57 | \definecolor{color1}{RGB}{68, 68, 68} 58 | \definecolor{color2}{RGB}{125, 125, 121} 59 | \definecolor{color3}{RGB}{23, 150, 238} 60 | \setbeamertemplate{caption}[numbered] 61 | \setbeamertemplate{caption label separator}{: } 62 | \setbeamertemplate{itemize item}{\includegraphics[scale=.12]{img/glenda_100.png}\hspace{9.5pt}} 63 | \setbeamercolor{titlelike}{fg=color1} 64 | \setbeamercolor{normal text}{fg=color1} 65 | \setbeamercolor{item}{fg=color3} 66 | \setbeamercolor{frametitle continuation}{fg=color2} 67 | \setbeamercolor{framesubtitle}{fg=color2} 68 | \setbeamercolor{block title}{fg=color2} 69 | \setbeamercolor{subtitle}{fg=color2} 70 | \beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ 71 | $for(beameroption)$ 72 | \setbeameroption{$beameroption$} 73 | $endfor$ 74 | % Prevent slide breaks in the middle of a paragraph 75 | \widowpenalties 1 10000 76 | \raggedbottom 77 | $if(section-titles)$ 78 | \setbeamertemplate{part page}{ 79 | \centering 80 | \begin{beamercolorbox}[sep=16pt,center]{part title} 81 | \usebeamerfont{part title}\insertpart\par 82 | \end{beamercolorbox} 83 | } 84 | \setbeamertemplate{section page}{ 85 | \centering 86 | \begin{beamercolorbox}[sep=12pt,center]{part title} 87 | \usebeamerfont{section title}\insertsection\par 88 | \end{beamercolorbox} 89 | } 90 | \setbeamertemplate{subsection page}{ 91 | \centering 92 | \begin{beamercolorbox}[sep=8pt,center]{part title} 93 | \usebeamerfont{subsection title}\insertsubsection\par 94 | \end{beamercolorbox} 95 | } 96 | \AtBeginPart{ 97 | \frame{\partpage} 98 | } 99 | \AtBeginSection{ 100 | \ifbibliography 101 | \else 102 | \frame{\sectionpage} 103 | \fi 104 | } 105 | \AtBeginSubsection{ 106 | \frame{\subsectionpage} 107 | } 108 | $endif$ 109 | $endif$ 110 | $if(beamerarticle)$ 111 | \usepackage{beamerarticle} % needs to be loaded first 112 | $endif$ 113 | $if(fontfamily)$ 114 | \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} 115 | \usepackage{fontspec} 116 | $else$ 117 | \usepackage{lmodern} 118 | $endif$ 119 | $if(linestretch)$ 120 | \usepackage{setspace} 121 | $endif$ 122 | \usepackage{amssymb,amsmath} 123 | \usepackage{ifxetex,ifluatex} 124 | \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex 125 | \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} 126 | \usepackage[utf8]{inputenc} 127 | \usepackage{textcomp} % provide euro and other symbols 128 | \else % if luatex or xetex 129 | $if(mathspec)$ 130 | \ifxetex 131 | \usepackage{mathspec} 132 | \else 133 | \usepackage{unicode-math} 134 | \fi 135 | $else$ 136 | \usepackage{unicode-math} 137 | $endif$ 138 | \defaultfontfeatures{Scale=MatchLowercase} 139 | \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} 140 | $if(mainfont)$ 141 | \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} 142 | $endif$ 143 | $if(sansfont)$ 144 | \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} 145 | $endif$ 146 | $if(monofont)$ 147 | \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} 148 | $endif$ 149 | $for(fontfamilies)$ 150 | \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} 151 | $endfor$ 152 | $if(mathfont)$ 153 | $if(mathspec)$ 154 | \ifxetex 155 | \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 156 | \else 157 | \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 158 | \fi 159 | $else$ 160 | \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 161 | $endif$ 162 | $endif$ 163 | $if(CJKmainfont)$ 164 | \ifxetex 165 | \usepackage{xeCJK} 166 | \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} 167 | \fi 168 | $endif$ 169 | $if(luatexjapresetoptions)$ 170 | \ifluatex 171 | \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} 172 | \fi 173 | $endif$ 174 | $if(CJKmainfont)$ 175 | \ifluatex 176 | \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} 177 | \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} 178 | \fi 179 | $endif$ 180 | \fi 181 | $if(beamer)$ 182 | $if(theme)$ 183 | \usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} 184 | $endif$ 185 | $if(colortheme)$ 186 | \usecolortheme{$colortheme$} 187 | $endif$ 188 | $if(fonttheme)$ 189 | \usefonttheme{$fonttheme$} 190 | $endif$ 191 | $if(mainfont)$ 192 | \usefonttheme{serif} % use mainfont rather than sansfont for slide text 193 | $endif$ 194 | $if(innertheme)$ 195 | \useinnertheme{$innertheme$} 196 | $endif$ 197 | $if(outertheme)$ 198 | \useoutertheme{$outertheme$} 199 | $endif$ 200 | $endif$ 201 | % Use upquote if available, for straight quotes in verbatim environments 202 | \IfFileExists{upquote.sty}{\usepackage{upquote}}{} 203 | \IfFileExists{microtype.sty}{% use microtype if available 204 | \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} 205 | \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts 206 | }{} 207 | $if(indent)$ 208 | $else$ 209 | \makeatletter 210 | \@ifundefined{KOMAClassName}{% if non-KOMA class 211 | \IfFileExists{parskip.sty}{% 212 | \usepackage{parskip} 213 | }{% else 214 | \setlength{\parindent}{0pt} 215 | \setlength{\parskip}{6pt plus 2pt minus 1pt}} 216 | }{% if KOMA class 217 | \KOMAoptions{parskip=half}} 218 | \makeatother 219 | $endif$ 220 | $if(verbatim-in-note)$ 221 | \usepackage{fancyvrb} 222 | $endif$ 223 | \usepackage{xcolor} 224 | \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available 225 | \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} 226 | \hypersetup{ 227 | $if(title-meta)$ 228 | pdftitle={$title-meta$}, 229 | $endif$ 230 | $if(author-meta)$ 231 | pdfauthor={$author-meta$}, 232 | $endif$ 233 | $if(lang)$ 234 | pdflang={$lang$}, 235 | $endif$ 236 | $if(subject)$ 237 | pdfsubject={$subject$}, 238 | $endif$ 239 | $if(keywords)$ 240 | pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, 241 | $endif$ 242 | $if(colorlinks)$ 243 | colorlinks=true, 244 | linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, 245 | filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$, 246 | citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, 247 | urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, 248 | $else$ 249 | hidelinks, 250 | $endif$ 251 | pdfcreator={LaTeX via pandoc}} 252 | \urlstyle{same} % disable monospaced font for URLs 253 | $if(verbatim-in-note)$ 254 | \VerbatimFootnotes % allow verbatim text in footnotes 255 | $endif$ 256 | $if(geometry)$ 257 | $if(beamer)$ 258 | \geometry{$for(geometry)$$geometry$$sep$,$endfor$} 259 | $else$ 260 | \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} 261 | $endif$ 262 | $endif$ 263 | $if(beamer)$ 264 | \newif\ifbibliography 265 | $endif$ 266 | $if(listings)$ 267 | \usepackage{listings} 268 | \newcommand{\passthrough}[1]{#1} 269 | \lstset{defaultdialect=[5.3]Lua} 270 | \lstset{defaultdialect=[x86masm]Assembler} 271 | $endif$ 272 | $if(lhs)$ 273 | \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} 274 | $endif$ 275 | $if(highlighting-macros)$ 276 | $highlighting-macros$ 277 | $endif$ 278 | $if(tables)$ 279 | \usepackage{longtable,booktabs} 280 | $if(beamer)$ 281 | \usepackage{caption} 282 | % Make caption package work with longtable 283 | \makeatletter 284 | \def\fnum@table{\tablename~\thetable} 285 | \makeatother 286 | $else$ 287 | % Correct order of tables after \paragraph or \subparagraph 288 | \usepackage{etoolbox} 289 | \makeatletter 290 | \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} 291 | \makeatother 292 | % Allow footnotes in longtable head/foot 293 | \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} 294 | \makesavenoteenv{longtable} 295 | $endif$ 296 | $endif$ 297 | $if(graphics)$ 298 | \usepackage{graphicx} 299 | \makeatletter 300 | \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} 301 | \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} 302 | \makeatother 303 | % Scale images if necessary, so that they will not overflow the page 304 | % margins by default, and it is still possible to overwrite the defaults 305 | % using explicit options in \includegraphics[width, height, ...]{} 306 | \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} 307 | % Set default figure placement to htbp 308 | \makeatletter 309 | \def\fps@figure{htbp} 310 | \makeatother 311 | $endif$ 312 | $if(links-as-notes)$ 313 | % Make links footnotes instead of hotlinks: 314 | \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} 315 | $endif$ 316 | $if(strikeout)$ 317 | \usepackage[normalem]{ulem} 318 | % Avoid problems with \sout in headers with hyperref 319 | \pdfstringdefDisableCommands{\renewcommand{\sout}{}} 320 | $endif$ 321 | \setlength{\emergencystretch}{3em} % prevent overfull lines 322 | \providecommand{\tightlist}{% 323 | \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} 324 | $if(numbersections)$ 325 | \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} 326 | $else$ 327 | \setcounter{secnumdepth}{-\maxdimen} % remove section numbering 328 | $endif$ 329 | $if(beamer)$ 330 | $else$ 331 | $if(block-headings)$ 332 | % Make \paragraph and \subparagraph free-standing 333 | \ifx\paragraph\undefined\else 334 | \let\oldparagraph\paragraph 335 | \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} 336 | \fi 337 | \ifx\subparagraph\undefined\else 338 | \let\oldsubparagraph\subparagraph 339 | \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} 340 | \fi 341 | $endif$ 342 | $endif$ 343 | $if(pagestyle)$ 344 | \pagestyle{$pagestyle$} 345 | $endif$ 346 | $for(header-includes)$ 347 | $header-includes$ 348 | $endfor$ 349 | $if(lang)$ 350 | \ifxetex 351 | % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) 352 | \usepackage{polyglossia} 353 | \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} 354 | $for(polyglossia-otherlangs)$ 355 | \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} 356 | $endfor$ 357 | \else 358 | \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} 359 | $if(babel-newcommands)$ 360 | $babel-newcommands$ 361 | $endif$ 362 | \fi 363 | $endif$ 364 | $if(dir)$ 365 | \ifxetex 366 | % Load bidi as late as possible as it modifies e.g. graphicx 367 | \usepackage{bidi} 368 | \fi 369 | \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex 370 | \TeXXeTstate=1 371 | \newcommand{\RL}[1]{\beginR #1\endR} 372 | \newcommand{\LR}[1]{\beginL #1\endL} 373 | \newenvironment{RTL}{\beginR}{\endR} 374 | \newenvironment{LTR}{\beginL}{\endL} 375 | \fi 376 | $endif$ 377 | $if(natbib)$ 378 | \usepackage[$natbiboptions$]{natbib} 379 | \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} 380 | $endif$ 381 | $if(biblatex)$ 382 | \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} 383 | $for(bibliography)$ 384 | \addbibresource{$bibliography$} 385 | $endfor$ 386 | $endif$ 387 | $if(csl-refs)$ 388 | \newlength{\cslhangindent} 389 | \setlength{\cslhangindent}{1.5em} 390 | \newenvironment{cslreferences}% 391 | {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}% 392 | \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% 393 | {\par} 394 | $endif$ 395 | 396 | $if(title)$ 397 | \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} 398 | $endif$ 399 | $if(subtitle)$ 400 | $if(beamer)$ 401 | $else$ 402 | \usepackage{etoolbox} 403 | \makeatletter 404 | \providecommand{\subtitle}[1]{% add subtitle to \maketitle 405 | \apptocmd{\@title}{\par {\large #1 \par}}{}{} 406 | } 407 | \makeatother 408 | $endif$ 409 | \subtitle{$subtitle$} 410 | $endif$ 411 | $if(author)$ 412 | \author{$for(author)$$author$$sep$ \and $endfor$} 413 | $endif$ 414 | \date{$date$} 415 | $if(beamer)$ 416 | $if(institute)$ 417 | \institute{$for(institute)$$institute$$sep$ \and $endfor$} 418 | $endif$ 419 | $if(titlegraphic)$ 420 | \titlegraphic{\includegraphics{$titlegraphic$}} 421 | $endif$ 422 | $if(logo)$ 423 | \logo{\includegraphics[width=2.5cm,scale=2.5]{$logo$}} 424 | $endif$ 425 | $endif$ 426 | 427 | \begin{document} 428 | $if(has-frontmatter)$ 429 | \frontmatter 430 | $endif$ 431 | $if(title)$ 432 | $if(beamer)$ 433 | \frame{\titlepage} 434 | $else$ 435 | \maketitle 436 | $endif$ 437 | $if(abstract)$ 438 | \begin{abstract} 439 | $abstract$ 440 | \end{abstract} 441 | $endif$ 442 | $endif$ 443 | 444 | $for(include-before)$ 445 | $include-before$ 446 | 447 | $endfor$ 448 | $if(toc)$ 449 | $if(toc-title)$ 450 | \renewcommand*\contentsname{$toc-title$} 451 | $endif$ 452 | $if(beamer)$ 453 | \begin{frame}[allowframebreaks] 454 | $if(toc-title)$ 455 | \frametitle{$toc-title$} 456 | $endif$ 457 | \tableofcontents[hideallsubsections] 458 | \end{frame} 459 | $else$ 460 | { 461 | $if(colorlinks)$ 462 | \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} 463 | $endif$ 464 | \setcounter{tocdepth}{$toc-depth$} 465 | \tableofcontents 466 | } 467 | $endif$ 468 | $endif$ 469 | $if(lot)$ 470 | \listoftables 471 | $endif$ 472 | $if(lof)$ 473 | \listoffigures 474 | $endif$ 475 | $if(linestretch)$ 476 | \setstretch{$linestretch$} 477 | $endif$ 478 | $if(has-frontmatter)$ 479 | \mainmatter 480 | $endif$ 481 | $body$ 482 | 483 | $if(has-frontmatter)$ 484 | \backmatter 485 | $endif$ 486 | $if(natbib)$ 487 | $if(bibliography)$ 488 | $if(biblio-title)$ 489 | $if(has-chapters)$ 490 | \renewcommand\bibname{$biblio-title$} 491 | $else$ 492 | \renewcommand\refname{$biblio-title$} 493 | $endif$ 494 | $endif$ 495 | $if(beamer)$ 496 | \begin{frame}[allowframebreaks]{$biblio-title$} 497 | \bibliographytrue 498 | $endif$ 499 | \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} 500 | $if(beamer)$ 501 | \end{frame} 502 | $endif$ 503 | 504 | $endif$ 505 | $endif$ 506 | $if(biblatex)$ 507 | $if(beamer)$ 508 | \begin{frame}[allowframebreaks]{$biblio-title$} 509 | \bibliographytrue 510 | \printbibliography[heading=none] 511 | \end{frame} 512 | $else$ 513 | \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ 514 | $endif$ 515 | 516 | $endif$ 517 | $for(include-after)$ 518 | $include-after$ 519 | 520 | $endfor$ 521 | \end{document} 522 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/.gitignore: -------------------------------------------------------------------------------- 1 | *.pdf 2 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | pandoc \ 3 | -t beamer \ 4 | --pdf-engine=xelatex \ 5 | --template=template.latex \ 6 | -fmarkdown-implicit_figures \ 7 | -V fontfamily="sourcesanspro" \ 8 | -V titlegraphic="img/pslab.png" \ 9 | -V logo="img/logo.png" \ 10 | -V classoption:aspectratio=169 \ 11 | -V geometry:"hmargin=1.85cm, nomarginpar" \ 12 | -o slides.pdf \ 13 | slides.md 14 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/README.md: -------------------------------------------------------------------------------- 1 | # PSLab at Open Up Summit 2020 2 | 3 | This presentation was given at [Open UP Summit](https://www.openup.global/). 4 | See also the [abstract](abstract.md). 5 | 6 | ## Building the slides 7 | 8 | To build the slides, you will need [Pandoc](https://pandoc.org/) and the Source 9 | Sans Pro font. Just run `make` to build them. If you don't have the font, you 10 | can remove the respective line from the `Makefile`, or just rewrite it / pick up 11 | the command from there and adjust it if you have a different environment. 12 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/abstract.md: -------------------------------------------------------------------------------- 1 | ## PSLab - A Full-stack Open Experimentation Kit 2 | 3 | PSLab (pslab.io) is open hardware, firmware, and software, including tutorials 4 | and documentation with apps for both desktop and mobile phones. 5 | This presentation gives a rough overview of what the device offers, the overall 6 | architecture and stack, and where the project currently is in terms of 7 | development. 8 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/logo.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/pslab-android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/pslab-android.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/pslab-board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/pslab-board.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/pslab-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/pslab-desktop.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/pslab-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/pslab-stack.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/img/pslab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/fossasia-presentations/21690d2e60ac28fbbef5c5b22712b57ae8283ecb/pslab-open-up-summit-2020/img/pslab.png -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/res/open-up-summit-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/slides.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Daniel Maslowski 3 | title: PSLab 4 | subtitle: A Full-stack Open Experimentation Kit 5 | --- 6 | 7 | ## Agenda 8 | 9 | - Introduction and Hardware 10 | - Apps and Features 11 | - Stack and Architecture 12 | - State of Development 13 | 14 | # Introduction and Hardware 15 | 16 | ## What is PSLab? 17 | 18 | - open hardware: schematics are fully available 19 | - open firmware: sources created with MPLab IDE[^1] fully available 20 | - open software: libs and apps for both desktop and mobile phones 21 | - open tutorials: lots of ideas for experimentation 22 | - open documentation: everything you need to build your own from scratch 23 | 24 | [^1]: unfortunately, the [IDE and toolchains are not fully open and restricted](https://www.microchip.com/mplab/compilers) 25 | 26 | ## PSLab Board 27 | 28 | Microcontroller: [PIC24EP256GP204](http://www.microchip.com/wwwproducts/en/PIC24EP256GP204) 29 | 30 | ![PSLab Board](img/pslab-board.png) 31 | 32 | [https://github.com/fossasia/pslab-hardware](https://github.com/fossasia/pslab-hardware) 33 | 34 | # Apps and Features 35 | 36 | ## Android 37 | 38 | ![PSLab Android app](img/pslab-android.png){ height=85% } 39 | 40 | ## Desktop 41 | 42 | ![PSLab desktop app](img/pslab-desktop.png) 43 | 44 | # Stack and Architecture 45 | 46 | ## PSLab Desktop Stack 47 | 48 | ![PSLab stack](img/pslab-stack.png){ height=90% } 49 | 50 | ## PSLab Desktop Stack and Features 51 | 52 | ### firmware offers a simple protocol allowing for programmatic access 53 | 54 | - offload to advanced peripherals 55 | - control from host machine 56 | 57 | ### Python library running on desktop grants powerful scripting 58 | 59 | - write small scripts for direct I2C data dumps, logic analyzer output etc 60 | - quick experimentation with sensors and actors 61 | 62 | ### desktop app has a rich UI, using the Python library under the hood 63 | 64 | - direct GUI access to oscilloscope, logic analyzer, multimeter etc 65 | - data logging to CSV for further analysis 66 | 67 | # State of Development 68 | 69 | ## Current Efforts 70 | 71 | - hardware revision with USB-C, UART separation, RTC, SD card reader and more 72 | - refactoring the Python library and simplifying its APIs 73 | - implementing I2C proximity sensor 74 | - adding more features to the desktop app 75 | - improving the documentation (you can't have enough of it!) 76 | 77 | ## Open Issues 78 | 79 | - bootloader for firmware upgrades 80 | - research in more sensors to interface with, e.g., CCD 81 | - setting up a lab of PSLab boards with remote access 82 | - autonomous data logging, e.g., to an SD card 83 | 84 | # Thanks! :) 85 | 86 | ## Special Thanks and Shout-outs 87 | 88 | - Jithin B. P. for the original idea and design 89 | - Padmal for all the further work on the hardware and firmware 90 | - Aakash Mallik for the amazing architecture of the desktop app 91 | - Alexander Bessman for huge improvements in the Python library 92 | - Christopher Byrd for pushing the documentation forward 93 | - Hong Phuc Dang, Mario Behling and the whole FOSSASIA community :) 94 | 95 | ... and to Open UP Summit! \\o/ 96 | 97 | [https://pslab.io](https://pslab.io) 98 | -------------------------------------------------------------------------------- /pslab-open-up-summit-2020/template.latex: -------------------------------------------------------------------------------- 1 | % Options for packages loaded elsewhere 2 | \PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} 3 | \PassOptionsToPackage{hyphens}{url} 4 | $if(colorlinks)$ 5 | \PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor} 6 | $endif$ 7 | $if(dir)$ 8 | $if(latex-dir-rtl)$ 9 | \PassOptionsToPackage{RTLdocument}{bidi} 10 | $endif$ 11 | $endif$ 12 | $if(CJKmainfont)$ 13 | \PassOptionsToPackage{space}{xeCJK} 14 | $endif$ 15 | % 16 | \documentclass[ 17 | $if(fontsize)$ 18 | $fontsize$, 19 | $endif$ 20 | $if(lang)$ 21 | $babel-lang$, 22 | $endif$ 23 | $if(papersize)$ 24 | $papersize$paper, 25 | $endif$ 26 | $if(beamer)$ 27 | ignorenonframetext, 28 | $if(handout)$ 29 | handout, 30 | $endif$ 31 | $if(aspectratio)$ 32 | aspectratio=$aspectratio$, 33 | $endif$ 34 | $endif$ 35 | $for(classoption)$ 36 | $classoption$$sep$, 37 | $endfor$ 38 | ]{$documentclass$} 39 | $if(beamer)$ 40 | $if(background-image)$ 41 | \usebackgroundtemplate{% 42 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image$}% 43 | } 44 | $endif$ 45 | $if(background-image1)$ 46 | \usebackgroundtemplate{% 47 | \ifodd\insertframenumber {% 48 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image1$}% 49 | } 50 | \else {% 51 | \includegraphics[width=\paperwidth,height=\paperheight]{$background-image2$}% 52 | } 53 | \fi 54 | } 55 | $endif$ 56 | \usepackage{pgfpages} 57 | \definecolor{color1}{RGB}{68, 68, 68} 58 | \definecolor{color2}{RGB}{125, 125, 121} 59 | \definecolor{color3}{RGB}{23, 150, 238} 60 | \setbeamertemplate{caption}[numbered] 61 | \setbeamertemplate{caption label separator}{: } 62 | \setbeamercolor{titlelike}{fg=color1} 63 | \setbeamercolor{normal text}{fg=color1} 64 | \setbeamercolor{item}{fg=color3} 65 | \setbeamercolor{frametitle continuation}{fg=color2} 66 | \setbeamercolor{framesubtitle}{fg=color2} 67 | \setbeamercolor{block title}{fg=color2} 68 | \setbeamercolor{subtitle}{fg=color2} 69 | \beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ 70 | $for(beameroption)$ 71 | \setbeameroption{$beameroption$} 72 | $endfor$ 73 | % Prevent slide breaks in the middle of a paragraph 74 | \widowpenalties 1 10000 75 | \raggedbottom 76 | $if(section-titles)$ 77 | \setbeamertemplate{part page}{ 78 | \centering 79 | \begin{beamercolorbox}[sep=16pt,center]{part title} 80 | \usebeamerfont{part title}\insertpart\par 81 | \end{beamercolorbox} 82 | } 83 | \setbeamertemplate{section page}{ 84 | \centering 85 | \begin{beamercolorbox}[sep=12pt,center]{part title} 86 | \usebeamerfont{section title}\insertsection\par 87 | \end{beamercolorbox} 88 | } 89 | \setbeamertemplate{subsection page}{ 90 | \centering 91 | \begin{beamercolorbox}[sep=8pt,center]{part title} 92 | \usebeamerfont{subsection title}\insertsubsection\par 93 | \end{beamercolorbox} 94 | } 95 | \AtBeginPart{ 96 | \frame{\partpage} 97 | } 98 | \AtBeginSection{ 99 | \ifbibliography 100 | \else 101 | \frame{\sectionpage} 102 | \fi 103 | } 104 | \AtBeginSubsection{ 105 | \frame{\subsectionpage} 106 | } 107 | $endif$ 108 | $endif$ 109 | $if(beamerarticle)$ 110 | \usepackage{beamerarticle} % needs to be loaded first 111 | $endif$ 112 | $if(fontfamily)$ 113 | \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} 114 | \usepackage{fontspec} 115 | $else$ 116 | \usepackage{lmodern} 117 | $endif$ 118 | $if(linestretch)$ 119 | \usepackage{setspace} 120 | $endif$ 121 | \usepackage{amssymb,amsmath} 122 | \usepackage{ifxetex,ifluatex} 123 | \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex 124 | \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} 125 | \usepackage[utf8]{inputenc} 126 | \usepackage{textcomp} % provide euro and other symbols 127 | \else % if luatex or xetex 128 | $if(mathspec)$ 129 | \ifxetex 130 | \usepackage{mathspec} 131 | \else 132 | \usepackage{unicode-math} 133 | \fi 134 | $else$ 135 | \usepackage{unicode-math} 136 | $endif$ 137 | \defaultfontfeatures{Scale=MatchLowercase} 138 | \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} 139 | $if(mainfont)$ 140 | \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} 141 | $endif$ 142 | $if(sansfont)$ 143 | \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} 144 | $endif$ 145 | $if(monofont)$ 146 | \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} 147 | $endif$ 148 | $for(fontfamilies)$ 149 | \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} 150 | $endfor$ 151 | $if(mathfont)$ 152 | $if(mathspec)$ 153 | \ifxetex 154 | \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 155 | \else 156 | \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 157 | \fi 158 | $else$ 159 | \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} 160 | $endif$ 161 | $endif$ 162 | $if(CJKmainfont)$ 163 | \ifxetex 164 | \usepackage{xeCJK} 165 | \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} 166 | \fi 167 | $endif$ 168 | $if(luatexjapresetoptions)$ 169 | \ifluatex 170 | \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} 171 | \fi 172 | $endif$ 173 | $if(CJKmainfont)$ 174 | \ifluatex 175 | \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} 176 | \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} 177 | \fi 178 | $endif$ 179 | \fi 180 | $if(beamer)$ 181 | $if(theme)$ 182 | \usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} 183 | $endif$ 184 | $if(colortheme)$ 185 | \usecolortheme{$colortheme$} 186 | $endif$ 187 | $if(fonttheme)$ 188 | \usefonttheme{$fonttheme$} 189 | $endif$ 190 | $if(mainfont)$ 191 | \usefonttheme{serif} % use mainfont rather than sansfont for slide text 192 | $endif$ 193 | $if(innertheme)$ 194 | \useinnertheme{$innertheme$} 195 | $endif$ 196 | $if(outertheme)$ 197 | \useoutertheme{$outertheme$} 198 | $endif$ 199 | $endif$ 200 | % Use upquote if available, for straight quotes in verbatim environments 201 | \IfFileExists{upquote.sty}{\usepackage{upquote}}{} 202 | \IfFileExists{microtype.sty}{% use microtype if available 203 | \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} 204 | \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts 205 | }{} 206 | $if(indent)$ 207 | $else$ 208 | \makeatletter 209 | \@ifundefined{KOMAClassName}{% if non-KOMA class 210 | \IfFileExists{parskip.sty}{% 211 | \usepackage{parskip} 212 | }{% else 213 | \setlength{\parindent}{0pt} 214 | \setlength{\parskip}{6pt plus 2pt minus 1pt}} 215 | }{% if KOMA class 216 | \KOMAoptions{parskip=half}} 217 | \makeatother 218 | $endif$ 219 | $if(verbatim-in-note)$ 220 | \usepackage{fancyvrb} 221 | $endif$ 222 | \usepackage{xcolor} 223 | \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available 224 | \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} 225 | \hypersetup{ 226 | $if(title-meta)$ 227 | pdftitle={$title-meta$}, 228 | $endif$ 229 | $if(author-meta)$ 230 | pdfauthor={$author-meta$}, 231 | $endif$ 232 | $if(lang)$ 233 | pdflang={$lang$}, 234 | $endif$ 235 | $if(subject)$ 236 | pdfsubject={$subject$}, 237 | $endif$ 238 | $if(keywords)$ 239 | pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, 240 | $endif$ 241 | $if(colorlinks)$ 242 | colorlinks=true, 243 | linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, 244 | filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$, 245 | citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, 246 | urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, 247 | $else$ 248 | hidelinks, 249 | $endif$ 250 | pdfcreator={LaTeX via pandoc}} 251 | \urlstyle{same} % disable monospaced font for URLs 252 | $if(verbatim-in-note)$ 253 | \VerbatimFootnotes % allow verbatim text in footnotes 254 | $endif$ 255 | $if(geometry)$ 256 | $if(beamer)$ 257 | \geometry{$for(geometry)$$geometry$$sep$,$endfor$} 258 | $else$ 259 | \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} 260 | $endif$ 261 | $endif$ 262 | $if(beamer)$ 263 | \newif\ifbibliography 264 | $endif$ 265 | $if(listings)$ 266 | \usepackage{listings} 267 | \newcommand{\passthrough}[1]{#1} 268 | \lstset{defaultdialect=[5.3]Lua} 269 | \lstset{defaultdialect=[x86masm]Assembler} 270 | $endif$ 271 | $if(lhs)$ 272 | \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} 273 | $endif$ 274 | $if(highlighting-macros)$ 275 | $highlighting-macros$ 276 | $endif$ 277 | $if(tables)$ 278 | \usepackage{longtable,booktabs} 279 | $if(beamer)$ 280 | \usepackage{caption} 281 | % Make caption package work with longtable 282 | \makeatletter 283 | \def\fnum@table{\tablename~\thetable} 284 | \makeatother 285 | $else$ 286 | % Correct order of tables after \paragraph or \subparagraph 287 | \usepackage{etoolbox} 288 | \makeatletter 289 | \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} 290 | \makeatother 291 | % Allow footnotes in longtable head/foot 292 | \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} 293 | \makesavenoteenv{longtable} 294 | $endif$ 295 | $endif$ 296 | $if(graphics)$ 297 | \usepackage{graphicx} 298 | \makeatletter 299 | \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} 300 | \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} 301 | \makeatother 302 | % Scale images if necessary, so that they will not overflow the page 303 | % margins by default, and it is still possible to overwrite the defaults 304 | % using explicit options in \includegraphics[width, height, ...]{} 305 | \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} 306 | % Set default figure placement to htbp 307 | \makeatletter 308 | \def\fps@figure{htbp} 309 | \makeatother 310 | $endif$ 311 | $if(links-as-notes)$ 312 | % Make links footnotes instead of hotlinks: 313 | \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} 314 | $endif$ 315 | $if(strikeout)$ 316 | \usepackage[normalem]{ulem} 317 | % Avoid problems with \sout in headers with hyperref 318 | \pdfstringdefDisableCommands{\renewcommand{\sout}{}} 319 | $endif$ 320 | \setlength{\emergencystretch}{3em} % prevent overfull lines 321 | \providecommand{\tightlist}{% 322 | \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} 323 | $if(numbersections)$ 324 | \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} 325 | $else$ 326 | \setcounter{secnumdepth}{-\maxdimen} % remove section numbering 327 | $endif$ 328 | $if(beamer)$ 329 | $else$ 330 | $if(block-headings)$ 331 | % Make \paragraph and \subparagraph free-standing 332 | \ifx\paragraph\undefined\else 333 | \let\oldparagraph\paragraph 334 | \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} 335 | \fi 336 | \ifx\subparagraph\undefined\else 337 | \let\oldsubparagraph\subparagraph 338 | \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} 339 | \fi 340 | $endif$ 341 | $endif$ 342 | $if(pagestyle)$ 343 | \pagestyle{$pagestyle$} 344 | $endif$ 345 | $for(header-includes)$ 346 | $header-includes$ 347 | $endfor$ 348 | $if(lang)$ 349 | \ifxetex 350 | % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) 351 | \usepackage{polyglossia} 352 | \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} 353 | $for(polyglossia-otherlangs)$ 354 | \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} 355 | $endfor$ 356 | \else 357 | \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} 358 | $if(babel-newcommands)$ 359 | $babel-newcommands$ 360 | $endif$ 361 | \fi 362 | $endif$ 363 | $if(dir)$ 364 | \ifxetex 365 | % Load bidi as late as possible as it modifies e.g. graphicx 366 | \usepackage{bidi} 367 | \fi 368 | \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex 369 | \TeXXeTstate=1 370 | \newcommand{\RL}[1]{\beginR #1\endR} 371 | \newcommand{\LR}[1]{\beginL #1\endL} 372 | \newenvironment{RTL}{\beginR}{\endR} 373 | \newenvironment{LTR}{\beginL}{\endL} 374 | \fi 375 | $endif$ 376 | $if(natbib)$ 377 | \usepackage[$natbiboptions$]{natbib} 378 | \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} 379 | $endif$ 380 | $if(biblatex)$ 381 | \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} 382 | $for(bibliography)$ 383 | \addbibresource{$bibliography$} 384 | $endfor$ 385 | $endif$ 386 | $if(csl-refs)$ 387 | \newlength{\cslhangindent} 388 | \setlength{\cslhangindent}{1.5em} 389 | \newenvironment{cslreferences}% 390 | {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}% 391 | \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% 392 | {\par} 393 | $endif$ 394 | 395 | $if(title)$ 396 | \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} 397 | $endif$ 398 | $if(subtitle)$ 399 | $if(beamer)$ 400 | $else$ 401 | \usepackage{etoolbox} 402 | \makeatletter 403 | \providecommand{\subtitle}[1]{% add subtitle to \maketitle 404 | \apptocmd{\@title}{\par {\large #1 \par}}{}{} 405 | } 406 | \makeatother 407 | $endif$ 408 | \subtitle{$subtitle$} 409 | $endif$ 410 | $if(author)$ 411 | \author{$for(author)$$author$$sep$ \and $endfor$} 412 | $endif$ 413 | \date{$date$} 414 | $if(beamer)$ 415 | $if(institute)$ 416 | \institute{$for(institute)$$institute$$sep$ \and $endfor$} 417 | $endif$ 418 | $if(titlegraphic)$ 419 | \titlegraphic{\includegraphics[scale=0.6]{$titlegraphic$}} 420 | $endif$ 421 | $if(logo)$ 422 | \logo{\includegraphics[width=2.5cm,scale=2.5]{$logo$}} 423 | $endif$ 424 | $endif$ 425 | 426 | \begin{document} 427 | $if(has-frontmatter)$ 428 | \frontmatter 429 | $endif$ 430 | $if(title)$ 431 | $if(beamer)$ 432 | \frame{\titlepage} 433 | $else$ 434 | \maketitle 435 | $endif$ 436 | $if(abstract)$ 437 | \begin{abstract} 438 | $abstract$ 439 | \end{abstract} 440 | $endif$ 441 | $endif$ 442 | 443 | $for(include-before)$ 444 | $include-before$ 445 | 446 | $endfor$ 447 | $if(toc)$ 448 | $if(toc-title)$ 449 | \renewcommand*\contentsname{$toc-title$} 450 | $endif$ 451 | $if(beamer)$ 452 | \begin{frame}[allowframebreaks] 453 | $if(toc-title)$ 454 | \frametitle{$toc-title$} 455 | $endif$ 456 | \tableofcontents[hideallsubsections] 457 | \end{frame} 458 | $else$ 459 | { 460 | $if(colorlinks)$ 461 | \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} 462 | $endif$ 463 | \setcounter{tocdepth}{$toc-depth$} 464 | \tableofcontents 465 | } 466 | $endif$ 467 | $endif$ 468 | $if(lot)$ 469 | \listoftables 470 | $endif$ 471 | $if(lof)$ 472 | \listoffigures 473 | $endif$ 474 | $if(linestretch)$ 475 | \setstretch{$linestretch$} 476 | $endif$ 477 | $if(has-frontmatter)$ 478 | \mainmatter 479 | $endif$ 480 | $body$ 481 | 482 | $if(has-frontmatter)$ 483 | \backmatter 484 | $endif$ 485 | $if(natbib)$ 486 | $if(bibliography)$ 487 | $if(biblio-title)$ 488 | $if(has-chapters)$ 489 | \renewcommand\bibname{$biblio-title$} 490 | $else$ 491 | \renewcommand\refname{$biblio-title$} 492 | $endif$ 493 | $endif$ 494 | $if(beamer)$ 495 | \begin{frame}[allowframebreaks]{$biblio-title$} 496 | \bibliographytrue 497 | $endif$ 498 | \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} 499 | $if(beamer)$ 500 | \end{frame} 501 | $endif$ 502 | 503 | $endif$ 504 | $endif$ 505 | $if(biblatex)$ 506 | $if(beamer)$ 507 | \begin{frame}[allowframebreaks]{$biblio-title$} 508 | \bibliographytrue 509 | \printbibliography[heading=none] 510 | \end{frame} 511 | $else$ 512 | \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ 513 | $endif$ 514 | 515 | $endif$ 516 | $for(include-after)$ 517 | $include-after$ 518 | 519 | $endfor$ 520 | \end{document} 521 | -------------------------------------------------------------------------------- /res/FOSSASIA_Logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 30 | 31 | 53 | 60 | 61 | 63 | 64 | 66 | image/svg+xml 67 | 69 | 70 | 71 | 72 | 73 | 78 | 132 | 136 | 140 | 144 | 148 | 152 | 153 | 156 | 160 | 164 | 168 | 172 | 173 | 174 | 175 | 176 | --------------------------------------------------------------------------------