From: Mart Lubbers Date: Mon, 9 Oct 2023 09:03:58 +0000 (+0200) Subject: migrate to multilanguage setup X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=8ade1d9f437711c6e2e39518eeb00f6041631867;p=martlubbers.net.git migrate to multilanguage setup --- diff --git a/_config.yml b/_config.yml index 4b153be..f530e41 100644 --- a/_config.yml +++ b/_config.yml @@ -1,11 +1,45 @@ -#baseurl: https://martlubbers.net +# Site settings livereload: true + + #version: '2021-01-01' + +default_language: 'en' +fallback_page: home + +timezone: Europe/Amsterdam +encoding: utf-8 + +# Build settings markdown: kramdown + +# Markdown Processors kramdown: - parse_block_html: true + parse_block_html: true + auto_ids: true + footnote_nr: 1 + entity_output: as_char + toc_levels: 2..3 + +# Defaults defaults: - - - scope: - path: "" - values: - layout: "default" +- + scope: + path: '_posts/en' + type: 'posts' + values: + permalink: 'en/:title' + language: en +- + scope: + path: '_posts/nl' + type: 'posts' + values: + permalink: 'nl/:title' + language: nl +- + scope: + path: '_posts/nds' + type: 'posts' + values: + permalink: 'nds/:title' + language: nds diff --git a/_data/snippets.yml b/_data/snippets.yml new file mode 100644 index 0000000..6b5cec8 --- /dev/null +++ b/_data/snippets.yml @@ -0,0 +1,63 @@ +title: + en: Mart Lubbers' Website + nl: Mart Lubbers' Webpagina + nds: Mart Lubbers zien Webstie +languages: + en: + value: en + slug: en + nl: + value: nl + slug: nl + nds: + value: nds + slug: nds +top: + en: top + nl: boven + nds: båm +backto: + en: Back to + nl: Terug naar + nds: Teruw noar +home: + en: home + nl: thuis + nds: thoos +languagename: + en: Languages + nl: Talen + nds: Språken +currentfunction: + en: Scientific programmer at TOP Software + nl: Wetenschappelijk programmeur bij TOP Software + nds: Wetenschoppelyk programmeur by TOP Software +fingerprint: + en: Fingerprint + nl: Vingerafdruk + nds: Vingerofdruk +toc: + en: Table of contents + nl: Inhoudsopgaaf + nds: Inhoaltsopgoaf +posts: + en: Posts + nl: Postberichten + nds: Stu'kes +footer: + en: ' + Valid HTML 5 and optimized for screen readers.
+ Best viewed with a screen resolution at least ≥640x480 or at + least ≥80x24 text mode in one of these web browsers.
+ Powered by Jekyll' + nl: ' + Geldige HTML 5 en geöptimaliseerd voor schermlezers..
+ Het best te bekijken met een schermresolutie van tenminste ≥640x480 of + tenminste ≥80x24 tekstmodus in een van deze webbrowsers.
+ Gedreven door Jekyll (linkt naar een Engelse site)' + nds: ' + Gooien HTML 5 en optimaliseerd veur schearmlèèzers..
+ Doew kanst dit et beste bekieken met nen schermresolutie van mear as ≥640x480 of + mear as ≥80x24 in tekstmodus in een van dissen webbrowsers.
+ Maakt deur Jekyll (geet noar nen Engelse webstie)' + diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..dd33bdb --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,6 @@ + diff --git a/_includes/index_header.html b/_includes/index_header.html new file mode 100644 index 0000000..876769b --- /dev/null +++ b/_includes/index_header.html @@ -0,0 +1,8 @@ +{% include img.html alt='A photo of Mart Lubbers' img='p' %}
+{{ site.data.snippets.currentfunction[page.language] }}
+mart@martlubbers.net (GPG: AD3FEBE7)
+mart@cs.ru.nl
+gitlab, +Mastodon, +dblp, +ORCiD diff --git a/_includes/language-switch.html b/_includes/language-switch.html new file mode 100644 index 0000000..8e191b9 --- /dev/null +++ b/_includes/language-switch.html @@ -0,0 +1,49 @@ + {{ site.data.snippets.languagename[page.language] }}: + {%- for language in site.data.snippets.languages %} + {%- if page.layout == 'index' %} + {%- assign navigation_pages = site.pages + | where: 'language_reference', page.language_reference + | where: 'language', language[1].slug %} + {%- if navigation_pages.size >= 1 %} + {%- for navigation_page in navigation_pages %} + {%- assign url = site.baseurl | append: navigation_page.url %} + {%- endfor %} + {%- else %} + {%- assign url = '' %} + {%- endif %} + + {%- elsif page.layout == 'post' %} + {%- assign navigation_posts = site.posts + | where: 'language_reference', page.language_reference + | where: 'language', language[1].slug %} + {%- if navigation_posts.size == 1 %} + {%- for navigation_post in navigation_posts %} + {%- assign url = site.baseurl | append: navigation_post.url %} + {%- endfor %} + {%- else %} + {%- assign url = '' %} + {%- endif %} + + {%- else %} + {%- assign url = '' %} + + {%- endif %} + {%- if language[1].slug == page.language %} + + {%- endif %} + {%- if url != '' %} + + {%- else %} + + {%- endif %} + {{ language[1].value }} + {%- if url != '' %} + + {%- else %} + + {%- endif %} + + {%- if language[1].slug == page.language %} + + {%- endif %} + {%- endfor %} diff --git a/_includes/localizations.html b/_includes/localizations.html new file mode 100755 index 0000000..4dd05d5 --- /dev/null +++ b/_includes/localizations.html @@ -0,0 +1,24 @@ +{%- if page.layout == 'page' %} + {%- assign localized_pages = site.pages + | where: 'language_reference', page.language_reference + | sort: 'language' %} + {%- for localized_page in localized_pages %} + + {%- endfor %} + +{%- elsif page.layout == 'post' %} + {%- assign localized_posts = site.posts + | where: 'language_reference', page.language_reference + | sort: 'language' %} + {%- for localized_post in localized_posts %} + + {%- endfor %} + +{%- elsif page.layout == 'index' %} + {%- assign localized_pages = site.pages + | where: 'language_reference', site.fallback_page + | sort: 'language' %} + {%- for localized_page in localized_pages %} + + {%- endfor %} +{%- endif %} \ No newline at end of file diff --git a/_includes/posts.html b/_includes/posts.html new file mode 100755 index 0000000..27fefb8 --- /dev/null +++ b/_includes/posts.html @@ -0,0 +1,12 @@ +

