updates
[martlubbers.net.git] / index.html
index e9f1620..7498874 100644 (file)
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<!DOCTYPE html>
+<html lang="en">
        <head>
                <title>Mart Lubbers' Site</title>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                <meta name="viewport" content="width=device-width, initial-scale=1" />
-               <link rel="stylesheet" type="text/css" href="m.css" />
+               <style>
+                       td {
+                               vertical-align: top;
+                       }       
+                       th {
+                               text-align: left;
+                       }
+               </style>
        </head>
        <body>
-               <h2>Mart Lubbers</h2>
+               <header>
+                       <h1>Mart Lubbers</h1>
+                       <p>
+                       <a href="./p.jpg"><img src="./psmall.jpg" alt="A photo of Mart Lubbers." /></a><br />
+                       PhD candidate at the <a href="https://cs.ru.nl">Institute of Computing and Information Sciences</a> (<a href="https://ru.nl">Radboud University</a>)<br />
+                       <span style="font-family:monospace">mart@martlubbers.net</span> (GPG: <a href="http://martlubbers.net/mart@martlubbers.net.asc" title="Fingerprint: 74FF FBF1 4758 273B 2F56  A30C A937 B7A1 AD3F EBE7" style="font-family:monospace">AD3FEBE7</a>)<br />
+                       <span style="font-family:monospace">mart@cs.ru.nl</span><br />
+                       </p>
+
+                       <nav>
+                               <h2>Table of contents</h2>
+                               <ul>
+                                       <li><a href="#work">Work</a></li>
+                                       <li><a href="#publications">Publications</a>
+                                               <ul>
+                                                       <li><a href="#peer">Peer reviewed</a></li>
+                                                       <li><a href="#student">Student supervision</a></li>
+                                                       <li><a href="#theses">Theses</a></li>
+                                                       <li><a href="#posters">Posters</a></li>
+                                               </ul>
+                                       </li>
+                                       <li><a href="#teaching">Teaching</a></li>
+                                       <li><a href="#talks">Talks</a></li>
+                                       <li><a href="#other">Other</a>
+                                               <ul>
+                                                       <li><a href="#software">Software, libraries and projects</a></li>
+                                                       <li><a href="#tutorials">Tutorials and manuals</a></li>
+                                                       <li><a href="#interests">Interests</a></li>
+                                                       <li><a href="#archive">Archive</a></li>
+                                               </ul>
+                                       </li>
+                               </ul>
+                       </nav>
+               </header>
+               
+               <h2 id="work">Work</h2>
                <table>
                        <tr>
-                               <td><img src="./p.jpg" width="120" alt="Photo" /></td>
+                               <th>From</th>
+                               <th>Till</th>
+                               <th>Function</th>
+                       </tr>
+                       <tr>
+                               <td>2018-06</td>
+                               <td></td>
+                               <td>
+                                       PhD candidate at the RU
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>2018-02</td>
+                               <td>2018-05</td>
+                               <td>
+                                       Researcher at the <a href="https://ru.nl">RU</a>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>2017-09</td>
+                               <td>2017-12</td>
                                <td>
-                                       <table>
-                                               <tr><td>Master Student</td></tr>
-                                               <tr><td>Computing Science: Software Science</td></tr>
-                                               <tr><td>Radboud University</td></tr>
-                                               <tr><td><tt>mart@martlubbers.net</tt></td></tr>
-                                               <tr><td>GPG ID: <a href="http://martlubbers.net/mart@martlubbers.net.asc" title="Fingerprint: 74FF FBF1 4758 273B 2F56  A30C A937 B7A1 AD3F EBE7">AD3FEBE7</a></td></tr>
-                                               <tr><td><a href="http://www.linkedin.com/pub/mart-lubbers/1b/76a/763">LinkedIn</a></td></tr>
-                                               <tr><td><a href="https://github.com/dopefishh">Github</a></td></tr>
-                                       </table>
+                                       Researcher/Teacher at the <a href="https://www.defensie.nl/onderwerpen/defensieacademie">NLDA</a>
                                </td>
                        </tr>
+                       <tr>
+                               <td>2017-07</td>
+                               <td>2017-12</td>
+                               <td>
+                                       Programmer for <a href="http://www.wi-sense.nl/">Wi-Sense</a>.
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>2016-02</td>
+                               <td>2017-07</td>
+                               <td>
+                                       Student assistant at the Radboud University:<br />
+                                       2016/2017: Functional Programming 1<br />
+                                       2015/2016: Functional Programming 1, Functional Programming 2, Web Security<br />
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>2015-04</td>
+                               <td>2017-06</td>
+                               <td>Owner of ITLubbers.</td>
+                       </tr>
+                       <tr>
+                               <td>2013-06</td>
+                               <td>2015-12</td>
+                               <td>Student Assistant at <a href="http://www.mpi.nl/">Max Planck Institute for Psycholinguistics</a>
+                                       Processing and collecting data and developing software in the <a href="http://www.mpi.nl/departments/language-and-cognition">LaC</a> department.</td>
+                       </tr>
+                       <tr>
+                               <td>2012-03</td>
+                               <td>2013-08</td>
+                               <td>Student at <a href="http://www.studentaanhuis.nl">Studentaanhuis.nl</a></td>
+                       </tr>
                </table>
-               
-               <h3>Work</h3>
-               <p>Student Assistant at <a href="http://www.mpi.nl/">Max Planck Institute for Psycholinguistics</a> in the <a href="http://www.mpi.nl/departments/language-and-cognition">Language and Cognition department</a>.</p>
-               <p>Owner of ITLubbers. A company Mart started to help companies with software and hardware development.</p>
 
