You know how it is

This commit is contained in:
Akko
2025-10-02 20:33:56 +02:00
parent fac0a2266d
commit 0018a7884c
208 changed files with 9923 additions and 887 deletions

309
html/projects/blog.html Normal file
View File

@@ -0,0 +1,309 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2025-10-02 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Blog Project</title>
<meta name="generator" content="Org Mode" />
<style type="text/css">
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<link rel="stylesheet" href="/static/fonts.css" type="text/css"/>
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
<script type="text/javascript" src="/static/jquery-3.6.4.slim.min.js"></script>
<script type="text/javascript" src="/static/esquemadorg.js"></script>
<script type="text/javascript" src="/static/footnote.js"></script>
<link rel="stylesheet" href="/static/footnote.css" type="text/css"/>
<link rel="stylesheet" href="/static/collapse.css" type="text/css">
<link rel="stylesheet" href="/static/custom.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="WebbieWeb" href="https://webbieweb.org/feed.xml">
</head>
<body>
<div id="preamble" class="status">
<div id="header">
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/friends.html">Webring</a>
<span id="looking-for-work">
<a href="/work/looking_for_work.html"><b>Looking for Work</b></a> — software, sysadmin, other — €30/hr — <i>2hr free!</i>
</span>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgd6382af" class="outline-2">
<h2 id="orgd6382af"><span class="todo TODO">TODO</span> Source Exposure</h2>
<div class="outline-text-2" id="text-orgd6382af">
<p>
Every page should have a button that takes you to the org-mode source for that page, using the beautifully named <code>org-org-export-to-org</code>.
</p>
</div>
</div>
<div id="outline-container-orgdefe118" class="outline-2">
<h2 id="orgdefe118"><span class="todo TODO">TODO</span> Comment Section</h2>
<div class="outline-text-2" id="text-orgdefe118">
</div>
<div id="outline-container-org166b13c" class="outline-3">
<h3 id="org166b13c">See <a href="./webbiewebworld/todo.html">./webbiewebworld/todo.html</a></h3>
</div>
</div>
<div id="outline-container-orge63ea84" class="outline-2">
<h2 id="orge63ea84"><span class="todo TODO">TODO</span> Feeds</h2>
<div class="outline-text-2" id="text-orge63ea84">
</div>
<div id="outline-container-org320f120" class="outline-3">
<h3 id="org320f120"><span class="done DONE">DONE</span> RSS</h3>
</div>
<div id="outline-container-org3dd1072" class="outline-3">
<h3 id="org3dd1072"><span class="todo TODO">TODO</span> Email?</h3>
</div>
</div>
<div id="outline-container-orgaddbccc" class="outline-2">
<h2 id="orgaddbccc"><span class="todo TODO">TODO</span> Multiple frontends dispatch</h2>
</div>
<div id="outline-container-orgb1e0584" class="outline-2">
<h2 id="orgb1e0584"><span class="todo TODO">TODO</span> Custom emojis</h2>
</div>
<div id="outline-container-orgd50151f" class="outline-2">
<h2 id="orgd50151f"><span class="todo TODO">TODO</span> Fill in webring</h2>
</div>
<div id="outline-container-orgba46fac" class="outline-2">
<h2 id="orgba46fac"><span class="todo TODO">TODO</span> Port <a href="../../esquemadorg.js">esquemadorg.js</a> to CLJS and get rid of JQuery dependency</h2>
</div>
<div id="outline-container-org4cb8cdb" class="outline-2">
<h2 id="org4cb8cdb"><span class="todo TODO">TODO</span> &ldquo;Last Modified&rdquo; implementation is a bit janky and I don&rsquo;t remember exactly how it works</h2>
</div>
<div id="outline-container-org4154fbc" class="outline-2">
<h2 id="org4154fbc"><span class="todo TODO">TODO</span> Rewrite all JS to CLJS</h2>
</div>
<div id="outline-container-org50d1132" class="outline-2">
<h2 id="org50d1132"><span class="todo TODO">TODO</span> Support for auto-folded sections</h2>
</div>
<div id="outline-container-org48d06de" class="outline-2">
<h2 id="org48d06de"><span class="todo TODO">TODO</span> Naming a section &ldquo;footnotes&rdquo; will cause org-mode to interpret it as the footnotes section when exporting (causing it to be hidden)</h2>
</div>
<div id="outline-container-org937980a" class="outline-2">
<h2 id="org937980a"><span class="todo TODO">TODO</span> Tangle CSS and (CL)JS from org file</h2>
</div>
<div id="outline-container-org75b6451" class="outline-2">
<h2 id="org75b6451"><span class="todo TODO">TODO</span> Reorganize <code>static/</code> dir</h2>
</div>
<div id="outline-container-org63d221c" class="outline-2">
<h2 id="org63d221c"><span class="todo TODO">TODO</span> Write Ultraman page</h2>
</div>
<div id="outline-container-orgd01b008" class="outline-2">
<h2 id="orgd01b008"><span class="todo TODO">TODO</span> Automatically remove EXIF data from static images</h2>
</div>
<div id="outline-container-org2b311e0" class="outline-2">
<h2 id="org2b311e0"><span class="todo TODO">TODO</span> !! OLD HTML FILES STILL DON&rsquo;T AUTO CLEAR WHEN CORRESPONDING ORG FILE IS REMOVED !!</h2>
</div>
<div id="outline-container-orgc62b598" class="outline-2">
<h2 id="orgc62b598"><span class="todo TODO">TODO</span> Deploy to webbieweb.org</h2>
</div>
<div id="outline-container-orgb25cff4" class="outline-2">
<h2 id="orgb25cff4"><span class="todo TODO">TODO</span> Put DJ sets on bloggie</h2>
</div>
<div id="outline-container-org142d455" class="outline-2">
<h2 id="org142d455"><span class="todo TODO">TODO</span> Fix background flash</h2>
</div>
<div id="outline-container-org86a4273" class="outline-2">
<h2 id="org86a4273"><span class="todo TODO">TODO</span> Exclude certain files from sitemap</h2>
</div>
</div>
<div id="postamble" class="status">
<div id='footer'><div id='modified-date'>Last modified: 2025-10-02</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
<br>
This website <a href="/feed.xml">supports RSS</a> (I update it manually). <br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2025-10-02 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>EMPTYHEAD TODO</title>
<meta name="generator" content="Org Mode" />
<style type="text/css">
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<link rel="stylesheet" href="/static/fonts.css" type="text/css"/>
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
<script type="text/javascript" src="/static/jquery-3.6.4.slim.min.js"></script>
<script type="text/javascript" src="/static/esquemadorg.js"></script>
<script type="text/javascript" src="/static/footnote.js"></script>
<link rel="stylesheet" href="/static/footnote.css" type="text/css"/>
<link rel="stylesheet" href="/static/collapse.css" type="text/css">
<link rel="stylesheet" href="/static/custom.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="WebbieWeb" href="https://webbieweb.org/feed.xml">
</head>
<body>
<div id="preamble" class="status">
<div id="header">
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/friends.html">Webring</a>
<span id="looking-for-work">
<a href="/work/looking_for_work.html"><b>Looking for Work</b></a> — software, sysadmin, other — €30/hr — <i>2hr free!</i>
</span>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orge8aebd2" class="outline-2">
<h2 id="orge8aebd2"><span class="todo TODO">TODO</span> fill this in</h2>
</div>
</div>
<div id="postamble" class="status">
<div id='footer'><div id='modified-date'>Last modified: 2025-09-27</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
<br>
This website <a href="/feed.xml">supports RSS</a> (I update it manually). <br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,334 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2025-10-02 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Tenma Readme</title>
<meta name="generator" content="Org Mode" />
<style type="text/css">
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<link rel="stylesheet" href="/static/fonts.css" type="text/css"/>
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
<script type="text/javascript" src="/static/jquery-3.6.4.slim.min.js"></script>
<script type="text/javascript" src="/static/esquemadorg.js"></script>
<script type="text/javascript" src="/static/footnote.js"></script>
<link rel="stylesheet" href="/static/footnote.css" type="text/css"/>
<link rel="stylesheet" href="/static/collapse.css" type="text/css">
<link rel="stylesheet" href="/static/custom.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="WebbieWeb" href="https://webbieweb.org/feed.xml">
</head>
<body>
<div id="preamble" class="status">
<div id="header">
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/friends.html">Webring</a>
<span id="looking-for-work">
<a href="/work/looking_for_work.html"><b>Looking for Work</b></a> — software, sysadmin, other — €30/hr — <i>2hr free!</i>
</span>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgae6c651" class="outline-2">
<h2 id="orgae6c651">Opening tenma up to friends</h2>
<div class="outline-text-2" id="text-orgae6c651">
<p>
Our server/intranet Tenma is currently underutilized, and it would be nice/fun/useful to open it up to select other people. This would only be available to friends, not a public service.
</p>
</div>
<div id="outline-container-org03e1f2c" class="outline-3">
<h3 id="org03e1f2c">Tenma Specs</h3>
<div class="outline-text-3" id="text-org03e1f2c">
<ul class="org-ul">
<li>Storage: 2×12TB in RAID 1</li>
<li>CPU: Ryzen 7 3700X (16 threads @ 3.6GHz)</li>
<li>Memory: 64GB</li>
<li>Network: Gigabit ethernet (Hetzner server in Finland)</li>
</ul>
</div>
</div>
<div id="outline-container-orgeac5039" class="outline-3">
<h3 id="orgeac5039">Things that Tenma can provide</h3>
<div class="outline-text-3" id="text-orgeac5039">
</div>
<div id="outline-container-org7224ca9" class="outline-4">
<h4 id="org7224ca9">Storage</h4>
<div class="outline-text-4" id="text-org7224ca9">
<p>
As of 23-06-2025, 4.6TB free space. Could start by reserving 1TB, which would provide enough storage for 20×50GB for guests users, which would be plenty for a long time. Tenma also hosts a <a href="https://github.com/9001/copyparty">copyparty</a> instance that could be opened to the public to some extent or another.
</p>
</div>
</div>
<div id="outline-container-orgf70ef25" class="outline-4">
<h4 id="orgf70ef25">Bandwidth/hosting</h4>
<div class="outline-text-4" id="text-orgf70ef25">
<p>
Tenma has full web hosting infrastructure set up (hosting this blog among other things), so that would be easy to extend to other people as well.
</p>
</div>
</div>
<div id="outline-container-org58ea1b3" class="outline-4">
<h4 id="org58ea1b3">VPS</h4>
<div class="outline-text-4" id="text-org58ea1b3">
<p>
In line with the previous 2 points; compute resources are currently underutilized.
</p>
</div>
</div>
<div id="outline-container-orgf426a44" class="outline-4">
<h4 id="orgf426a44">Intranet</h4>
<div class="outline-text-4" id="text-orgf426a44">
<p>
Tenma runs a Wireguard VPN network. You can use this to, for instance, access services between two connected devices without having to open them up to the wider internet.
</p>
</div>
</div>
<div id="outline-container-orgbac69cf" class="outline-4">
<h4 id="orgbac69cf">DNS Server</h4>
<div class="outline-text-4" id="text-orgbac69cf">
<p>
Tenma runs a fully resolving DNS server, with some local entries for devices on the VPN network. This should probably be automated in some way, and the service should be augmented with DNSSEC before opening.
</p>
</div>
</div>
<div id="outline-container-org15a3d50" class="outline-4">
<h4 id="org15a3d50">Git</h4>
<div class="outline-text-4" id="text-org15a3d50">
<p>
Tenma has a <a href="https://git.nakadashi.lol/">Gitea instance</a>
</p>
</div>
</div>
<div id="outline-container-org7c18ade" class="outline-4">
<h4 id="org7c18ade">Livestreaming</h4>
<div class="outline-text-4" id="text-org7c18ade">
<p>
Tenma has infrastructure proven capable of restreaming 1080p video and high quality audio to at least ~100 people although this is CPU intensive and requires activating a high bandwidth restreaming VPS that is usually kept disabled to save costs.
</p>
</div>
</div>
<div id="outline-container-org8eb40d4" class="outline-4">
<h4 id="org8eb40d4">Other things</h4>
<div class="outline-text-4" id="text-org8eb40d4">
<p>
Some other services that currently run on Tenma or have run there before:
</p>
<ul class="org-ul">
<li><a href="https://github.com/dani-garcia/vaultwarden">Vaultwarden</a> Bitwarden-compatible password manager server</li>
<li><a href="https://soju.im/">Soju</a> IRC bouncer</li>
<li><a href="https://syncplay.pl/">Syncplay</a> server</li>
<li>Video game servers (think Minecraft, Terraria, &#x2026;)</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-org28cabbd" class="outline-3">
<h3 id="org28cabbd">Considerations</h3>
<div class="outline-text-3" id="text-org28cabbd">
<ul class="org-ul">
<li>This would require Tenma&rsquo;s internal documentation to be updated, adapted and publicized.</li>
<li>Security :teto:</li>
</ul>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<div id='footer'><div id='modified-date'>Last modified: 2025-10-02</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
<br>
This website <a href="/feed.xml">supports RSS</a> (I update it manually). <br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
</div>
</div>
</body>
</html>

234
html/projects/vdp/todo.html Normal file
View File

@@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2025-10-02 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>VDP TODO</title>
<meta name="generator" content="Org Mode" />
<style type="text/css">
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<link rel="stylesheet" href="/static/fonts.css" type="text/css"/>
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
<script type="text/javascript" src="/static/jquery-3.6.4.slim.min.js"></script>
<script type="text/javascript" src="/static/esquemadorg.js"></script>
<script type="text/javascript" src="/static/footnote.js"></script>
<link rel="stylesheet" href="/static/footnote.css" type="text/css"/>
<link rel="stylesheet" href="/static/collapse.css" type="text/css">
<link rel="stylesheet" href="/static/custom.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="WebbieWeb" href="https://webbieweb.org/feed.xml">
</head>
<body>
<div id="preamble" class="status">
<div id="header">
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/friends.html">Webring</a>
<span id="looking-for-work">
<a href="/work/looking_for_work.html"><b>Looking for Work</b></a> — software, sysadmin, other — €30/hr — <i>2hr free!</i>
</span>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgf9423e6" class="outline-2">
<h2 id="orgf9423e6"><span class="todo TODO">TODO</span> Figure out what &ldquo;VDP&rdquo; stands for</h2>
</div>
</div>
<div id="postamble" class="status">
<div id='footer'><div id='modified-date'>Last modified: 2025-09-27</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
<br>
This website <a href="/feed.xml">supports RSS</a> (I update it manually). <br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2025-10-02 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>WebbieWebWorld TODO</title>
<meta name="generator" content="Org Mode" />
<style type="text/css">
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<link rel="stylesheet" href="/static/fonts.css" type="text/css"/>
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
<script type="text/javascript" src="/static/jquery-3.6.4.slim.min.js"></script>
<script type="text/javascript" src="/static/esquemadorg.js"></script>
<script type="text/javascript" src="/static/footnote.js"></script>
<link rel="stylesheet" href="/static/footnote.css" type="text/css"/>
<link rel="stylesheet" href="/static/collapse.css" type="text/css">
<link rel="stylesheet" href="/static/custom.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="WebbieWeb" href="https://webbieweb.org/feed.xml">
</head>
<body>
<div id="preamble" class="status">
<div id="header">
<a class="navbar-link" href="/">Home</a>
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
<a class="navbar-link" href="/friends.html">Webring</a>
<span id="looking-for-work">
<a href="/work/looking_for_work.html"><b>Looking for Work</b></a> — software, sysadmin, other — €30/hr — <i>2hr free!</i>
</span>
</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgd6bb027" class="outline-2">
<h2 id="orgd6bb027"><span class="todo TODO">TODO</span> fill this in</h2>
</div>
</div>
<div id="postamble" class="status">
<div id='footer'><div id='modified-date'>Last modified: 2025-09-27</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
<br>
This website <a href="/feed.xml">supports RSS</a> (I update it manually). <br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
</div>
</div>
</body>
</html>