{{ site.data.snippets.posts[page.language] }}

+ diff --git a/_includes/toc.html b/_includes/toc.html new file mode 100644 index 0000000..97e3300 --- /dev/null +++ b/_includes/toc.html @@ -0,0 +1,4 @@ +#### {{ site.data.snippets.toc[page.language] }} + +* - +{:toc} diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 4745e36..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - {{ page.title }} - - - - -
-

- {% if page.collection == "posts" %} - {{ page.date | date: '%Y-%m-%d' }}: - {% endif %} - {{ page.title }} -

-

- {{ page.subtitle }} -

- - {% if page.collection == "posts" %} - Terug naar het blog - {% endif %} - {% if page.name != "index.md" and page.name != "walrus.md" %} - Back to home/terug naar home - {% endif %} -
- -
- {{ content }} -
- - - - diff --git a/_layouts/index.html b/_layouts/index.html new file mode 100644 index 0000000..9bbdf93 --- /dev/null +++ b/_layouts/index.html @@ -0,0 +1,28 @@ + + + + {{ page.title }} + + + {% include localizations.html %} + + +
+

{{ page.title }}

+ {% include language-switch.html %} + {% if page.language_reference != "home" %} + ({{ site.data.snippets.home[page.language] }}) + {% endif %} +
+ +
+ {{ content }} +
+ + {% if page.language_reference == "home" %} + {% include posts.html %} + {% endif %} + + {% include footer.html %} + + diff --git a/_layouts/posts.html b/_layouts/post.html similarity index 74% rename from _layouts/posts.html rename to _layouts/post.html index 48da065..848e3de 100644 --- a/_layouts/posts.html +++ b/_layouts/post.html @@ -1,5 +1,5 @@ --- -layout: default +layout: index ---

{{ page.date }}