-               <h3>Publications</h3>
-               <p>Schuerman, W., Torreira, F., &amp; Lubbers, Mart. (2015). Praatalign: Phonetic Alignment Made Easier For Psycholinguistic Data Processing. Architectures and Mechanisms for Language Processing, 92.</p>
+               <h2 id="publications">Publications</h2>
+               <h3 id="peer">Peer reviewed</h3>
+               <ul>
+                       <li>
+                               M. Lubbers, P. Koopman, A. Ramsingh, J. Singer, and P. Trinder, “Tiered versus Tierless IoT Stacks: Comparing Smart Campus Software Architectures,” in Proceedings of the 10th International Conference on the Internet of Things, Malmö, 2020, p. 9.
+                                       (<a href="files/iot20.pdf">pdf</a>)
+                       </li><li>
+                               M. Lubbers, P. Koopman, and R. Plasmeijer, “Interpreting Task Oriented Programs on Tiny Computers,” in Proceedings of the 31th Symposium on the Implementation and Application of Functional Programming Languages, Singapore, in-press, p. 12.
+                                       <!--(<a href="files/ifl19.pdf">pdf</a>)-->
+                       </li><li>
+                               M. Lubbers, P. Koopman, and R. Plasmeijer, “Writing Internet of Things applications with Task Oriented Programming,” in Central European Functional Programming School: 8th Summer School, CEFP 2019, Budapest, Hungary, July 17–21, 2019, Revised Selected Papers, Cham: Springer International Publishing, in-press, 2019, p. 51.
+                                       <!--(<a href="files/cefp19.pdf">pdf</a>)-->
+                       </li><li>
+                               P. Koopman, M. Lubbers, and R. Plasmeijer, “Simulation of a Task-Based Embedded Domain Specific Language for the Internet of Things,” in Central European Functional Programming School: 7th Winter School, CEFP 2018, Košice, Slovakia, January 22–26, 2018, Revised Selected Papers, Cham: Springer International Publishing, in-press, 2018, <!--p. ?-->.
+                                       <!--(<a href="files/cefp18.pdf">pdf</a>)-->
+                       </li><li>
+                               M. Lubbers, P. Koopman, and R. Plasmeijer, “Multitasking on Microcontrollers using Task Oriented Programming,” in 2019 42st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, pp. 1587-1592.
+                                       (<a href="files/3cows.pdf">pdf</a>)
+                       </li><li>
+                               M. Lubbers, P. Koopman, and R. Plasmeijer, “Task Oriented Programming and the Internet of Things,” in Proceedings of the 30th Symposium on the Implementation and Application of Functional Programming Languages, Lowell, MA, 2018, pp. 83–94.
+                                       (<a href="files/ifl18.pdf">pdf</a>)
+                       </li><li>
+                               P. Koopman, M. Lubbers, and R. Plasmeijer, “A Task-Based DSL for Microcomputers,” in Proceedings of the Real World Domain Specific Languages Workshop, 2018, pp. 1–11.
+                                       (<a href="files/rwdsl17.pdf">pdf</a>)
+                       </li>
+               </ul>
+
+               <h3 id="theses">Theses</h3>
+               <ul>
+                       <li>
+                               M. Lubbers, “Task Oriented Programming and the Internet of Things,” Master’s Thesis, Radboud University, Nijmegen, 2017.
+                                       (<a href="files/master.pdf">pdf</a>)
+                       </li><li>
+                               M. Lubbers, “Adaptable crawler specification generation system for leisure activity RSS feeds,” Bachelor's Thesis, Radboud University, Nijmegen, 2015.
+                                       (<a href="files/bachelor.pdf">pdf</a>)
+                       </li>
+               </ul>
+
+               <h3 id="student">Student supervision</h3>
+               <ul>
+                       <li>
+                               D.J.M. Artz, "Information Technology Support for the Arterial Thoracic Outlet Syndrome," Bachelor’s Thesis, Radboud University, Nijmegen, 2020
+                                       (<a href="files/artz.pdf">pdf</a>, second reader).
+                       </li><li>
+                               M.L. de Boer, "Secure Communication Channels for mTask," Bachelor’s Thesis, Radboud University, Nijmegen, 2020
+                                       (<a href="files/boer.pdf">pdf</a>, daily supervisor).
+                       </li><li>
+                               VDG W.F.T. Vos, "Draadloze prestaties van de Wemos D1 Mini V3," Bachelor’s Thesis, Netherlands Defence Academy, Den Helder, 2020
+                                       (<a href="#" title="On request">pdf</a>, client).
+                       </li><li>
+                               E. van der Veen, "Mutable Collection Types in Shallow Embedded DSLs," Master’s Thesis, Radboud University, Nijmegen, 2020
+                               (<a href="files/veen.pdf">pdf</a>, daily supervisor).
+                       </li><li>
+                               H. Böhm, “Asynchronous Actions in a Synchronous World,” Master’s Thesis, Radboud University, Nijmegen, 2019
+                                       (<a href="files/böhm.pdf">pdf</a>, daily supervisor/second reader).
+                       </li><li>
+                               M. Amazonas Cabral De Andrade, “Developing Real Life, Task Oriented Applications for the Internet of Things,” Master’s Thesis, Radboud University, Nijmegen, 2018
+                                       (<a href="files/andrade.pdf">pdf</a>, daily supervisor).
+                       </li>
+               </ul>
+
+               <h3 id="posters">Posters</h3>
+               <ul>
+                       <li>
+                               W. Schuerman, F. Torreira, and Lubbers, M, “Praatalign: Phonetic Alignment Made Easier For Psycholinguistic Data Processing,” Architectures and Mechanisms for Language Processing, p. 92, 2015.
+                               (<a href="files/amlap15.pdf">pdf</a>)
+                       </li>
+               </ul>
+
+               <h2 id="teaching">Teaching</h2>
+               <table>
+                       <tr>
+                               <th>Date</th>
+                               <th>Description</th>
+                               <th>Course</th>
+                       </tr>
+                       <tr>
+                               <td>2020/2021-Q3,Q4</td>
+                               <td>Compiler Construction (half of the lectures, orals)</td>
+                               <td>NWI-IMC004 (RU)</td>
+                       </tr>
+                       <tr>
+                               <td>2020/2021-Q1,Q2</td>
+                               <td>New Devices Lab (one lecture, practicals)</td>
+                               <td>NWI-IBC031 (RU)</td>
+                       </tr>
+                       <tr>
+                               <td>2019/2020-Q3,Q4</td>
+                               <td>Compiler Construction (half of the lectures, orals)</td>
+                               <td>NWI-IMC004 (RU)</td>
+                       </tr>
+                       <tr>
+                               <td>2019/2020-Q3</td>
+                               <td>Computers en Programmeren (support the practicals)</td>
+                               <td>TCP1 (<a href="https://www.defensie.nl/onderwerpen/defensieacademie">NLDA</a>)</td>
+                       </tr>
+                       <tr>
+                               <td>2018/2019-Q3,Q4</td>
+                               <td>Compiler Construction (half of the lectures, all seminars, orals)</td>
+                               <td>NWI-IMC004 (RU)</td>
+                       </tr>
+                       <tr>
+                               <td>2018/2019-Q1,Q2</td>
+                               <td>Advanced Functional Programming (grading and half of the seminars)</td>
+                               <td>NWI-I00032 (<a href="https://ru.nl">RU</a>)</td>
+                       </tr>
+               </table>
 
-               <h3>Teaching and talks</h3>
+               <h2 id="talks">Talks</h2>
                <table>
                        <tr>
                                <th>Date/Files</th>
                                <th>Description</th>
+                               <th>Link</th>
+                       </tr>
+                       <tr>
+                               <td>2021-04-07</td>
+                               <td>Deep Embedding with Class</td>
+                               <td><a href="https://www.sws.cs.ru.nl/SWSSeminar">SWSSeminar</a></td>
+                       </tr>
+                       <tr>
+                               <td>2021-02-17</td>
+                               <td>Asynchronous Shared Data Sources</td>
+                               <td><a href="http://tfp2021.org">TFP 2021/LambdaDays 2021</a></td>
+                       </tr>
+                       <tr>
+                               <td>2020-10-06</td>
+                               <td>Tiered versus Tierless IoT Stacks: Comparing Smart Campus Software Architectures</td>
+                               <td><a href="https://iot-conference.org/iot2020/">IoT 2020</a></td>
+                       </tr>
+                       <tr>
+                               <td>2020-09-02</td>
+                               <td>Asynchronous Shared Data Sources</td>
+                               <td><a href="https://www.cs.kent.ac.uk/events/2020/ifl20/">IFL 2020</a></td>
+                       </tr>
+                       <tr>
+                               <td>2019-11-18</td>
+                               <td>The fun of computing science: footballer brains in SoccerFun</td>
+                               <td><a href="https://www.ru.nl/opleidingen/bacheloropleidingen/open-dagen-en-studievoorlichting/proefstuderen/" title="Proefstudeermiddag">RU</a></td>
+                       </tr>
+                       <tr>
+                               <td>2019-09-25</td>
+                               <td>Interpreting Task Oriented Programs on Tiny Computers</td>
+                               <td><a href="http://2019.iflconference.org/">IFL 2019</a></td>
+                       </tr>
+                       <tr>
+                               <td>2019-07-03</td>
+                               <td>Promoveren en Functioneel Programmeren</td>
+                               <td><a href="http://helenpark.nl/De_school/Nieuws_/_Actueel/Item/Studium%20Generale%20met%20ruim%20zestig%20gastsprekers.wli">Studium Generale 2019</a></td>
+                       </tr>
+                       <tr>
+                               <td>2019-06-17</td>
+                               <td>Task Oriented Programming for the Internet of Things (lecture and practical)</td>
+                               <td><a href="https://people.inf.elte.hu/cefp">CEFP19</a></td>
                        </tr>
                        <tr>
