-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproc.py
More file actions
executable file
·247 lines (194 loc) · 8.13 KB
/
Copy pathproc.py
File metadata and controls
executable file
·247 lines (194 loc) · 8.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
#!/usr/bin/env python3
import os
import csv
import pandas
papers = pandas.read_csv("accepted-papers-and-panels.csv", index_col="ID", quotechar = '"')
def StartDay(msg):
print("<h3>" + msg + "</h3>")
def StartSession(title, time, chair):
print("<h4 class=\"sch\">")
print(title)
print("<span class=\"sch-time\">" + time + "</span>")
print("<span class=\"sch-sessionchair\">Session Chair: " + chair + "</span>")
print("</h4>")
def getslides(papernum):
slides = { }
sslides = [ ]
for k,ext in { "PDF":".pdf", "PowerPoint":".pptx", "ODF":".odf", "Keynote":".key" }.items():
path = "slides/slides" + str(papernum) + ext
if os.path.isfile(path):
slides[k] = path
for k,v in slides.items():
sslides += [ "<a href=\"" + v + "\">" + k + "</a>" ]
return " | ".join(sslides)
def PrintPapers(paperlist, pre = None):
print("<table class=\"table\">")
print(" <tbody>")
print(" <tr></tr>")
if (pre != None):
print(" <tr>")
print(" <td>" + pre + "</td>")
print(" </tr>")
print(" <tr>")
print(" <td>")
print(" <ul>")
for i in paperlist:
print(" <li>")
print(" <span class=\"sch-title\"><a href=\"papers/hotos25-" + str(i)
+ ".pdf\">" + papers.loc[i]["Title"] + "</a></span>")
print(" <br>")
print(" <em>" + papers.loc[i]["Authors"] + "</em>")
slides = getslides(i)
if len(slides) > 0:
print(" <br>");
print(" Slides: " + slides);
print(" </li>")
print(" </ul>")
print(" </td>")
print(" </tr>")
print(" </tbody>")
print("</table>")
def PrintBreak(msg):
print("<table class=\"table\">")
print(" <tbody>")
print(" <tr class=\"table-success\">")
print(" <th>" + msg + "</th>")
print(" </tr>")
print(" </tbody>")
print("</table>")
def PrintPanel(time, panel):
print("<table class=\"table\">")
print(" <tbody>")
print(" <tr class=\"table-info\">")
print(" <th>" + time + " — " + papers.loc[panel]["Title"] + "</th>")
print(" </tr>")
print(" <tr>")
print(" <td>")
print(" <b>Panelists:</b>")
print(" " + papers.loc[panel]["Authors"])
print(" </td>")
print(" </tr>")
print(" </tbody>")
print("</table>")
#
# Wednesday
#
print("""<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HotOS XX: The 20th Workshop on Hot Topics in Operating Systems</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="" name="keywords">
<meta content="" name="description">
<!-- Favicons -->
<link href="img/favicon.jpg" rel="icon">
<link href="img/apple-touch-icon.jpg" rel="apple-touch-icon">
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800" rel="stylesheet">
<!-- Libraries CSS Files -->
<link href="lib/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Main Stylesheet File -->
<link href="css/style.css" rel="stylesheet">
<!-- =======================================================
Theme Name: TheEvent
Theme URL: https://bootstrapmade.com/theevent-conference-event-bootstrap-template/
Author: BootstrapMade.com
License: https://bootstrapmade.com/license/
======================================================= -->
</head>
<body>
<!--==========================
Header
============================-->
<header id="header" class="header-fixed">
<div class="container">
<div id="logo" class="pull-left">
<h1><a href="./index.html"><span class="logo-a">HotOS</span>
<span class="logo-b">XX</span></a></h1>
</div>
<nav id="nav-menu-container">
<ul class="nav-menu">
<li class="menu"><a href="index.html">Home</a></li>
<li class="menu"><a href="attend.html">Attend</a></li>
<li class="menu"><a href="venue.html">Venue</a></li>
<li class="menu"><a href="travel.html">Travel</a></li>
<li class="menu"><a href="register.html">Register</a></li>
<li class="menu-active"><a href="program.html">Program</a></li>
<li class="menu"><a href="cfp.html">CFP</a></li>
<li class="menu"><a href="organizers.html">Organizers</a></li>
</ul>
</nav>
</div>
</header>
<section id="venue" class="wow fadeInUp"><div class="container">
<div class="section-header"><h2>Workshop Program</h2></div>""")
PrintBreak("Notice: Please do not email us changes to your paper title and affiliation. Please update them in HotCRP and they will be updated shortly.")
StartDay("Tuesday – May 13, 2025")
PrintBreak("14:00–17:00 — Registration Desk in Mount Stephen Hall (Mezzanine 1)")
PrintBreak("18:00–20:00 — Welcome Reception in Mount Stephen Hall (Mezzanine 1)")
StartDay("Wednesday – May 14, 2025")
PrintBreak("8:00–9:00 — Breakfast Buffet (Alhambra Room)")
StartSession("How to be in this world: Securing Adolescent AIs", "9:00–10:30", "Timothy Roscoe")
PrintPapers([156, 100, 290], "Introductory Remarks")
PrintBreak("10:30–10:45 — Coffee Break (Alhambra Foyer)")
StartSession("Breaking the Big Goal of Verification into Smaller Pieces", "10:45–12:00", "Alexandra (Sasha) Fedorova")
PrintPapers([67, 139, 206])
PrintBreak("12:00–13:15 — Lunch Buffet (Alhambra Room)")
StartSession("Tiered Storage: Yet More Systems Problems Solved with Another Layer of Indirection", "13:15–14:30", "Kim Keeton")
PrintPapers([72, 321, 144])
PrintBreak("14:30–15:00 — Coffee Break (Alhambra Foyer)")
StartSession("In Principle, Sure, but in Practice ...", "15:00–16:00", "James Mickens")
PrintPapers([56, 69])
PrintPanel("16:10–17:00", 399)
PrintBreak("Dinner on Your Own")
#
# Thursday
#
StartDay("Thursday – May 15, 2025")
PrintBreak("8:00–9:00 — Breakfast Buffet (Alhambra Room)")
StartSession("Throwback Thursday: Classic OS Design Issues, Remixed", "9:00–10:15", "Don Porter")
PrintPapers([364, 414, 178])
PrintBreak("10:15–10:45 — Coffee Break (Alhambra Foyer)")
StartSession("What Can we Learn from Learned Systems?", "10:45–12:00", "Aurojit Panda")
PrintPapers([113, 292, 251])
PrintBreak("12:00–13:15 — Lunch Buffet (Alhambra Room)")
StartSession("Faster Pipes", "13:15–14:30", "Ana Klimović")
PrintPapers([60, 240, 207])
PrintBreak("14:30–14:50 — Coffee Break (Alhambra Foyer)")
PrintPanel("14:50–15:50", 135)
StartSession("The Mind Fairly Boggles: Understanding Datacenter Application Behavior", "16:00–17:15", "Shivaram Venkataraman")
PrintPapers([71, 426, 106])
PrintBreak("18:00–19:00 — Cocktails (Alhambra Foyer)")
PrintBreak("19:00–21:00 — Banquet (Alhambra Room)")
#
# Friday
#
StartDay("Friday – May 16, 2025")
PrintBreak("8:00–9:00 — Breakfast Buffet (Alhambra Room)")
StartSession("Handling Malthusian Growth in Datacenter Infrastructure", "9:00–10:15", "Hugo Sadok")
PrintPapers([429, 102, 358])
PrintBreak("10:15–10:45 — Coffee Break (Alhambra Foyer)")
StartSession("Hot OSes without a Hot Planet", "10:45–12:00", "Natacha Crooks")
PrintPapers([17, 190, 92])
PrintBreak("Lunch on Your Own")
print("""</section>
<!--==========================
Footer
============================-->
<footer id="footer"><div class="container">
<div class="copyright">
© SIGOPS, 2024.
</div>
</div></footer>
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i></a>
<!-- JavaScript Libraries -->
<script src="lib/jquery/jquery.min.js"></script>
<script src="js/venobox.min.js"></script>
<script src="lib/superfish/hoverIntent.js"></script>
<script src="lib/superfish/superfish.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>""")