<!--@exec page.title = run_macros(page.title) page.summary = run_macros(page.summary) @--><?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> <html version='-//W3C//DTD XHTML 1.1//EN' xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd'> <head> <title>metanohi: <!--@eval page.title@--></title> <meta name='author' content='Niels Serup' /> <meta name='description' content='This is the personal website of Niels Serup. It hosts projects of varying importance.' /> <meta name='keywords' content='programming, hacking, nqpz, portfolio' /> <meta name='generator' content='http://metanohi.org/projects/mege/' /> <link rel='stylesheet' type='text/css' media='screen, tv' href='/static/screen.css' /> <link rel='stylesheet' type='text/css' media='print' href='/static/print.css' /> <link rel='stylesheet' type='text/css' media='tty' href='/static/tty.css' /> <link rel='stylesheet' type='text/css' media='handheld' href='/static/handheld.css' /> <link href='/atom.xml' type='application/atom+xml' rel='alternate' title='metanohi atom feed' /> <link rel='schema.DCTERMS' href='http://purl.org/dc/terms/' /> <meta name='DCTERMS.title' content='<!--@eval page.title@-->' /> <meta name='DCTERMS.description' content='<!--@eval page.summary@-->' /> <meta name='DCTERMS.creator' content='Niels Serup' /> <meta name='DCTERMS.format' content='application/xhtml+xml' /> <!--@exec if page.created_rfc3339: print(" <meta name='DCTERMS.created' content='{}' />".format(page.created_rfc3339)) if page.modified_rfc3339: print(" <meta name='DCTERMS.modified' content='{}' />".format(page.modified_rfc3339)) @--> <!--@eval ' '*4@--> <meta name='DCTERMS.language' content='en' /> <meta name='DCTERMS.isPartOf' content='http://metanohi.org/' /> <meta name='DCTERMS.isVersionOf' content='<!--@eval page.core_url@-->' /> <meta name='DCTERMS.audience' content='software developers' /> <meta name='DCTERMS.audience' content='hackers' /> <meta name='DCTERMS.audience' content='individuals' /> <!--@exec if page.licenses: for x in filter(lambda x: x.url, page.licenses): print("""\ <link rel='copyright' href='{x.url}' /> <meta name='DCTERMS.license' content='{x.url}' />\ """.format(x=x))@--> <!--@eval ' '*4@--> <meta name='robots' content='ALL' /> <link rel='icon' type='image/png' href='/favicon.png' /> <!-- The following JavaScript file contains trivial code. This website requires it for aesthetic reasons only. Not loading it will not make this website less functional. --> <script type='text/javascript' src='/static/aesthetics.js'></script> <!-- The following JavaScript file contains misc. code snippets designed to add extra features to a website. Not loading it will not make this website stop working. --> <script type='text/javascript' src='/static/extra.js'></script> <!--@eval run_macros(page.head)@--> </head> <body> <a id='minilogo' href='/'></a> <div id='menu'> <ul id='menulinks'> <!--@prexec for x in('projects', 'writings', 'films', 'about'): print(' ' * 14 + "<li><a href='/{x}/'>{x}</a></li>".format(x=x))@--> </ul> </div> <div id='body'<!--@exec if page.is_fullpage: print(" class='full'", end='')@-->> <!--@eval "<div id='toc'><h3>Contents</h3>" + page.toc_html + '</div>' if page.has_toc else ''@--> <!--@eval run_macros(page.body)@--> <!--@eval "<hr /><div id='footnotes'><h3>Footnotes</h3>" + page.footnotes_html + '</div>' if page.footnotes else ''@--> <div id='metadata'> <!--@eval run_macros(page.metadata_html)@--> </div> </div> <div id='logo'> <a href='/'></a> </div> </body> </html>