Compare commits

..

No commits in common. "eaa81438db4ff6f9fee2af273d041baaa1d1068f" and "748ba51910d664232884e78531bcd898e9fc37ac" have entirely different histories.

91 changed files with 852 additions and 198 deletions

6
.gitattributes vendored Normal file
View File

@ -0,0 +1,6 @@
*.ttf filter=lfs diff=lfs merge=lfs -text
*.woff filter=lfs diff=lfs merge=lfs -text
*.woff2 filter=lfs diff=lfs merge=lfs -text
*.eot filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text

View File

@ -2,16 +2,22 @@
==================== ====================
Visit https://dhcp24.winkekatze.tv/ for example Visit https://dhcp24.winkekatze.tv/ for example
Visit https://dhcp.cfhn.it/ for event details.
Usage Usage
------- -------
+ Install Hugo + Install Hugo
+ Run ``download.py`` to download latest schedule and adjust names + Run ``download.py`` to download latest schedule and adjust names
+ Run ``hugo server`` and do stuff ;) + Run ``hugo server`` and visit page
+ Modify ``assets/js/custom/core/time.js`` for time changes
Additional Artwork:
---------------
See https://wiki.dhcp.cfhn.it/styleguide
LICENSE LICENSE
--------- ---------
+ This work is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International. + This work is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International.
+ To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ + To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/
+ All external dependencies and assets are licensed under their own respective licenses. + This Project is forked from https://git.chaoswest.tv/winterkongress/dgwk24-huginfo with approval from ral, tha author.

View File

@ -1,4 +0,0 @@
@import "../styles/_base";
@import "../styles/_schedule";
@import "../styles/_clock";

View File

@ -1,4 +0,0 @@
@import "../styles/_base";
@import "../styles/_schedule";
@import "../styles/_clock";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-speaker";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-speaker";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_upcoming-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_upcoming-talk";

View File

@ -4,28 +4,7 @@
const fakeNow = null; const fakeNow = null;
// Test transitions // Test transitions
// const fakeNow = Date.parse("2024-03-01T18:53:50"); // const fakeNow = Date.parse("2024-10-31T19:05:00");
// Test Fr
// const fakeNow = Date.parse("2024-03-01T19:00:00");
// const fakeNow = Date.parse("2024-03-01T19:15:00");
// const fakeNow = Date.parse("2024-03-01T20:15:00");
// const fakeNow = Date.parse("2024-03-01T21:00:00");
// Test Sa
// const fakeNow = Date.parse("2024-03-02T11:00:00");
// const fakeNow = Date.parse("2024-03-02T11:15:00");
// const fakeNow = Date.parse("2024-03-02T12:00:00");
// const fakeNow = Date.parse("2024-03-02T13:00:00");
// const fakeNow = Date.parse("2024-03-02T14:45:00");
// const fakeNow = Date.parse("2024-03-02T15:30:00");
// const fakeNow = Date.parse("2024-03-02T16:30:00");
// const fakeNow = Date.parse("2024-03-02T18:00:00");
// const fakeNow = Date.parse("2024-03-02T19:00:00");
// const fakeNow = Date.parse("2024-03-02T20:00:00");
// const fakeNow = Date.parse("2024-03-02T20:15:00");
const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now(); const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now();

View File

@ -33,7 +33,7 @@ let clock_update = sc.configure(serv, clk);
let cfg = { let cfg = {
"roomName": "A002" "roomName": "D002"
}; };

View File

@ -20,7 +20,7 @@ let storage = {
}; };
let cfg = { let cfg = {
"roomName": "A002" "roomName": "D002"
}; };

View File

@ -20,7 +20,7 @@ let storage = {
}; };
let cfg = { let cfg = {
"roomName": "A002" "roomName": "D002"
}; };

View File

@ -20,7 +20,7 @@ let storage = {
}; };
let cfg = { let cfg = {
"roomName": "Festsaal" "roomName": "D002"
}; };

View File

@ -31,7 +31,7 @@ let screen_update = sc.configure(serv, domman);
let cfg = { let cfg = {
"roomName": "A002" "roomName": "D002"
}; };

View File

@ -1,4 +1,4 @@
--- ---
title: "Schedule D002: Vortragssaal" title: "Schedule D002: Vortragssaal"
type: schedule-d002 type: schedule-hall1
--- ---

View File

@ -1,4 +1,4 @@
--- ---
title: "Speaker Info D002: Vortragssaal" title: "Speaker Info D002: Vortragssaal"
type: speaker-info-d002 type: speaker-info-hall1
--- ---

View File

@ -1,4 +1,4 @@
--- ---
title: "Talk Info D002: Vortragssaal" title: "Talk Info D002: Vortragssaal"
type: talk-info-d002 type: talk-info-hall1
--- ---

View File

@ -1,4 +1,4 @@
--- ---
title: "Upcoming Talk D002: Vortragssaal" title: "Upcoming Talk D002: Vortragssaal"
type: upcoming-talk-d002 type: upcoming-talk-hall1
--- ---

View File

@ -1,4 +1,4 @@
--- ---
title: "VOC Schedule D002: Vortragssaal" title: "VOC Schedule D002: Vortragssaal"
type: voc-schedule-d002 type: voc-schedule-hall1
--- ---

View File

@ -1,21 +1,28 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import requests """
Script to Download Schedule
and rename rooms
"""
from pathlib import Path
import json import json
import os import requests
# Schritt 1: Herunterladen der JSON-Datei URL = "https://talks.dhcp.cfhn.it/dhcp-2024/schedule/export/schedule.json"
url = "https://talks.dhcp.cfhn.it/dhcp-2024/schedule/export/schedule.json" response = requests.get(URL, timeout=23)
response = requests.get(url)
# Überprüfen, ob die Anfrage erfolgreich war
if response.status_code == 200: if response.status_code == 200:
schedule_data = response.json() # JSON-Daten laden schedule_data = response.json() # JSON-Daten laden
# Schritt 2: Ersetzen des Raum-Namens "A002 Hauptraum" durch "A002" # pylint: disable=too-many-branches
def replace_room_names(data): def replace_room_names(data):
# Wenn data ein Wörterbuch ist, prüfen wir die Schlüssel und Werte """
Funktion zum Umbenennen der Namen
"""
if isinstance(data, dict): if isinstance(data, dict):
# edit room value
keys_to_replace = {}
for key, value in data.items(): for key, value in data.items():
if value == "D002 Vortragsraum": if value == "D002 Vortragsraum":
data[key] = "D002" data[key] = "D002"
@ -25,20 +32,32 @@ if response.status_code == 200:
data[key] = "A017" data[key] = "A017"
else: else:
replace_room_names(value) replace_room_names(value)
# Wenn data eine Liste ist, gehen wir durch jedes Element
# edit room key
new_key = key
if key == "D002 Vortragsraum":
new_key = "D002"
elif key == "Haupteingang":
new_key = "Eingang"
elif key == "A017 Workshopraum":
new_key = "A017"
# and apply changes if needed
if new_key != key:
keys_to_replace[key] = new_key
for old_key, new_key in keys_to_replace.items():
data[new_key] = data.pop(old_key)
elif isinstance(data, list): elif isinstance(data, list):
for item in data: for item in data:
replace_room_names(item) replace_room_names(item)
replace_room_names(schedule_data) replace_room_names(schedule_data)
# Schritt 3: Speichern der geänderten Datei # save JSON
output_path = "static/schedule.json" OUTPUT_PATH = Path("static/schedule.json")
os.makedirs(os.path.dirname(output_path), exist_ok=True) OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
with open(output_path, "w", encoding="utf-8") as f: with OUTPUT_PATH.open("w", encoding="utf-8") as f:
json.dump(schedule_data, f, ensure_ascii=False, indent=4) json.dump(schedule_data, f, ensure_ascii=False, indent=4)
print("Die Datei wurde erfolgreich unter 'static/schedule.json' gespeichert.") print("Die Datei wurde erfolgreich unter 'static/schedule.json' gespeichert.")
else:
print("Fehler beim Herunterladen der Datei:", response.status_code)

View File

@ -12,7 +12,7 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<img class="header" src="{{ .Site.BaseURL }}/header.png"> <img class="header" src="{{ .Site.BaseURL }}/header.svg">
<main id="main"> <main id="main">
<!-- Dynamic content inserted here --> <!-- Dynamic content inserted here -->
</main> </main>

View File

@ -12,7 +12,7 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<img class="header" src="{{ .Site.BaseURL }}/header.png"> <img class="header" src="{{ .Site.BaseURL }}/header.svg">
<main id="main"> <main id="main">
<!-- Dynamic content inserted here --> <!-- Dynamic content inserted here -->
</main> </main>

View File

@ -12,7 +12,6 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<img src="/bg.png">
<main id="main"> <main id="main">
<!-- Dynamic content inserted here --> <!-- Dynamic content inserted here -->
</main> </main>

View File

@ -12,7 +12,6 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<img src="/bg.png">
<main id="main"> <main id="main">
<!-- Dynamic content inserted here --> <!-- Dynamic content inserted here -->
</main> </main>

View File

@ -12,7 +12,7 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<img class="header" src="{{ .Site.BaseURL }}/header.png"> <img class="header" src="{{ .Site.BaseURL }}/header.svg">
<main id="main"> <main id="main">
<!-- Dynamic content inserted here --> <!-- Dynamic content inserted here -->
</main> </main>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

672
static/header.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -42,7 +42,7 @@
"day_start": "2024-10-31T04:00:00+01:00", "day_start": "2024-10-31T04:00:00+01:00",
"day_end": "2024-11-01T03:59:00+01:00", "day_end": "2024-11-01T03:59:00+01:00",
"rooms": { "rooms": {
"D002 Vortragsraum": [ "D002": [
{ {
"id": 37, "id": 37,
"guid": "dd47866a-01dc-5da7-b4a6-f491ada9a8b8", "guid": "dd47866a-01dc-5da7-b4a6-f491ada9a8b8",
@ -93,7 +93,7 @@
"abstract": "Kicking off the DHCP Capture the Flag contest", "abstract": "Kicking off the DHCP Capture the Flag contest",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 30, "id": 30,
@ -140,7 +140,7 @@
"answers": [] "answers": []
} }
], ],
"Haupteingang": [ "Eingang": [
{ {
"id": 56, "id": 56,
"guid": "31b7ec1c-f212-5b4c-b7e6-768d7e270c43", "guid": "31b7ec1c-f212-5b4c-b7e6-768d7e270c43",
@ -159,7 +159,7 @@
"abstract": "Es wird irgend ein WOK gericht geben", "abstract": "Es wird irgend ein WOK gericht geben",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 3, "id": 3,
@ -182,7 +182,7 @@
"day_start": "2024-11-01T04:00:00+01:00", "day_start": "2024-11-01T04:00:00+01:00",
"day_end": "2024-11-02T03:59:00+01:00", "day_end": "2024-11-02T03:59:00+01:00",
"rooms": { "rooms": {
"D002 Vortragsraum": [ "D002": [
{ {
"id": 21, "id": 21,
"guid": "26b7c02b-0e13-50a6-b8cc-1a1fbf55463f", "guid": "26b7c02b-0e13-50a6-b8cc-1a1fbf55463f",
@ -408,7 +408,7 @@
"answers": [] "answers": []
} }
], ],
"A017 Workshopraum": [ "A017": [
{ {
"id": 32, "id": 32,
"guid": "da9b745f-e785-59f5-b27e-d46289df8ac2", "guid": "da9b745f-e785-59f5-b27e-d46289df8ac2",
@ -459,7 +459,7 @@
"abstract": "In dem Workshop bauen wir gemeinsam ein Web-Frontend auf Basis von Vue. Dazu schauen wir uns nacheinander die verschiedenen Teilaspekte einer Vue-Anwendung an und setzen sie dann um.\r\nIhr solltet schon ein wenig Erfahrung mit Web-Technologien (HTML, CSS, JS) haben.", "abstract": "In dem Workshop bauen wir gemeinsam ein Web-Frontend auf Basis von Vue. Dazu schauen wir uns nacheinander die verschiedenen Teilaspekte einer Vue-Anwendung an und setzen sie dann um.\r\nIhr solltet schon ein wenig Erfahrung mit Web-Technologien (HTML, CSS, JS) haben.",
"description": "### Ziel\r\n\r\nNach dem Workshop werdet ihr in der Lage sein, Web-Anwendungen mit Vue zu bauen.\r\n\r\n### Agenda\r\n\r\n- Kurzer Einstieg und Überblick von verschiedenen Render-Modellen\r\n- Einstieg in [Vue](https://vuejs.org/)\r\n- Geführtes entwickeln eines Vue-Frontends:\r\n - Vue Single File Components (Templates, Scripts und Styles)\r\n - Vue Reactivity Framework\r\n - Vue Composables\r\n- Überblick über das Vue Ecosystem", "description": "### Ziel\r\n\r\nNach dem Workshop werdet ihr in der Lage sein, Web-Anwendungen mit Vue zu bauen.\r\n\r\n### Agenda\r\n\r\n- Kurzer Einstieg und Überblick von verschiedenen Render-Modellen\r\n- Einstieg in [Vue](https://vuejs.org/)\r\n- Geführtes entwickeln eines Vue-Frontends:\r\n - Vue Single File Components (Templates, Scripts und Styles)\r\n - Vue Reactivity Framework\r\n - Vue Composables\r\n- Überblick über das Vue Ecosystem",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 23, "id": 23,
@ -545,7 +545,7 @@
"answers": [] "answers": []
} }
], ],
"Haupteingang": [ "Eingang": [
{ {
"id": 55, "id": 55,
"guid": "e7fcf551-5833-5d8b-97f0-e56c2c1aaf34", "guid": "e7fcf551-5833-5d8b-97f0-e56c2c1aaf34",
@ -564,7 +564,7 @@
"abstract": "Es wird Pizza geben für Omnivor, Veggie and Vegan", "abstract": "Es wird Pizza geben für Omnivor, Veggie and Vegan",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 16, "id": 16,
@ -587,7 +587,105 @@
"day_start": "2024-11-02T04:00:00+01:00", "day_start": "2024-11-02T04:00:00+01:00",
"day_end": "2024-11-03T03:59:00+01:00", "day_end": "2024-11-03T03:59:00+01:00",
"rooms": { "rooms": {
"D002 Vortragsraum": [ "Hackcenter": [
{
"id": 24,
"guid": "e6651b6a-fdaa-5f44-9f13-50068aa568d5",
"logo": "",
"date": "2024-11-02T13:00:00+01:00",
"start": "13:00",
"duration": "01:00",
"room": "Hackcenter",
"slug": "dhcp-2024-24-punkrock-yoga",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/JK7BBY/",
"title": "Punkrock Yoga",
"subtitle": "",
"track": null,
"type": "Workshop",
"language": "de",
"abstract": "Wir starten mit ein paar entspannenden Yogaübungen zu guter Musik in einen weiteren chaotischen Partytag",
"description": "Zieht euch am besten etwas Bequemes an und bringt vielleicht eine weiche Unterlage mit. Wir werden einige Zeit am Boden liegend verbringen.",
"recording_license": "",
"do_not_record": false,
"persons": [
{
"id": 17,
"code": "TTG8QM",
"public_name": "haasmi",
"biography": "TBD",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
},
{
"id": 46,
"guid": "0bdefc24-8ac0-5844-acc6-21dbd3ed4fb9",
"logo": "/media/dhcp-2024/submissions/9LUJGG/youWouldntDownloadAHouse_aSJvMlU_UU66zOw.png",
"date": "2024-11-02T22:00:00+01:00",
"start": "22:00",
"duration": "01:30",
"room": "Hackcenter",
"slug": "dhcp-2024-46-house",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/9LUJGG/",
"title": "House",
"subtitle": "",
"track": null,
"type": "DJ-Set",
"language": "de",
"abstract": "Chill Stutter House :thumbsup: :thumbsup:",
"description": "Künstler: Fred again.., 49th & Main, Lavern",
"recording_license": "",
"do_not_record": false,
"persons": [
{
"id": 37,
"code": "MBCWLS",
"public_name": "Konsti",
"biography": "Professional cook. Do not request any Songs I do not have them, leave me alone :exclamationmark: :exclamationmark: :exclamationmark:",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
},
{
"id": 42,
"guid": "9fdac370-012b-5757-b8e4-614509220a1e",
"logo": "/media/dhcp-2024/submissions/UFBM88/BassHouse_JVqkoIu.jpg",
"date": "2024-11-02T23:30:00+01:00",
"start": "23:30",
"duration": "01:00",
"room": "Hackcenter",
"slug": "dhcp-2024-42-house",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/UFBM88/",
"title": "house",
"subtitle": "",
"track": null,
"type": "DJ-Set",
"language": "de",
"abstract": "Klassisches und Modernes Tech- und Bass House",
"description": "Klassisches und Mordernes Tech- und Bass House\r\nKünstler: Knock 2, ISOxo, Dillon Francis, Habstrakt, San Pancho\r\n\r\nKommt vorbei wird ein dickes Set! 👍",
"recording_license": "",
"do_not_record": true,
"persons": [
{
"id": 32,
"code": "ZUV7X7",
"public_name": "VPlus",
"biography": "Cool DJ. Come to my Set :thumbsup: :thumbsup:",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
}
],
"D002": [
{ {
"id": 35, "id": 35,
"guid": "adb12cf5-aaae-57ff-9097-bc3a3e803138", "guid": "adb12cf5-aaae-57ff-9097-bc3a3e803138",
@ -709,7 +807,7 @@
"abstract": "When two hackers buy Iridium trackers on eBay and get more than they bargained for...", "abstract": "When two hackers buy Iridium trackers on eBay and get more than they bargained for...",
"description": "How do you transmit data when theres 205,000 people trying to access the same mobile network in a field? Satellites, of course! After facing dilemmas of tracking the vehicles at a big UK festival, we decided to look at other options and discovered some cheap Iridium satellite constellation hardware on eBay. When they arrived, we surveyed what we had purchased, discovered it was ex-Ministry of Defense hardware, and hasnt been scrubbed properly. After getting a new pair of trousers and making the relevant disclosures, we worked to reverse engineer the hardware and get some usable data transmitting into space (and back down).\r\n\r\nThis involved dumping the firmware of the chip, and stepping bit-by-bit through the memory to understand what was happening, as well as a few casual emails to defence contractors. Getting airtime for satellite hardware was also a challenge, and working around the intricacies of Iridium Short Burst Data. Furthermore, weve developed the concept into an interactive map that overlays the realtime position of the tracker, and gives speed and heading data.", "description": "How do you transmit data when theres 205,000 people trying to access the same mobile network in a field? Satellites, of course! After facing dilemmas of tracking the vehicles at a big UK festival, we decided to look at other options and discovered some cheap Iridium satellite constellation hardware on eBay. When they arrived, we surveyed what we had purchased, discovered it was ex-Ministry of Defense hardware, and hasnt been scrubbed properly. After getting a new pair of trousers and making the relevant disclosures, we worked to reverse engineer the hardware and get some usable data transmitting into space (and back down).\r\n\r\nThis involved dumping the firmware of the chip, and stepping bit-by-bit through the memory to understand what was happening, as well as a few casual emails to defence contractors. Getting airtime for satellite hardware was also a challenge, and working around the intricacies of Iridium Short Burst Data. Furthermore, weve developed the concept into an interactive map that overlays the realtime position of the tracker, and gives speed and heading data.",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 21, "id": 21,
@ -780,7 +878,7 @@
"abstract": "Nick und haasmi labern euch mit interessanten Geschichten zu. Bekannt aus dem Abendprogramm der FSCK.", "abstract": "Nick und haasmi labern euch mit interessanten Geschichten zu. Bekannt aus dem Abendprogramm der FSCK.",
"description": "Wir kennen nun die Heilbronner schon etwas länger und haben mit denen ein paar Events gerissen dabei sind schon echt viele $Dinge passiert. Wir erzählen in gewohnter Weise,", "description": "Wir kennen nun die Heilbronner schon etwas länger und haben mit denen ein paar Events gerissen dabei sind schon echt viele $Dinge passiert. Wir erzählen in gewohnter Weise,",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 17, "id": 17,
@ -802,7 +900,7 @@
"answers": [] "answers": []
} }
], ],
"A017 Workshopraum": [ "A017": [
{ {
"id": 34, "id": 34,
"guid": "9d62d03a-45df-5969-b5b8-ba1fcb1d0ce3", "guid": "9d62d03a-45df-5969-b5b8-ba1fcb1d0ce3",
@ -860,7 +958,7 @@
"abstract": "Wir schauen uns zusammen die Programmiersprache Go an, und entwickeln unsere ersten kleinen Programme", "abstract": "Wir schauen uns zusammen die Programmiersprache Go an, und entwickeln unsere ersten kleinen Programme",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 2, "id": 2,
@ -939,105 +1037,7 @@
"answers": [] "answers": []
} }
], ],
"Hackcenter": [ "Eingang": [
{
"id": 24,
"guid": "e6651b6a-fdaa-5f44-9f13-50068aa568d5",
"logo": "",
"date": "2024-11-02T13:00:00+01:00",
"start": "13:00",
"duration": "01:00",
"room": "Hackcenter",
"slug": "dhcp-2024-24-punkrock-yoga",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/JK7BBY/",
"title": "Punkrock Yoga",
"subtitle": "",
"track": null,
"type": "Workshop",
"language": "de",
"abstract": "Wir starten mit ein paar entspannenden Yogaübungen zu guter Musik in einen weiteren chaotischen Partytag",
"description": "Zieht euch am besten etwas Bequemes an und bringt vielleicht eine weiche Unterlage mit. Wir werden einige Zeit am Boden liegend verbringen.",
"recording_license": "",
"do_not_record": false,
"persons": [
{
"id": 17,
"code": "TTG8QM",
"public_name": "haasmi",
"biography": "TBD",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
},
{
"id": 46,
"guid": "0bdefc24-8ac0-5844-acc6-21dbd3ed4fb9",
"logo": "/media/dhcp-2024/submissions/9LUJGG/youWouldntDownloadAHouse_aSJvMlU_UU66zOw.png",
"date": "2024-11-02T22:00:00+01:00",
"start": "22:00",
"duration": "01:30",
"room": "Hackcenter",
"slug": "dhcp-2024-46-house",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/9LUJGG/",
"title": "House",
"subtitle": "",
"track": null,
"type": "DJ-Set",
"language": "de",
"abstract": "Chill Stutter House :thumbsup: :thumbsup:",
"description": "Künstler: Fred again.., 49th & Main, Lavern",
"recording_license": "",
"do_not_record": false,
"persons": [
{
"id": 37,
"code": "MBCWLS",
"public_name": "Konsti",
"biography": "Professional cook. Do not request any Songs I do not have them, leave me alone :exclamationmark: :exclamationmark: :exclamationmark:",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
},
{
"id": 42,
"guid": "9fdac370-012b-5757-b8e4-614509220a1e",
"logo": "/media/dhcp-2024/submissions/UFBM88/BassHouse_JVqkoIu.jpg",
"date": "2024-11-02T23:30:00+01:00",
"start": "23:30",
"duration": "01:00",
"room": "Hackcenter",
"slug": "dhcp-2024-42-house",
"url": "https://talks.dhcp.cfhn.it/dhcp-2024/talk/UFBM88/",
"title": "house",
"subtitle": "",
"track": null,
"type": "DJ-Set",
"language": "de",
"abstract": "Klassisches und Modernes Tech- und Bass House",
"description": "Klassisches und Mordernes Tech- und Bass House\r\nKünstler: Knock 2, ISOxo, Dillon Francis, Habstrakt, San Pancho\r\n\r\nKommt vorbei wird ein dickes Set! 👍",
"recording_license": "",
"do_not_record": false,
"persons": [
{
"id": 32,
"code": "ZUV7X7",
"public_name": "VPlus",
"biography": "Cool DJ. Come to my Set :thumbsup: :thumbsup:",
"answers": []
}
],
"links": [],
"attachments": [],
"answers": []
}
],
"Haupteingang": [
{ {
"id": 54, "id": 54,
"guid": "902a720f-02a9-55d9-8390-1788b00eb3a0", "guid": "902a720f-02a9-55d9-8390-1788b00eb3a0",
@ -1088,7 +1088,7 @@
"abstract": "Es wird Maultaschenburger geben. In Omi, Veggie und Vegan", "abstract": "Es wird Maultaschenburger geben. In Omi, Veggie und Vegan",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 4, "id": 4,
@ -1111,7 +1111,7 @@
"day_start": "2024-11-03T04:00:00+01:00", "day_start": "2024-11-03T04:00:00+01:00",
"day_end": "2024-11-04T03:59:00+01:00", "day_end": "2024-11-04T03:59:00+01:00",
"rooms": { "rooms": {
"D002 Vortragsraum": [ "D002": [
{ {
"id": 40, "id": 40,
"guid": "b4e14549-03df-55bf-b9ae-4200d19e93be", "guid": "b4e14549-03df-55bf-b9ae-4200d19e93be",
@ -1130,7 +1130,7 @@
"abstract": "Determining the winner of the DHCP24 Capture the Flag contest", "abstract": "Determining the winner of the DHCP24 Capture the Flag contest",
"description": "", "description": "",
"recording_license": "", "recording_license": "",
"do_not_record": false, "do_not_record": true,
"persons": [ "persons": [
{ {
"id": 30, "id": 30,