diff --git a/_posts/2021-06-14-zomereikwijn.md b/_posts/2021-06-14-zomereikwijn.md deleted file mode 100644 index ca1e9c1..0000000 --- a/_posts/2021-06-14-zomereikwijn.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Zomereikwijn ---- - - - -## Zomereikwijn - diff --git a/nonm.md b/_posts/en/2020-09-16-nonm.md similarity index 94% rename from nonm.md rename to _posts/en/2020-09-16-nonm.md index 37df632..2e4850d 100644 --- a/nonm.md +++ b/_posts/en/2020-09-16-nonm.md @@ -1,22 +1,18 @@ --- +layout: post title: Wifi without network manager date: 2020-09-16 +language: en +language_reference: nonm +published: true --- + +{% include toc.html %} + With this setup, `wpa_supplicant` automatically changes network when needed. Moreover, the network can be changed in userspace and new networks can be added. All withouth the bloat of `NetworkManager` and `ModemManager`. -## Table of contents - -- [Requirements](#requirements) -- [`wpa_supplicant`](#wpa_supplicant) -- [`wpa_supplicant.conf`](#wpa_supplicantconf) -- [`wpa_gui`](#wpa_gui) -- [Eduroam](#eduroam) - - [update: cat broken](#update) - - [openssl update](#openssl) -- [interaction](#interaction) - ## Requirements - `wpa_supplicant` diff --git a/dvorak.md b/_posts/en/2021-06-16-dvorak.md similarity index 91% rename from dvorak.md rename to _posts/en/2021-06-16-dvorak.md index 5791c60..26c340f 100644 --- a/dvorak.md +++ b/_posts/en/2021-06-16-dvorak.md @@ -1,19 +1,16 @@ --- +layout: post title: Dvorak resources date: 2021-06-16 +language: en +language_reference: dvorak +published: true --- -Since about 2011 I've started using dvorak as my main keyboard layout and like the efficiency compared to QWERTY. -## Table of contents +Since about 2011 I've started using dvorak as my main keyboard layout and like the efficiency compared to QWERTY. -- [Notes](#notes) - - [Note to self (2015-10-30)](#note-to-self-2015-10-30) -- [Dosbox](#dosbox) - - [Update (2020-06-11)](#update-2020-06-11) -- [Dos](#dvorak-in-dos) -- [Russian (2014-10-07)](#russian-2014-10-07) - - [Update (2015-04-16)](#update-2015-04-16) +{% include toc.html %} ## Notes ### Note to self (2015-10-30) diff --git a/_posts/nds/2023-10-09-nds-intro.md b/_posts/nds/2023-10-09-nds-intro.md new file mode 100644 index 0000000..7c6701f --- /dev/null +++ b/_posts/nds/2023-10-09-nds-intro.md @@ -0,0 +1,12 @@ +--- +layout: post +title: Intro in t Nedersaksisch +date: 2023-10-09 +language: nds +language_reference: lowsaxon +published: true +--- + +Hier probear ik wat te schrievm in en oawer de Nedersaksisch. +Het meeste zal schreevm worn in et Oost-Tweants mear ik bin ok bezig mie de +[Nysassiske Skryvwyse](https://skryvwyse.eu/) machtig te maakn. diff --git a/_posts/2021-06-12-look-zonder-look.md b/_posts/nl/2021-06-12-look-zonder-look.md similarity index 97% rename from _posts/2021-06-12-look-zonder-look.md rename to _posts/nl/2021-06-12-look-zonder-look.md index 331976e..8b973a1 100644 --- a/_posts/2021-06-12-look-zonder-look.md +++ b/_posts/nl/2021-06-12-look-zonder-look.md @@ -1,5 +1,9 @@ --- +layout: post title: Groene asperge daslook risotto zonder look-zonder-look +published: true +language: nl +language_reference: groene-asperge-daslook-risotto --- Onze eerste wildpluk experiment was daslook. Op de wildplukwijzer stonden diff --git a/_posts/2021-06-16-aalbessen-krentjesjam.md b/_posts/nl/2021-06-16-aalbessen-krentjesjam.md similarity index 95% rename from _posts/2021-06-16-aalbessen-krentjesjam.md rename to _posts/nl/2021-06-16-aalbessen-krentjesjam.md index 2e0d3dd..cc73f99 100644 --- a/_posts/2021-06-16-aalbessen-krentjesjam.md +++ b/_posts/nl/2021-06-16-aalbessen-krentjesjam.md @@ -1,5 +1,9 @@ --- +layout: post title: Aalbessen krentjesjam +published: true +language: nl +language_reference: aalbessen-krentjesjam --- April en mei mogen dan koud geweest zijn. Juni heeft dit al meer dan goed diff --git a/langes.md b/_posts/nl/2021-06-16-langes.md similarity index 86% rename from langes.md rename to _posts/nl/2021-06-16-langes.md index 7b1d35d..107a367 100644 --- a/langes.md +++ b/_posts/nl/2021-06-16-langes.md @@ -1,22 +1,16 @@ --- +layout: post title: Å¿-homografen (Lange s homografen) date: 2021-06-16 +language: nl +language_reference: langes +published: true --- -
Op deze internetpagina presenteer ik mijn verzameling Å¿-homografen, Å¿-homogrammen, Å¿-bommelwoorden, plaatstaalwoorden of hoe men ze ook noemen wil. -## Table of contents +{% include toc.html %} -- [Introduction](#introduction) -- [Verzameling](#verzameling) - - [Woorden die eindigen op -staal](#staal) - - [Vrouwlijke vormen met -ster](#ster) - - [Woorden die eindigen op -stop](#stop) - - [Anders](#anders) -- [Dankwoord](#dankwoord) -
- -## Introduction +## Introductie ſ-homografen zijn homografen in de reguliere spelling maar bij het correct gebruik van de ſ niet meer. In vroegere tijden schreef men de kleine letter s als ſ, behalve als het de laatste letter van het woord, of samengesteld woord, was. De bekendste ſ-homograaf is plaatstaal, dat geïnterpreteerd kan worden als plaats-taal of plaat-staal, maar plaatstaal en plaatſtaal zijn prima te onderscheiden. diff --git a/o.html b/archive/o.html similarity index 100% rename from o.html rename to archive/o.html diff --git a/assets/thesisboekenlegger-thumb.jpg b/assets/thesisboekenlegger-thumb.jpg new file mode 100644 index 0000000..f55269e Binary files /dev/null and b/assets/thesisboekenlegger-thumb.jpg differ diff --git a/assets/thesisboekenlegger.jpg b/assets/thesisboekenlegger.jpg new file mode 100644 index 0000000..239bf1d Binary files /dev/null and b/assets/thesisboekenlegger.jpg differ diff --git a/assets/thesisbookmark-thumb.jpg b/assets/thesisbookmark-thumb.jpg new file mode 100644 index 0000000..d06b745 Binary files /dev/null and b/assets/thesisbookmark-thumb.jpg differ diff --git a/assets/thesisbookmark.jpg b/assets/thesisbookmark.jpg new file mode 100644 index 0000000..d9fe25a Binary files /dev/null and b/assets/thesisbookmark.jpg differ diff --git a/assets/thesiscover-thumb.jpg b/assets/thesiscover-thumb.jpg new file mode 100644 index 0000000..9c929f3 Binary files /dev/null and b/assets/thesiscover-thumb.jpg differ diff --git a/assets/thesiscover.jpg b/assets/thesiscover.jpg new file mode 100644 index 0000000..77a07b8 Binary files /dev/null and b/assets/thesiscover.jpg differ diff --git a/en/home.md b/en/home.md new file mode 120000 index 0000000..c82c633 --- /dev/null +++ b/en/home.md @@ -0,0 +1 @@ +../index.md \ No newline at end of file diff --git a/en/thesis.md b/en/thesis.md new file mode 100644 index 0000000..d2d5e72 --- /dev/null +++ b/en/thesis.md @@ -0,0 +1,56 @@ +--- +layout: index +title: Orchestrating the Internet of Things with Task-Oriented Programming +language: en +language_reference: thesis +--- + +{% include img.html alt='Cover' img='thesiscover' %}{% include img.html alt='Bookmark' img='thesisbookmark' %} + +{% include toc.html %} + +## Details + +Publicly defended on Wednesday October 4th, 2023 at exactly 14:30. + +Promotor: prof. dr. ir. M.J. (Rinus) Plasmeijer +Copromotores: + +- dr. J.M. (Jan Martin) Jansen (Netherlands Defence Academy) +- dr. P.W.M. (Pieter) Koopman + +Manuscript committee: + +- prof. dr. S.-B. (Sven-Bodo) Scholz +- prof. dr. G.K. (Gabriele) Keller (Utrecht University) +- prof. dr. M. (Mary) Sheeran (Chalmers Tekniska Högskola, Sweden) + +## Summary + +The development of reliable software for the Internet of Things (IoT) is difficult because IoT systems are dynamic, interactive, distributed, collaborative, multi-tiered, and multitasking in nature. +The complexity is increased further by semantic friction that arises through different hardware and software characteristics between tiers. +Many computers that operate in IoT systems are _edge devices_ that interact with the environment using sensors and actuators. +Edge devices are often powered by low-cost microcontrollers designed for embedded applications. +They have little memory, unhurried processors, and are slow in communication but are also small and energy efficient. + +Task-oriented programming can cope with the challenges of IoT programming. +In task-oriented programming, the main building blocks are tasks, an abstract representation of work. +During execution, the current value of the task is observable, and other tasks can act upon it. +Collaboration patterns can be modelled by combining and transforming tasks into compound tasks. +Programming edge devices benefits from task-oriented programming as well, but running such a system within the limitations of resource-constrained microcontrollers is not straightforward. + +This dissertation demonstrates how to include edge devices in task-oriented programming systems using domain-specific languages (DSLs). +With these techniques, all tiers and their interoperation of an IoT system are specified in a single high-level source, language, paradigm, high abstraction level, and type system. +First, I present advanced DSL embedding techniques. +Then mTask is shown, a task-oriented programming DSL for IoT edge devices, embedded in iTask. +Tasks are constructed and compiled at run time in order to allow tasks to be tailored to the current work requirements. +The task is then sent to the device for interpretation. +A device is programmed once with a lightweight domain-specific operating system (OS) to be used in an mTask system. +This OS executes tasks in an energy-efficient way and automates all communications and data sharing. +All aspects of the mTask system are shown: example applications, language design, implementation details, integration with iTask, and green computing facilities such as automatic sleeping. + +Finally, tierless IoT programming is compared to traditional tiered programming. +In tierless programming frameworks, the size of the code and the number of required programming languages is reduced significantly. +By using a single paradigm and a system-wide type system, tierless programming reduces problems such as semantic friction; maintainability and robustness issues; and interoperation safety. + +Slides for the summary presentation can be found [here](/files/thesistalk.pdf). diff --git a/en/triest.md b/en/triest.md new file mode 100644 index 0000000..dce91fb --- /dev/null +++ b/en/triest.md @@ -0,0 +1,10 @@ +--- +layout: index +title: Trieste Muziek +language: en +language_reference: triest +--- + +Home page of the record label Trieste Muziek. + +For inquiries please contact mart@triestemuziek.nl. diff --git a/files/gc/GC8WNDQ.png b/files/gc/GC8WNDQ.png deleted file mode 100644 index a29b58a..0000000 Binary files a/files/gc/GC8WNDQ.png and /dev/null differ diff --git a/files/gc/GC8WNDQ_klein.png b/files/gc/GC8WNDQ_klein.png deleted file mode 100644 index ad4d7b4..0000000 Binary files a/files/gc/GC8WNDQ_klein.png and /dev/null differ diff --git a/files/gc/GC8YY6C.png b/files/gc/GC8YY6C.png deleted file mode 100644 index c20baea..0000000 Binary files a/files/gc/GC8YY6C.png and /dev/null differ diff --git a/files/gc/GC8ZV56_a-c.png b/files/gc/GC8ZV56_a-c.png deleted file mode 100644 index c3128bf..0000000 Binary files a/files/gc/GC8ZV56_a-c.png and /dev/null differ diff --git a/files/gc/GC8ZV56_d-g.png b/files/gc/GC8ZV56_d-g.png deleted file mode 100644 index fc9ae59..0000000 Binary files a/files/gc/GC8ZV56_d-g.png and /dev/null differ diff --git a/files/gc/GC8ZV56_h-j.png b/files/gc/GC8ZV56_h-j.png deleted file mode 100644 index 39f0c9b..0000000 Binary files a/files/gc/GC8ZV56_h-j.png and /dev/null differ diff --git a/files/phdthesis.pdf b/files/phdthesis.pdf deleted file mode 100644 index 6127e2d..0000000 Binary files a/files/phdthesis.pdf and /dev/null differ diff --git a/files/praatje.pdf b/files/praatje.pdf new file mode 100644 index 0000000..f6bf8b3 Binary files /dev/null and b/files/praatje.pdf differ diff --git a/files/thesiscover.jpg b/files/thesiscover.jpg new file mode 100644 index 0000000..77a07b8 Binary files /dev/null and b/files/thesiscover.jpg differ diff --git a/files/thesispraatje.pdf b/files/thesispraatje.pdf new file mode 100644 index 0000000..f6bf8b3 Binary files /dev/null and b/files/thesispraatje.pdf differ diff --git a/files/thesistalk.pdf b/files/thesistalk.pdf new file mode 100644 index 0000000..7a58fcb Binary files /dev/null and b/files/thesistalk.pdf differ diff --git a/foerageer.md b/foerageer.md deleted file mode 100644 index 4191680..0000000 --- a/foerageer.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Foerageerheer -date: 2021-06-14 -description: Dit blog dient als een plek om mijn wildplukervaringen te delen en als notitieblok voor mijzelf. ---- -Dit blog dient als een plek om mijn wildplukervaringen te delen en als -notitieblok voor mijzelf. - -De meeste informatie haal ik uit de volgende bronnen: - -- Puur natuur op tafel --- Roger Phillips (ISBN: 902747737X) -- Wildplukwiki van oogstenzonderzaaien --- -- Eetbare planten database van Permacultuur Nederland --- -- Nederlands-dis --- - - - -[RSS feed](foerageer.xml) - -
    - {% for post in site.posts %} -
  • - {{ post.date | date: '%Y-%m-%d' }}: {{ post.title }} - {{ post.excerpt }} -
  • - {% endfor %} -
