Skip to content
Snippets Groups Projects
Commit 18a6a608 authored by Lukas Ruge's avatar Lukas Ruge
Browse files

change stuff, frab.xml now mostly validates

parent 8692b39b
No related branches found
No related tags found
No related merge requests found
Pipeline #7135 passed
Showing
with 444 additions and 49 deletions
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
layout: nil layout: nil
--- ---
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
{% capture nowunix %}{{'now' | date: '%s'}}{% endcapture -%}
{% comment -%} {% comment -%}
Finding the conference. Documentation: https://wiki.chaotikum.org/howto:chaotikumwebsite:media (Please update if stuff changes here)
{% endcomment -%} {% endcomment -%}
{% capture nowunix %}{{'now' | date: '%s'}}{% endcapture -%}
{% for c in site.conferences -%} {% for c in site.conferences -%}
{% if c.acronym == page.title -%} {% if c.acronym == page.title -%}
{% assign conference = c -%} {% assign conference = c -%}
...@@ -64,7 +64,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -64,7 +64,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates
<schedule> <schedule>
<version>0.1</version> <version>0.1</version>
<conference> <conference>
<acronym>{{conference.acronym}}</acronym> <acronym>{{conference.acronym | downcase }}</acronym>
<title>{{conference.title}}</title> <title>{{conference.title}}</title>
<start>{{earliest | date: '%Y-%m-%d' }}</start> <start>{{earliest | date: '%Y-%m-%d' }}</start>
<end>{{latest | date: '%Y-%m-%d' }}</end> <end>{{latest | date: '%Y-%m-%d' }}</end>
...@@ -73,29 +73,63 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -73,29 +73,63 @@ Finding the first and last talk to establish the variables "earliest" and "lates
<base_url>{{conference.base_url}}</base_url> <base_url>{{conference.base_url}}</base_url>
</conference> </conference>
{% comment -%}
- The Loop over all videos in the conference is first sorted by room, then by date in the hope to reduce repeating rooms. This probebly does nor work and we should use grouoping by rooms inseide of recoeding dates, bit this also does not work and I don't relay have a solution here. It's probably fine for rooms to repeat inside a day i guess.
{% endcomment -%}
{% capture currentday %}{{earliest | date: '%Y-%m-%d' }}{% endcapture -%} {% capture currentday %}{{earliest | date: '%Y-%m-%d' }}{% endcapture -%}
{% assign daynumber = 1 -%} {% assign daynumber = 1 -%}
{% assign sorted_conference_media = conference_media | sort: 'room' -%} {% assign sorted_conference_media = conference_media | sort: 'room' -%}
{% assign sorted_conference_media2 = sorted_conference_media | sort: 'release_date' -%} {% assign sorted_conference_media2 = sorted_conference_media | sort: 'release_date' -%}
{% comment -%} {% assign dateArray = "" | split: ',' -%}
- A day is supposed to have a start and an end. This is probably just helpfull for visualisation in fahrplan apps in not essential... but if we want it, its an extra loop per day I guess... {% for v in conference_media-%}
{% endcomment -%} {% if v.recording_date and v.recording_date != '' -%}
<day index="1" date="{{earliest | date: '%Y-%m-%d'}}"> {% capture recording_date %}{{v.recording_date }}{% endcapture -%}
{% for video in sorted_conference_media2 -%} {% assign dateArray = dateArray | push: recording_date -%}
{% capture release_date %}{{media.release_date | date: '%s'}}{% endcapture -%} {% elsif v.event and v.event != '' -%}
{% for e in site.events -%}
{% if e.uid == v.event -%}
{% capture recording_date %}{{e.eventdate }}{% endcapture -%}
{% assign dateArray = dateArray | push: recording_date -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% endfor -%}
{% assign dateArray = dateArray | uniq | sort -%}
{% assign videoUidArray = "" | split: ',' -%}
{% for date in dateArray -%}
{% capture date_s %}{{date | date: '%s'}}{% endcapture -%}
{% for v in conference_media -%}
{% capture recording_date_s %}{{v.recording_date | date: '%s'}}{% endcapture -%}
{% if v.recording_date and recording_date_s == date_s -%}
{% assign videoUidArray = videoUidArray | push: v.uid -%}
{% elsif v.event and v.event != '' -%}
{% for e in site.events -%}
{% capture eventdate_s %}{{e.eventdate | date: '%s'}}{% endcapture -%}
{% if eventdate_s == date_s -%}
{% assign videoUidArray = videoUidArray | push: v.uid -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% endfor -%}
{% endfor -%}
{% assign videoUidArray = videoUidArray | uniq -%}
{% assign videoArray = "" | split: ',' -%}
{% for videoUid in videoUidArray -%}
{% for v in conference_media -%}
{% if v.uid == videoUid -%}
{% assign videoArray = videoArray | push: v -%}
{% endif -%}
{% endfor -%}
{% endfor -%}
<day index="1" date="{{earliest | date: '%Y-%m-%d'}}" start="{{earliest | date_to_xmlschema}}" end="{{earliest | date_to_xmlschema}}">
{% for video in videoArray -%}
{% if eventcounter > 1 -%} {% if eventcounter > 1 -%}
</event> </event>
{% endif -%} {% endif -%}
{% comment -%}
some fields may be done via the event.xml and can be left out of the video markdown file. However, if added in the markdown file of the video, they overwrite the information in the event.
{% endcomment -%}
{% if video.event and video.event != '' -%} {% if video.event and video.event != '' -%}
{% for e in site.events -%} {% for e in site.events -%}
{% if e.uid == video.event -%} {% if e.uid == video.event -%}
...@@ -192,7 +226,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -192,7 +226,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates
{% assign day = day | plus: 1 -%} {% assign day = day | plus: 1 -%}
</room> </room>
</day> </day>
<day index="{{day}}" date="{{recording_date | date: '%Y-%m-%d'}}"> <day index="{{day}}" date="{{recording_date | date: '%Y-%m-%d'}}" start="{{recording_date | date_to_xmlschema}}" end="{{recording_date | date_to_xmlschema}}">
{% endif -%} {% endif -%}
{% if current_room != room -%} {% if current_room != room -%}
{% if current_room and current_room != '' -%} {% if current_room and current_room != '' -%}
...@@ -209,11 +243,11 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -209,11 +243,11 @@ Finding the first and last talk to establish the variables "earliest" and "lates
{% endcomment -%} {% endcomment -%}
<event id="{{eventcounter}}" guid="{{video.uid}}"> <event id="{{eventcounter}}" guid="{{video.uid}}">
<date>{{recording_date | date: '%Y-%m-%dT%H:%M:%S'}}</date> <date>{{recording_date | date_to_xmlschema}}</date>
<start>{{recording_date | date: '%H:%M'}}</start> <start>{{recording_date | date: '%H:%M'}}</start>
<duration>{{duration}}</duration> <duration>{{duration}}</duration>
<room>{{room}}</room> <room>{{room}}</room>
<slug>{{ video.title | slugify }}</slug> <slug>{{recording_date | date: '%Y-%m-%d'}}-{{ video.title | replace: 'ü', 'u' | replace: 'ö', 'o' | replace: 'ä', 'a' | replace: 'ß', 's' | url_encode | slugify }}</slug>
<url>{{url}}</url> <url>{{url}}</url>
<recording> <recording>
{% if video.licence and video.licence != '' -%} {% if video.licence and video.licence != '' -%}
...@@ -239,12 +273,14 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -239,12 +273,14 @@ Finding the first and last talk to establish the variables "earliest" and "lates
{% for conf in video.conferences -%} {% for conf in video.conferences -%}
{% for c in site.conferences -%} {% for c in site.conferences -%}
{% if conf == c.acronym -%} {% if conf == c.acronym -%}
{% if c.ecki -%}[{{c.title| xml_escape}}]{% endif -%} {% if c.ecki -%}[{{c.title| strip_html| xml_escape }}]{% endif -%}
{% endif -%} {% endif -%}
{% endfor -%} {% endfor -%}
{% endfor -%}</title> {% endfor -%}</title>
{% if video.subtitle and video.subtitle != '' -%} {% if video.subtitle and video.subtitle != '' -%}
<subtitle>{{ video.subtitle }}</subtitle> <subtitle>{{ video.subtitle }}</subtitle>
{% else -%}
<subtitle/>
{% endif -%} {% endif -%}
<track/> <track/>
<type>Talk</type> <type>Talk</type>
...@@ -254,20 +290,23 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -254,20 +290,23 @@ Finding the first and last talk to establish the variables "earliest" and "lates
<language>de</language> <language>de</language>
{% endif -%} {% endif -%}
<abstract/> <abstract/>
<description> {{video.content | xml_escape }} \n {% if video.content and video.content != '' -%}
{% for conf in video.conferences -%} <description>{{video.content | strip_html | xml_escape | remove: '</p>' }}
{% for c in site.conferences -%} {% for conf in video.conferences -%}
{% if conf == c.acronym and c.content != '' -%} {% for c in site.conferences -%}
{{c.content|xml_escape}}\n {% if conf == c.acronym and c.content != '' -%}
{% endif -%} {{c.content| xml_escape| markdownify | strip_html | markdownify | xml_escape | remove: '</p>'}}
{% endif -%}
{% endfor -%}
{% endfor -%} {% endfor -%}
{% endfor -%} {% if video.licence and video.licence != '' -%}
{% if video.licence and video.licence != '' -%} {{video.licence | xml_escape | markdownify | strip_html | markdownify| xml_escape | remove: '</p>'}}
{{video.licence | xml_escape}} {% else -%}
{% else -%} This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY NC ND 4.0). https://creativecommons.org/licenses/by-nc-nd/4.0/
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY NC ND 4.0). https://creativecommons.org/licenses/by-nc-nd/4.0/ {% endif -%}</description>
{% endif -%} {% else -%}
</description> <description/>
{% endif -%}
<logo/> <logo/>
<persons> <persons>
{% for person in video.persons -%} {% for person in video.persons -%}
...@@ -277,7 +316,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates ...@@ -277,7 +316,7 @@ Finding the first and last talk to establish the variables "earliest" and "lates
<links/> <links/>
<attachments/> <attachments/>
{% if video.file and video.file != '' -%} {% if video.file and video.file != '' -%}
<video_download_url>{{video.file}}</video_download_url> <video_download_url>{{video.file | xml_escape}}</video_download_url>
{% endif -%} {% endif -%}
{% assign eventcounter = eventcounter | plus: 1 -%} {% assign eventcounter = eventcounter | plus: 1 -%}
......
---
layout: nil
---
<?xml version="1.0" encoding="utf-8"?>
{% comment -%}
Documentation: https://wiki.chaotikum.org/howto:chaotikumwebsite:media (Please update if stuff changes here)
{% endcomment -%}
{% capture nowunix %}{{'now' | date: '%s'}}{% endcapture -%}
{% for c in site.conferences -%}
{% if c.acronym == page.title -%}
{% assign conference = c -%}
{% endif -%}
{% endfor -%}
{% comment -%}
Finding the first and last talk to establish the variables "earliest" and "latest". Then converting this into a duration in days.
{% endcomment -%}
{% capture earliest %}{{'now' | date: '%s'}}{% endcapture -%}
{% capture latest %}0{% endcapture -%}
{% assign conference_media = site.media | where_exp: "video", "video.conferences contains conference.acronym" -%}
{% for video in conference_media -%}
{% if video.event and video.event != '' -%}
{% for e in site.events -%}
{% if e.uid == video.event -%}
{% assign event = e -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% if video.recording_date and recording_date.event != ''-%}
{% assign recording_date = video.recording_date -%}
{% elsif event -%}
{% assign recording_date = event.eventdate -%}
{% else -%}
{% if conference.date and recording_date.event != ''%}
{% assign recording_date = conference.date -%}
{% else -%}
{% assign recording_date = earliest -%}
{% endif -%}
{% endif -%}
{% capture recordingdate %}{{recording_date | date: '%s'}}{% endcapture -%}
{% if recordingdate < earliest -%}
{% assign earliest = recordingdate -%}
{% endif -%}
{% if recordingdate > latest -%}
{% assign latest = recordingdate -%}
{% endif -%}
{% endfor -%}
{% capture earliestday %} {{earliest | date: '%Y-%m-%d'}}{% endcapture -%}
{% capture earliestdaydate %}{{earliestday | date: '%s'}}{% endcapture -%}
{% capture latestday %} {{latest | date: '%Y-%m-%d'}}{% endcapture -%}
{% capture latestdaydate %}{{latestday | date: '%s'}}{% endcapture -%}
{% assign seconds = latestdaydate | minus: earliestdaydate -%}
{% assign hours = seconds | divided_by: 60 | divided_by: 60 -%}
{% assign days = hours | divided_by: 24 -%}
{% assign days = days | plus: 1 -%}
{% assign eventcounter = 1 -%}
<schedule>
<version>0.1</version>
<conference>
<acronym>{{conference.acronym | downcase }}</acronym>
<title>{{conference.title}}</title>
<start>{{earliest | date: '%Y-%m-%d' }}</start>
<end>{{latest | date: '%Y-%m-%d' }}</end>
<days>{{days}}</days>
<timeslot_duration>00:15</timeslot_duration>
<base_url>{{conference.base_url}}</base_url>
</conference>
{% capture currentday %}{{earliest | date: '%Y-%m-%d' }}{% endcapture -%}
{% assign daynumber = 1 -%}
{% assign sorted_conference_media = conference_media | sort: 'room' -%}
{% assign sorted_conference_media2 = sorted_conference_media | sort: 'release_date' -%}
{% comment -%}
!!!!!!!!!!!!!!!!!!!! V1
{% endcomment -%}
{% comment -%}
- A day is supposed to have a start and an end. This is probably just helpfull for visualisation in fahrplan apps in not essential... but if we want it, its an extra loop per day I guess...
{% endcomment -%}
<day index="1" date="{{earliest | date: '%Y-%m-%d'}}" start="{{earliest | date: '%Y-%m-%d'}}T00:00:00" end="{{earliest | date: '%Y-%m-%d'}}T23:59:59">
{% for video in sorted_conference_media2 -%}
{% if eventcounter > 1 -%}
</event>
{% endif -%}
{% comment -%}
some fields may be done via the event.xml and can be left out of the video markdown file. However, if added in the markdown file of the video, they overwrite the information in the event.
{% endcomment -%}
{% if video.event and video.event != '' -%}
{% for e in site.events -%}
{% if e.uid == video.event -%}
{% assign event = e -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% if video.recording_date and video.recording_date != ''-%}
{% assign recording_date = video.recording_date -%}
{% elsif event -%}
{% assign recording_date = event.eventdate -%}
{% else -%}
{% if conference.date and conference.date != ''%}
{% assign recording_date = conference.date -%}
{% else -%}
{% assign recording_date = earliest -%}
{% endif -%}
{% endif -%}
{% if video.room and video.room != ''-%}
{% assign room = video.room -%}
{% elsif event -%}
{% for r in event.locations -%}
{% assign room = r -%}
{% endfor -%}
{% else -%}
{% if conference.room and conference.room != ''%}
{% assign room = conference.room -%}
{% else -%}
{% assign room = "Undisclosed Location" -%}
{% endif -%}
{% endif -%}
{% if video.fahrplan_url and video.fahrplan_url != ''-%}
{% if video.fahrplan_url contains "https://" -%}
{% assign url = video.url -%}
{% else -%}
{% if conference.base_url contains "https://chaotikum.org" -%}
{% capture url %}https://chaotikum.org{{video.url}}{% endcapture -%}
{% else -%}
{% assign url = video.fahrplan_url -%}
{% endif -%}
{% endif -%}
{% elsif event -%}
{% for post in site.posts -%}
{% if post.uid == event.uid -%}
{% capture url %}https://chaotikum.org{{post.url}}{% endcapture -%}
{% endif -%}
{% endfor -%}
{% else -%}
{% assign url = "https://chaotikum.org" -%}
{% endif -%}
{% if video.duration and video.duration != ''-%}
{% assign duration = video.duration -%}
{% elsif event -%}
{% capture eventstart %}{{event.eventdate | date: '%s'}}{% endcapture -%}
{% capture eventend %}{{event.eventend | date: '%s'}}{% endcapture -%}
{% assign seconds = eventend | minus: eventstart -%}
{% assign minutes = seconds | divided_by: 60 -%}
{% assign hours = minutes | divided_by: 60 -%}
{% assign minutes = minutes | modulo: 60 -%}
{% if minutes == 0 -%}
{% capture min %}00{% endcapture -%}
{% elsif minutes < 10 -%}
{% capture min %}0{{minutes}}{% endcapture -%}
{% else -%}
{% capture min %}{{minutes}}{% endcapture -%}
{% endif -%}
{% if hours == 0 -%}
{% capture duration %}00:{{min}}{% endcapture -%}
{% elsif hours < 10 -%}
{% capture duration %}0{{hours}}:{{min}}{% endcapture -%}
{% else -%}
{% capture duration %}{{hours}}:{{min}}{% endcapture -%}
{% endif -%}
{% else -%}
{% capture duration %}00:00{% endcapture -%}
{% endif -%}
{% capture recordingday %}{{recording_date | date: '%Y-%m-%d' }}{% endcapture -%}
{% if currentday != recordingday -%}
{% capture current_room %}{% endcapture -%}
{% capture currentday %}{{recordingday | date: '%Y-%m-%d' }}{% endcapture -%}
{% capture recordingdate %}{{currentday | date: '%s'}}{% endcapture -%}
{% assign seconds = recordingdate | minus: earliestdaydate -%}
{% assign hours = seconds | divided_by: 60 | divided_by: 60 -%}
{% assign day = hours | divided_by: 24 -%}
{% assign day = day | plus: 1 -%}
</room>
</day>
<day index="{{day}}" date="{{recording_date | date: '%Y-%m-%d'}}" start="{{recording_date | date: '%Y-%m-%d'}}T00:00:00" end="{{recording_date | date: '%Y-%m-%d'}}T23:59:59">
{% endif -%}
{% if current_room != room -%}
{% if current_room and current_room != '' -%}
</room>
<room name="{{room}}">
{% else -%}
<room name="{{room}}">
{% endif -%}
{% capture current_room %}{{room }}{% endcapture -%}
{% endif -%}
{% comment -%}
!!!!!!!!!!!!!! eventcounter als ID ist schlecht! Wie kriegen wir eine eindeutige unveränderliche ID?
{% endcomment -%}
<event id="{{eventcounter}}" guid="{{video.uid}}">
<date>{{recording_date | date: '%Y-%m-%dT%H:%M:%S'}}</date>
<start>{{recording_date | date: '%H:%M'}}</start>
<duration>{{duration}}</duration>
<room>{{room}}</room>
<slug>{{ video.title | slugify }}</slug>
<url>{{url}}</url>
<recording>
{% if video.licence and video.licence != '' -%}
<license>{{video.licence}}</license>
{% else -%}
<license>Attribution-NonCommercial-NoDerivatives 4.0 International</license>
{% endif -%}
{% if video.optout and video.optout != '' -%}
<optout>{{video.optout}}</optout>
{% else -%}
<optout>false</optout>
{% endif -%}
</recording>
{% assign name_before_title = false -%}
{% for conf in video.conferences -%}
{% for c in site.conferences -%}
{% if conf == c.acronym and c.name_before_title -%}
{% assign name_before_title = true -%}
{% endif -%}
{% endfor -%}
{% endfor -%}
<title>{% if video.persons and name_before_title -%}{{video.persons | join: ", " }}: {% endif -%}{{ video.title }}
{% for conf in video.conferences -%}
{% for c in site.conferences -%}
{% if conf == c.acronym -%}
{% if c.ecki -%}[{{c.title| strip_html| xml_escape }}]{% endif -%}
{% endif -%}
{% endfor -%}
{% endfor -%}</title>
{% if video.subtitle and video.subtitle != '' -%}
<subtitle>{{ video.subtitle }}</subtitle>
{% endif -%}
<track/>
<type>Talk</type>
{% if video.language and video.language != '' -%}
<language>{{video.language}}</language>
{% else -%}
<language>de</language>
{% endif -%}
<abstract/>
{% if video.content and video.content != '' -%}
<description> {{video.content | strip_html }}
{% for conf in video.conferences -%}
{% for c in site.conferences -%}
{% if conf == c.acronym and c.content != '' -%}
{{c.content| markdownify | strip_html | markdownify | xml_escape}}
{% endif -%}
{% endfor -%}
{% endfor -%}
{% if video.licence and video.licence != '' -%}
{{video.licence | markdownify | strip_html | markdownify| xml_escape }}
{% else -%}
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY NC ND 4.0). https://creativecommons.org/licenses/by-nc-nd/4.0/
{% endif -%}
</description>
{% else -%}
<description/>
{% endif -%}
<logo/>
<persons>
{% for person in video.persons -%}
<person>{{person}}</person>
{% endfor -%}
</persons>
<links/>
<attachments/>
{% if video.file and video.file != '' -%}
<video_download_url>{{video.file}}</video_download_url>
{% endif -%}
{% assign eventcounter = eventcounter | plus: 1 -%}
{% endfor -%}
</event>
</room>
</day>
</schedule>
\ No newline at end of file
--- ---
layout: video layout: video
release_date: 2018-10-19 20:00:00 +0200 release_date: 2018-10-19 20:00:00 +0200
recording_date: 2018-10-19 20:00:00 +0200
title: "@ventskranz" title: "@ventskranz"
persons: persons:
- "Fabi" - "Fabi"
......
--- ---
layout: video layout: video
release_date: 2019-03-04 20:00:00 +0200 release_date: 2019-03-04 20:00:00 +0200
recording_date: 2019-02-08 20:00:00 +0200
title: "How-To: Gewerbeanmeldung" title: "How-To: Gewerbeanmeldung"
persons: persons:
- "Fabi" - "Fabi"
......
---
layout: video
release_date: 2019-04-12 20:00:00 +0200
title: "Fabi über die Methusalem-Maus"
persons:
- "Fabi"
#https://www.uuidgenerator.net/
uid: bdd1850e-5c64-4437-a1ba-55e2851a711c
yt: "https://www.youtube.com/watch?v=YVcYsP27K4k"
mccc: "https://media.ccc.de/v/chaotikum-5min-methuselah"
archive: "https://archive.org/details/2019-02-13-5min-fabi-methusela"
file: "https://video.chaotikum.net/5min/2019-02-13-5min-fabi-methuselah.mov"
event: ccc020a0-c3c4-484b-bbdc-5c2c0039a256
conferences:
- nbsp
- 5min
---
Fabi berichtet über die Methusalem-Maus, ein Wettbewerb für Wissenschaftler, die versuchen, die Lebensdauer von Hausmäusen künstlich zu verlängern. Das Ziel des Wettbewerbs ist es, Erkenntnisse auch auf den menschlichen Alterungsprozess übertragen. Das Wort leitet sich vom biblischen Methusalem ab, dem ein hohes Alter zugeschrieben wurde.
\ No newline at end of file
--- ---
layout: video layout: video
release_date: 2019-04-12 20:00:00 +0200 release_date: 2019-04-12 20:00:00 +0200
recording_date: 2019-02-27 20:00:00 +0200
title: "Toxi über die Aufarbeitung einer CNC-Fräse" title: "Toxi über die Aufarbeitung einer CNC-Fräse"
persons: persons:
- "Toxi" - "Toxi"
......
--- ---
layout: video layout: video
release_date: 2019-04-12 20:00:00 +0200 release_date: 2019-04-12 20:00:00 +0200
recording_date: 2019-02-27 20:00:00 +0200
title: "Fabi über Höhlentiere" title: "Fabi über Höhlentiere"
persons: persons:
- "Fabi" - "Fabi"
......
--- ---
layout: video layout: video
release_date: 2019-04-12 20:00:00 +0200 release_date: 2019-04-12 20:00:00 +0200
recording_date: 2019-02-27 20:00:00 +0200
title: "Mathis über InMoov" title: "Mathis über InMoov"
persons: persons:
- "Mathis" - "Mathis"
......
--- ---
layout: video layout: video
release_date: 2019-04-12 20:00:00 +0200 release_date: 2019-04-12 20:00:00 +0200
recording_date: 2019-02-27 20:00:00 +0200
title: "TVLuke über Stromverbrauch im Space" title: "TVLuke über Stromverbrauch im Space"
persons: persons:
- "TVLuke" - "TVLuke"
......
--- ---
layout: video layout: video
release_date: 2023-01-15 19:00:00 +0200 release_date: 2023-01-15 19:00:00 +0100
recording_date: 2022-12-29 21:00:00 +0200 recording_date: 2022-12-29 21:00:00 +0100
title: "Fabi likes P5" title: "Fabi likes P5"
persons: persons:
- "Fabi" - "Fabi"
......
---
layout: video
release_date: 2023-01-21 18:00:00 +0100
title: "Leo und Paul haben die Absicht, eine Mauer zu errichten"
persons:
- "Leo"
- "Paul"
image: ""
#https://www.uuidgenerator.net/
uid: f9e96718-3405-4580-8dfe-92f846de4e8c
yt: "https://www.youtube.com/watch?v=UbTUBmsJ2ig"
mccc: ""
archive: ""
file: "https://video.chaotikum.net/5min/2022-12-29/2022-12-29-jemand-hat-die-absicht-eine-mauer-zu-errichten.mov"
event: a6d3e790-0918-47b0-9409-2858b9d0bf9a
conferences:
- nbsp
- 5min
---
Paul und Leo haben in den letzten Wochen ein paar Mauern eingezogen und den Nobreakspace ordentlich umgestaltet.
\ No newline at end of file
---
layout: video
title: "Leo über Learning Synth"
persons:
- "Leo"
image: ""
#https://www.uuidgenerator.net/
uid: 1a128f2c-46ee-4ae5-abd8-ebcd4874756d
optout: true
event: a6d3e790-0918-47b0-9409-2858b9d0bf9a
conferences:
- nbsp
- 5min
---
--- ---
layout: video layout: video
release_date: 2023-01-07 19:00:00 +0200 release_date: 2023-01-07 19:00:00 +0100
recording_date: 2022-12-29 20:00:00 +0100
title: "NeoRaider über Linux User-Namespaces und den unshare-Befehl" title: "NeoRaider über Linux User-Namespaces und den unshare-Befehl"
persons: persons:
- "NeoRaider" - "NeoRaider"
......
--- ---
layout: video layout: video
release_date: 2023-01-08 19:00:00 +0200 release_date: 2023-01-08 18:00:00 +0100
recording_date: 2022-12-29 20:00:00 +0100
title: "TVLuke über die Zahlen, Daten, Fakten der NooK 2022" title: "TVLuke über die Zahlen, Daten, Fakten der NooK 2022"
persons: persons:
- "TVLuke" - "TVLuke"
......
---
layout: video
release_date: 2023-01-22 18:00:00 +0100
title: "Dennis über OpenBikeSensor-Auswertung mittels Jupyter-Notebooks"
persons:
- "Dennis"
image: ""
#https://www.uuidgenerator.net/
uid: a075bb10-3c8d-4090-af90-e4857749149b
yt: "https://www.youtube.com/watch?v=5EvD_gOSksk"
mccc: ""
archive: ""
file: "https://video.chaotikum.net/5min/2022-12-29/2022-12-29-openbikesensor-auswertung-mittels-jupyter-notebooks.mov"
event: a6d3e790-0918-47b0-9409-2858b9d0bf9a
conferences:
- nbsp
- 5min
---
Der OpenBikeSensor sammelt Daten bei Überholvorgängen. Aber Daten müssen nicht nur gesammelt, sie müssen auch ausgewertet und visualisiert werden. Dennis zeigt kurz einige Auswertungen mithilfe von Jupyter-Notebooks.
OpenBikeSensor: https://www.openbikesensor.org/
Jupyter: https://jupyter.org/try
\ No newline at end of file
--- ---
layout: video layout: video
release_date: 2023-01-14 19:00:00 +0200 release_date: 2023-01-14 18:00:00 +0100
title: "Jakob über Simon Tatham's Portable Puzzle Collection und Loopy" title: "Jakob über Simon Tatham's Portable Puzzle Collection und Loopy"
persons: persons:
- "Jakob" - "Jakob"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment