Skip to content

Commit acaa8a0

Browse files
committed
Add schedule from pretalx
Signed-off-by: Kowalski Dragon (kowalski7cc) <kowalski7cc@users.noreply.github.com>
1 parent 4b3861a commit acaa8a0

File tree

4 files changed

+108
-55
lines changed

4 files changed

+108
-55
lines changed

content/schedule.md

Lines changed: 64 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,62 +3,78 @@ title = "Programma e Contenuti"
33
date = 2025-08-26
44
+++
55

6+
<link rel="stylesheet" href="schedule.css">
7+
68
# Programma
9+
710
## Resta Aggiornato
8-
Il programma di `ESC {21}` è in fase di definizione, quindi questa pagina e' in continuo aggiornamento. Controlla nuovamente questa pagina piu' avanti per tenerti aggiornato sugli eventi, i talk e i laboratori che si terranno durante l'evento!
9-
11+
12+
Il programma di `ESC {21}` è in fase di definizione, quindi questa pagina e' in continuo aggiornamento. Controlla nuovamente questa pagina piu' avanti per tenerti aggiornato sugli eventi, i talk e i laboratori che si terranno durante l'evento!
13+
1014
Inoltre, puoi vedere lo schedule attuale (in allestimento!) sul **[Calendario di Pretalk](https://pretalx.endsummer.camp/2K25/schedule/)**.
1115
A breve verra' pubblicato lo schedule finale.
1216

13-
## Contribuisci all'ESC!
17+
## Contribuisci all'ESC!
1418

1519
La prima regola dell'ESC è: _"Porta all'ESC quello che vorresti vedere all'ESC!"_
1620
Per proporre un talk o un laboratorio, visita la nostra Call for Papers (CFP) su [Pretalx](https://pretalx.endsummer.camp/2K25/cfp).
1721

18-
19-
2022
# Contenuti
21-
## Talk
22-
23-
| **Titolo Talk** | **Speaker** |
24-
|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
25-
| **Visualising Wikipedia. Un nuovo strumento per visualizzare gruppi di voci di Wikipedia, per analizzarle e monitorarle, per sostenere il lavoro di volontari e comunità, e per creare paesaggi.** | Iolanda Pensa |
26-
| **sshlirp: create an instant VPN using VDE and slirp** | Renzo Davoli - rd235 |
27-
| **Pappagalli Stocastici: Hackerare gli LLM per capire cosa sono... e cosa non sono.** | Marco ""gioppino"" Gaion <br> Alessandra Bilardi |
28-
| **Oltre il Pappagallo: Anatomia di un Language Model** | Marco ""gioppino"" Gaion <br> Davide '+mala' Eynard |
29-
| **La storia del DRM: un viaggio nel passato delle tecnologie anti-pirateria** | scudo <br> neonsn0w |
30-
| **JWT sotto attacco** | zonia3000 |
31-
| **Fotografie Libere per i Beni Culturali: l’accesso e il riuso delle immagini tra opportunità e criticità legislative** | piergiovanna <br> Andrea Brugnoli |
32-
| **Datamining per la Cyber Threat Intelligence** | Michele Mitch Zoppè |
33-
| **Come (non) creare una flashcart per il Game Boy** | Aurora <br> Viola Guerrera |
34-
| **Birdgarden 2.0** | Ivo D'Amato |
35-
| **Agents to the people** | Davide '+mala' Eynard |
36-
| **8-Bit Minds: AI su Hardware Impossibile** | Emanuele Rodolà |
37-
| **6G ISAC/JSAC - Che cos'è e perché stavolta forse è il caso di preoccuparsi...** | mbound |
38-
| **Hardware in salamoia - L'arte di preservare materiale inorganico** | Sonno |
39-
| **Da un tap ad un pagamento - Anatomia del sistema di Point-of-Sale (POS) da un semplice "tap" alla banca** | Arves |
40-
41-
42-
## Labs
43-
44-
| **Titolo Lab** | **Speaker** |
45-
|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
46-
| **Workout per Programmatori: Kata di Extreme Programming** | Kowalski Dragon |
47-
| **Decoding LTE from Space with FOSS** | mbound |
48-
| **Da Pappagallo a Pirata Stocastico: Il tuo primo Agente AI locale con strumenti Open Source** | Marco ""gioppino"" Gaion <br> Alessandra Bilardi <br> Davide '+mala' Eynard |
49-
| **Pimp my ride - laboratorio sull'elettronica dei veicoli** | MG95Tux |
50-
51-
52-
## Music & Shows
53-
54-
| **Show** | **Artist** |
55-
|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
56-
| **DJ Set Techno/HardTechno** | Spawntty |
57-
| **Voltage Pyromania (Tesla Coil Music Show, YES!)<br>** | michele |
58-
| **DJ Set Japanese Hardcore/EDM** | WhiXard |
59-
| **Live Set: John Deere - Experimental Ambient duo merging Live Guitars + Synths/Electronics** | John Deere |
60-
| **cyrix86 - Chiptune chaotic (good) electrocore** | Cyrix86 Crew |
61-
62-
63-
6423

24+
<div id="schedule">
25+
<div class="spinner"></div>
26+
</div>
27+
28+
<script>
29+
// Mostra lo spinner all'avvio
30+
document.getElementById('schedule').innerHTML = '<div class="spinner"></div>';
31+
32+
fetch('https://pretalx.endsummer.camp/2K25/schedule/export/schedule.xml')
33+
.then(r => r.text())
34+
.then(xmlText => {
35+
const parser = new DOMParser();
36+
const xml = parser.parseFromString(xmlText, "application/xml");
37+
const days = xml.querySelectorAll('day');
38+
// Raggruppa gli eventi per track
39+
const tracks = {
40+
'Talk': [],
41+
'Project / Lab': [],
42+
'Music': []
43+
};
44+
days.forEach(day => {
45+
const date = day.getAttribute('date');
46+
day.querySelectorAll('room').forEach(room => {
47+
const roomName = room.getAttribute('name');
48+
room.querySelectorAll('event').forEach(event => {
49+
const title = event.querySelector('title')?.textContent || '';
50+
const start = event.querySelector('start')?.textContent || '';
51+
const duration = event.querySelector('duration')?.textContent || '';
52+
const track = event.querySelector('track')?.textContent || '';
53+
const abstract = event.querySelector('abstract')?.textContent || '';
54+
const url = event.querySelector('url')?.textContent || '';
55+
const persons = Array.from(event.querySelectorAll('persons person')).map(p => p.textContent).join(', ');
56+
const eventHtml = `
57+
<div class="event">
58+
<div class=""><strong>${title}</strong></div>
59+
<div class="time">${date} ${start} (durata ${duration})</div>
60+
<div class="room">Sala: ${roomName}</div>
61+
<div class="persons">Relatori: ${persons}</div>
62+
<a class="link" href="${url}" target="_blank">Dettagli</a>
63+
</div>
64+
`;
65+
if (track === 'Talk') tracks['Talk'].push(eventHtml);
66+
else if (track === 'Project / Lab') tracks['Project / Lab'].push(eventHtml);
67+
else if (track === 'Music') tracks['Music'].push(eventHtml);
68+
});
69+
});
70+
});
71+
let html = '';
72+
html += `<h2>Talk</h2>${tracks['Talk'].join('') || '<p>Nessun talk trovato.</p>'}`;
73+
html += `<h2>Project / Lab</h2>${tracks['Project / Lab'].join('') || '<p>Nessun progetto/lab trovato.</p>'}`;
74+
html += `<h2>Music</h2>${tracks['Music'].join('') || '<p>Nessun evento musicale trovato.</p>'}`;
75+
document.getElementById('schedule').innerHTML = html;
76+
})
77+
.catch(() => {
78+
document.getElementById('schedule').innerHTML = '<p>Impossibile caricare il programma.</p>';
79+
});
80+
</script>

sass/main.scss

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
// * {
2-
// border-style: solid;
3-
// border-color: #000;
4-
// border-width: 0.5px;
5-
// }
6-
71
body {
82
color: #636363;
93
font-family: Poppins, sans-serif;

sass/schedule.scss

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
.spinner {
2+
margin: 2em auto;
3+
border: 8px solid #eee;
4+
border-top: 8px solid #08bc00;
5+
border-radius: 50%;
6+
width: 48px;
7+
height: 48px;
8+
animation: spin 1s linear infinite;
9+
display: block;
10+
}
11+
12+
@keyframes spin {
13+
0% {
14+
transform: rotate(0deg);
15+
}
16+
100% {
17+
transform: rotate(360deg);
18+
}
19+
}
20+
21+
.event {
22+
background: #fff;
23+
padding: 1em;
24+
border-radius: 8px;
25+
box-shadow: 0 2px 8px #0001;
26+
}
27+
28+
.persons {
29+
color: #555;
30+
}
31+
32+
.time {
33+
color: #e000ff;
34+
}
35+
36+
.room {
37+
color: #009ec5;
38+
}
39+
40+
#schedule{
41+
display: flex;
42+
flex-direction: column;
43+
gap: 1em;
44+
}

templates/index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<link rel="stylesheet" href="lite-yt-embed.css" />
77
<script src="lite-yt-embed.js"></script>
88

9-
109
<div id="main_container">
1110
<div id="main_content">
1211
<div id="youtube_frame">

0 commit comments

Comments
 (0)