diff --git a/foerageer.xml b/foerageer.xml deleted file mode 100644 index be55f0a..0000000 --- a/foerageer.xml +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: null ---- - - - - {% assign blog = site.pages | where:'name','foerageer.md' %} - {% for page in blog limit:1 %} - {{ page.title }} - - {{ page.title }}: - {{ page.description }} - - {{ page.url }} - {{ site.time | date_to_rfc822 }} - {% endfor %} - - {% for post in site.posts %} - - {{ post.title }} - - {{ post.url | prepend: site.url }} - - - {{ post.excerpt }} - - {{ post.date | date_to_rfc822 }} - - {{ post.url | prepend: site.url }} - - - {% endfor %} - - diff --git a/index.md b/index.md index 21ef6a9..15b14ca 100644 --- a/index.md +++ b/index.md @@ -1,37 +1,14 @@ --- +layout: index title: Mart Lubbers' website +language: en +language_reference: home --- -{% include img.html alt='A photo of Mart Lubbers' img='p' %} -PhD candidate at the [Institute of Computing and Information Sciences](https://cs.ru.nl) ([Radboud University](https://ru.nl))
-`mart@martlubbers.net` (GPG: AD3FEBE7)
-`mart@cs.ru.nl`
-gitlab, -Mastodon, -dblp, -ORCiD -
- -
-## Table of contents - - -
- +{% include index_header.html %} + +{% include toc.html %} + ## Work - Scientific programmer at the TOP Software Technology --- from 2023-06 @@ -184,27 +161,15 @@ PhD candidate at the [Institute of Computing and Information Sciences](https://c - [praatalign](https://github.com/dopefishh/praatalign) --- An interactive praat forced aligner, easily extensible for more languages. - [pympi](https://github.com/dopefishh/pympi) --- A python toolkit to interact with Praat and Elan files. -### Tutorials and manuals - -- [Wifi roaming without network manager (includes eduroam ru instructions)](nonm.html) (Updated 2022-10-18) -- [Dvorak page](dvorak.html) (Updated 2020-06-11) - ### Interests Long distance running, -[open water swimming](walrus.html), +open water swimming, wildplukken, reading, heavy metal music, hacking, -linux, -[ſ-homografen](langes.html). - -### Archive - -#### Software - -- [m](https://github.com/dopefishh/m) --- `m' is for music, an extremely fast music indexer written in plain C. +linux. #### Pages diff --git a/nds/thoos.md b/nds/thoos.md new file mode 100644 index 0000000..de7321c --- /dev/null +++ b/nds/thoos.md @@ -0,0 +1,11 @@ +--- +layout: index +title: Mart Lubbers' webstie +language: nds +language_reference: home +--- + +{% include index_header.html %} + +{% include toc.html %} + diff --git a/nds/triest.md b/nds/triest.md new file mode 100644 index 0000000..e22ffc9 --- /dev/null +++ b/nds/triest.md @@ -0,0 +1,10 @@ +--- +layout: index +title: Trieste Muziek +language: nds +language_reference: triest +--- + +Thoosstie van et plaatenlabel Trieste Muziek + +Veur vroagen, nem contact op met mart@triestemuziek.nl. diff --git a/nds/walrus.md b/nds/walrus.md new file mode 100644 index 0000000..a058aaa --- /dev/null +++ b/nds/walrus.md @@ -0,0 +1,23 @@ +--- +layout: index +title: Walrusvereeniging Almere +language: nds +language_reference: walrus +--- + +Wolkom bie 'n webstie van de Walrusvereniging Almere. +Nen heanig boetenzwemclubke dat, anners dan da'j van 'n noam maj't deanken, nog +nich 'n heeln weeinter deur zwemt mear wie wolt het wa gearn. + +### Stie + +Noorderplassenstrand, wie komt bie mekaar op n diek ([N 52°23.681' E 005°13.202'](https://www.openstreetmap.org/?mlat=52.39467&mlon=5.22003#map=19/52.39467/5.22003)) + + +### Agenda + +Wie hebt genne vast daagn mear zwemt twee tut dree moal in de wek. + +### Contact + +Stuur nen e-mailtje noar [`walrus@martlubbers.net`](mailto:walrus@martlubbers.net). diff --git a/nl/thesis.md b/nl/thesis.md new file mode 100644 index 0000000..70af647 --- /dev/null +++ b/nl/thesis.md @@ -0,0 +1,58 @@ +--- +layout: index +title: Orchestrating the Internet of Things with Task-Oriented Programming +language: nl +language_reference: thesis +--- + +{% include img.html alt='Kaft' img='thesiscover' %}{% include img.html alt='Boekenlegger' img='thesisboekenlegger' %} + +{% include toc.html %} + +## Details + +In het openbaar verdedigd op woensdag 4 oktober om 14:30 precies. + +Promotor: prof. dr. ir. M.J. (Rinus) Plasmeijer +Copromotores: + +- dr. J.M. (Jan Martin) Jansen (Nederlandse Defensie Academie) +- dr. P.W.M. (Pieter) Koopman + +Manuscriptcommissie: + +- prof. dr. S.-B. (Sven-Bodo) Scholz +- prof. dr. G.K. (Gabriele) Keller (Universiteit Utrecht) +- prof. dr. M. (Mary) Sheeran (Chalmers Tekniska Högskola, Zweden) + +## Samenvatting + +Het ontwikkelen van betrouwbare software voor Internet of Things (IoT) systemen is moeilijk omdat ze dynamisch, interactief, gedistribueerd, samenwerkend, meerlaags en multitasking zijn. +Ook draagt de semantische wrijving voorkomend uit de grote verscheidenheid aan hard- en software karakteristieken tussen de lagen bij aan dit probleem. +Veel van deze computers zijn _randcomputers_ die onderdeel zijn van het IoT. +Randcomputers bestaan vaak uit goedkope microcontrollers, ontworpen voor geïntegreerde systemen, en ze interacteren met de buitenwereld door sensoren en actuatoren. +Enerzijds hebben ze weinig geheugen, langzame rekenkernen en trage communicatie. +Anderzijds zijn ze klein en hoogst energie-efficiënt. + +Taakgeörienteerd programmeren (TOP) is geschikt om met de uitdagingen van IoT systemen om te gaan. +In TOP zijn abstracte representaties van werk, de taken, de bouwstenen. +Tijdens het uitvoeren van een taak kan de huidige waarde geobserveerd worden en hierop kunnen andere taken reageren. +Door taken te combineren of te transformeren kunnen samenwerkingsvormen uitgedrukt worden. +Van deze beschrijving wordt een computersysteem gegenereerd dat gebruikers begeleidt in het uitvoeren van het werk. +Randcomputers hebben ook baat bij TOP, al is niet eenvoudig om TOP-systemen erop in te zetten. + +Deze dissertatie laat zien hoe gehele IoT-systemen georkestreerd kunnen worden met {TOP}. +Gebruik makend van techniek kunnen alle lagen van een IoT-systeem en hun samenwerking uitgedrukt worden in één hoog abstractieniveau, programmeertaal, paradigma en typesysteem. +Allereerst laat ik enkele technieken zien om ingebedde domein-specifieke talen te maken. +Daarna beschrijf ik mTask, een TOP-systeem voor randcomputers ingebed in iTask. +Taken worden tijdens het uitvoeren opgebouwd, waardoor ze afgestemd kunnen worden op de huidige werkeisen. +Vervolgens worden ze naar het apparaat gestuurd ter interpretatie. +Na eenmalig uitgerust te worden met het domeinspecifieke besturingssysteem is een randcomputer geschikt voor mTask. +Dit stuurprogramma voert de ontvangen taken energiezuinig uit en automatiseert tevens alle communicatie en dataverwerking. +Alle aspecten van het mTask-systeem worden beschreven: voorbeeldprogramma's, taalontwerp, implementatiedetails, integratie met iTask en de energiezuinige functionaliteit. + +Het laagloos programmeren van IoT systemen wordt ook vergeleken met traditioneel gelaagd programmeren. +Laagloos programmeren leidt tot minder code en minder programmeertalen. +Door het gebruik van één paradigma en een systeembreed typesysteem verlaagt laagloos programmeren de semantische wrijving, onderhouds- en robuustheidsproblematiek en moeizame onderlinge samenwerking. + +Slides voor de samenvattingspresentatie kunnen [hier](/files/thesispraatje.pdf) gevonden worden. diff --git a/nl/thuis.md b/nl/thuis.md new file mode 100644 index 0000000..d19e83e --- /dev/null +++ b/nl/thuis.md @@ -0,0 +1,10 @@ +--- +layout: index +title: Mart Lubbers' webpagina +language: nl +language_reference: home +--- + +{% include index_header.html %} + +{% include toc.html %} diff --git a/nl/triest.md b/nl/triest.md new file mode 100644 index 0000000..bef92a1 --- /dev/null +++ b/nl/triest.md @@ -0,0 +1,10 @@ +--- +layout: index +title: Trieste Muziek +language: nl +language_reference: triest +--- + +Thuispagina van het platenlabel Trieste Muziek. + +For vragen, contacteer mart@triestemuziek.nl. diff --git a/walrus.md b/nl/walrus.md similarity index 94% rename from walrus.md rename to nl/walrus.md index f648aef..c97622a 100644 --- a/walrus.md +++ b/nl/walrus.md @@ -1,6 +1,8 @@ --- +layout: index title: Walrusvereniging Almere -date: 2023-06-12 +language: nl +language_reference: walrus --- Welkom op de website van de Walrusvereniging Almere. diff --git a/test.php b/test.php deleted file mode 100644 index 5d666fb..0000000 --- a/test.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - Doom Metal Band Name Generator! - - -" . $input[$rand_keys[0]] . " "; -echo $input[$rand_keys[1]] . "
\n"; -?> -
-
- - new
- contact -
- - diff --git a/thesis.md b/thesis.md deleted file mode 100644 index c7e0ffe..0000000 --- a/thesis.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Orchestrating the Internet of Things with Task-Oriented Programming -subtitle: a purely functional rhapsody -date: 2023-04-19 ---- - -Draft version: [pdf](files/phdthesis.pdf) diff --git a/triest/index.html b/triest/index.html deleted file mode 100644 index 54ff3e0..0000000 --- a/triest/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - Trieste Muziek - - - - -

Home page of the record label Trieste Muziek.

-

For inquiries please contact mart@triestemuziek.nl.

- -