-                               <td><a href="https://gist.github.com/dopefishh/79205ea4f9bc39c85e77">2015-07-14</a></td>
+                               <td>2019-05-21</td>
+                               <td>Multitasking on Microcontrollers using Task Oriented Programming</td>
+                               <td><a href="http://www.mipro.hr/MIPRO2019.4COWS/ELink.aspx">4COWS19</a></td>
+                       </tr>
+                       <tr>
+                               <td>2018-11-29</td>
+                               <td>Task Oriented Programming and the Internet of Things.</td>
+                               <td><a href="https://conf.researchr.org/home/plnl-2018">PLNL18</a></td>
+                       </tr>
+                       <tr>
+                               <td>2018-10-23,24,25</td>
+                               <td>Three day teacher training on TOP and IOT for the 3COWS project.</td>
+                               <td><a href="https://kpi.fei.tuke.sk/en/user/szabo-csaba/focusing-education-composability-comprehensibility-and-correctness-working-software">3COWS</a></td>
+                       </tr>
+                       <tr>
+                               <td>2018-01-05</td>
+                               <td>Task Oriented Pearl: Distributed Blockchain Applications.</td>
+                               <td><a href="http://wiki.clean.cs.ru.nl/NL-FP_dag_2018">NLFP18</a></td>
+                       </tr>
+                       <tr>
+                               <td>2017-08-31</td>
+                               <td>Task Oriented Programming and the Internet of Things.</td>
+                               <td><a href="http://2017.iflconference.org/">IFL 2017</a></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=mastervoorlichting16.git">2017-03-11</a></td>
+                               <td><a href="http://www.ru.nl/english/education/masters/software-science/" title="The evening incorporated standing on the masters market to provide information for upcoming students">Software Science</a> masters. <a href="http://ru.nl">RU</a>.</td>
+                               <td></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=mastervoorlichting16.git">2016-11-17</a></td>
+                               <td><a href="http://www.ru.nl/english/education/masters/software-science/" title="The evening incorporated standing on the masters market to provide information for upcoming students">Software Science</a> masters. <a href="http://ru.nl">RU</a>.</td>
+                               <td></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=linuxnijmegen-make.git">2016-11-09</a></td>
+                               <td><a href="https://www.gnu.org/software/make/">GNU Make</a> workshop. <a href="http://www.linuxnijmegen.nl/">LUGN</a></td>
+                               <td></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=ai-workshop.git">2016-03-16</a></td>
+                               <td><a href="http://www.git-scm.com/">Git</a> workshop for <a href="http://www.ru.nl/artificialintelligence/">AI</a> students.</td>
+                               <td></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=linuxnijmegen-latex.git">2015-12-08</a></td>
+                               <td><a href="https://www.latex-project.org">LaTeX</a> workshop. <a href="http://www.linuxnijmegen.nl/">LUGN</a></td>
+                               <td></td>
+                       </tr>
+                       <tr>
+                               <td><a href="https://git.martlubbers.net/?p=linuxnijmegen-mutt.git">2015-07-14</a></td>
                                <td><a href="http://mutt.org">Mutt</a> workshop. <a href="http://www.linuxnijmegen.nl/">LUGN</a></td>
+                               <td></td>
                        </tr>
                        <tr>
-                               <td><a href="https://github.com/dopefishh/gitflashtalk">2015-04-20</a></td>
-                               <td><a href="http://www.git-scm.com/">Git</a> Workshop for <a href="http://www.ru.nl/artificialintelligence/">AI</a> students.</td>
+                               <td><a href="https://git.martlubbers.net/?p=ai-gitflashtalk.git">2015-04-20</a></td>
+                               <td><a href="http://www.git-scm.com/">Git</a> flashtalk for <a href="http://www.ru.nl/artificialintelligence/">AI</a> students.</td>
+                               <td></td>
                        </tr>
                        <tr>
                                <td><a href="files/pympi_presentation2014.zip">2014-09-29</a></td>
                                <td><a href="https://tla.mpi.nl/tools/tla-tools/elan/">ELAN</a>-<a href="https://www.python.org/">Python</a> mini-course(<a href="https://github.com/dopefishh/pympi">pympi</a>). <a href="http://www.mpi.nl">MPI</a></td>
+                               <td></td>
                        </tr>
                        <tr>
-                               <td><a href="https://github.com/dopefishh/linuxnijmegen-bash">2014-09-09</a></td>
+                               <td><a href="https://git.martlubbers.net/?p=linuxnijmegen-bash.git">2014-09-09</a></td>
                                <td>Introduction to the command line and <a href="https://www.gnu.org/software/bash/">bash</a>. <a href="http://www.linuxnijmegen.nl/">LUGN</a></td>
+                               <td></td>
                        </tr>
                        <tr>
-                               <td><a href="https://github.com/dopefishh/ssh-pres">2014-07-08</a></td>
+                               <td><a href="https://git.martlubbers.net/?p=linuxnijmegen-ssh.git">2014-07-08</a></td>
                                <td>Advanced usage of <a href="http://www.openssh.com/">ssh</a>. <a href="http://www.linuxnijmegen.nl/">LUGN</a></td>
+                               <td></td>
                        </tr>
                </table>
 
-               <h3>Software and libraries</h3>
+               <h2 id="other">Other</h2>
+               <h3 id="software">Software, libraries and projects</h3>
                <ul>
-                       <li><a href="https://github.com/dopefishh/pycards">pycards</a> - Python flashcard software.</li>
-                       <li><a href="https://github.com/dopefishh/cleanwhile">CleanWhile</a> - A While parser and interpreter written in Clean.</li>
+                       <li><a href="https://github.com/dopefishh/m">m</a> - `m' is for music, an extremely fast music indexer written in plain C.</li>
+                       <li><a href="https://github.com/dopefishh/cloogle">cloogle</a> - Cloogle, a hoogle clone for clean. <a href="http://cloogle.org">Live version here</a>.</li>
                        <li><a href="https://github.com/dopefishh/praatalign">praatalign</a> - An interactive praat forced aligner, easily extensible for more languages.</li>
                        <li><a href="https://github.com/dopefishh/pympi">pympi</a> - A python toolkit to interact with Praat and Elan files.</li>
                </ul>
 
-               <h3>Tutorials or manuals</h3>
+               <h3 id="tutorials">Tutorials and manuals</h3>
                <ul>
-                       <li><a href="dvorak.html">Dvorak page</a></li>
+                       <li><a href="nonm.html">Wifi roaming without network manager (includes eduroam ru instructions)</a> (Updated 2020-09-16)</li>
+                       <li><a href="dvorak.html">Dvorak page</a> (Updated 2020-06-11)</li>
                </ul>
 
-               <h3>Other Interests</h3>
-               <ul>
-                       <li>Heavy metal music</li>
-                       <li>Hacking</li>
-                       <li><a href="http://www.howchuenmonkeykungfu.nl">Kung fu</a></li>
-                       <li><a href="http://linuxnijmegen.nl">Linux</a></li>
-                       <li>Parkour</li>
-               </ul>
+               <h3 id="interests">Interests</h3>
+               <p>
+               Reading,
+               Heavy metal music,
+               Hacking,
+               <a href="http://www.howchuenmonkeykungfu.nl">Kung fu</a>,
+               <a href="http://linuxnijmegen.nl">Linux</a>,
+               <a href="langes.html">ſ-homografen</a>.
+               </p>
 
-               <h3>Suspended projects/archive</h3>
-               <ul>
-                       <li><a href="https://github.com/dopefishh/vocatrainer">Vocatrainer</a> - A pure bash vocabulary trainer.</li>
-                       <li><a href="archive/lejos-ubuntu.html">Install LeJoS on any debian based linux</a></li>
-                       <li><a href="archive/youtube-term.html">Play youtube videos on headless machine</a></li>
-                       <li><a href="archive/nsa-dropbox.html">Use any untrusted linux cloud storage safe</a></li>
-                       <li><a href="archive/wlan-debian.html">Wlan w.o. network manager on debian</a></li>
-                       <li><a href="https://github.com/dopefishh/pynterfaces">pynterfaces</a> - A python toolkit to modify your /etc/network/interfaces file to make network managers unneeded(wifi included)</li>
-                       <li><a href="https://github.com/dopefishh/dwifi">dWifi</a> - A cli network manager for linux</li>
-                       <li>TALK - A pure java text adventure engine</li>
-                       <li>Kasparobot - A chess playing robot made with LEGO mindstorm</li>
-                       <li>Logic gate simulator - A pure java logic gate simulator</li>
-               </ul>
+               <h3 id="archive">Archive</h3>
+               <p>
+               <a href="archive/thin.html">Using a HP t5710 thin client as a retro system</a>
+               <a href="archive/lejos-ubuntu.html">LeJoS on ubuntu</a>,
+               <a href="archive/youtube-term.html">Play youtube videos on headless machine</a>,
+               <a href="archive/nsa-dropbox.html">Use any untrusted linux cloud storage safe</a>,
+               <a href="archive/wlan-debian.html">Wlan w.o. network manager on debian</a>.
+               </p>
 
-               <p>Valid XHTML 1.0 Strict</p>
-               <p>Best viewed with a screen resolution &gt;= 320x200 in one of <a href="https://en.wikipedia.org/wiki/List_of_web_browsers">these browsers.</a></p>
-               <p>Last updated: 15-11-17</p>
+               <footer>
+                       <p>Valid HTML 5 and optimized for screen readers.</p>
+                       <p>Best viewed with a screen resolution at least &ge;640x480 or at least &ge;80x24 text mode in one of <a href="https://en.wikipedia.org/wiki/List_of_web_browsers">these browsers.</a></p>
+                       <p><a href="https://git.martlubbers.net/?p=martlubbers.net.git">Source code for this website</a></p>
+                       <p>Last updated: 2021-04-07</p>
+               </footer>
        </body>
 </html>