Compare commits
20 Commits
a77a89dc2f
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
fac0a2266d | ||
|
de49cd6b49 | ||
|
d8fdd8c9d6 | ||
|
55390028cf | ||
|
64ab7cce14 | ||
|
65a9e29d59 | ||
|
a1cafd7e07 | ||
|
74c9f45e00 | ||
|
e5a5e16bbe | ||
|
fda856edd5 | ||
|
396d16d656 | ||
|
9829538c95 | ||
|
c0ba0337b8 | ||
|
86e9b1a691 | ||
|
ab0909e4c8 | ||
|
7a0090d983 | ||
|
ea012d5631 | ||
|
a0e5f3e4bb | ||
|
6761a86b65 | ||
|
6221a291a6 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
html/posts/drafts/
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>About</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -203,15 +207,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<p>
|
||||
chuuu
|
||||
</p>
|
||||
|
||||
<p>
|
||||
fdsfsdf
|
||||
TODO
|
||||
</p>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2023-01-10</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-11</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -222,4 +222,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Blogroll</title>
|
||||
<title>Art Server</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -204,7 +208,7 @@
|
||||
<div id="content" class="content">
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2023-01-10</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -215,4 +219,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Experiments</title>
|
||||
<title>Imageboard Software</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,13 +206,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-bash"><span class="org-type">echo</span> $<span class="org-highlight-numbers-number">0</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2022-04-03</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -219,4 +219,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
325
html/designdocs/tenma.html
Normal file
325
html/designdocs/tenma.html
Normal file
@@ -0,0 +1,325 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Tenma</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgcfe224f" class="outline-2">
|
||||
<h2 id="orgcfe224f">Opening tenma up to friends</h2>
|
||||
<div class="outline-text-2" id="text-orgcfe224f">
|
||||
<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-org49b87da" class="outline-3">
|
||||
<h3 id="org49b87da">Tenma Specs</h3>
|
||||
<div class="outline-text-3" id="text-org49b87da">
|
||||
<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-orgd587eb5" class="outline-3">
|
||||
<h3 id="orgd587eb5">Things that Tenma can provide</h3>
|
||||
<div class="outline-text-3" id="text-orgd587eb5">
|
||||
</div>
|
||||
<div id="outline-container-orgf3b4082" class="outline-4">
|
||||
<h4 id="orgf3b4082">Storage</h4>
|
||||
<div class="outline-text-4" id="text-orgf3b4082">
|
||||
<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-org14f7a18" class="outline-4">
|
||||
<h4 id="org14f7a18">Bandwidth/hosting</h4>
|
||||
<div class="outline-text-4" id="text-org14f7a18">
|
||||
<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-org96eb0f9" class="outline-4">
|
||||
<h4 id="org96eb0f9">VPS</h4>
|
||||
<div class="outline-text-4" id="text-org96eb0f9">
|
||||
<p>
|
||||
In line with the previous 2 points; compute resources are currently underutilized.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdd34696" class="outline-4">
|
||||
<h4 id="orgdd34696">Intranet</h4>
|
||||
<div class="outline-text-4" id="text-orgdd34696">
|
||||
<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-org6bfe2ac" class="outline-4">
|
||||
<h4 id="org6bfe2ac">DNS Server</h4>
|
||||
<div class="outline-text-4" id="text-org6bfe2ac">
|
||||
<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-orgce310db" class="outline-4">
|
||||
<h4 id="orgce310db">Git</h4>
|
||||
<div class="outline-text-4" id="text-orgce310db">
|
||||
<p>
|
||||
Tenma has a <a href="https://git.nakadashi.lol/">Gitea instance</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3d66dd9" class="outline-4">
|
||||
<h4 id="org3d66dd9">Livestreaming</h4>
|
||||
<div class="outline-text-4" id="text-org3d66dd9">
|
||||
<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-orgcd0cff1" class="outline-4">
|
||||
<h4 id="orgcd0cff1">Other things</h4>
|
||||
<div class="outline-text-4" id="text-orgcd0cff1">
|
||||
<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, …)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org92c2763" class="outline-3">
|
||||
<h3 id="org92c2763">Considerations</h3>
|
||||
<div class="outline-text-3" id="text-org92c2763">
|
||||
<ul class="org-ul">
|
||||
<li>This would require Tenma’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-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
340
html/designdocs/website.html
Normal file
340
html/designdocs/website.html
Normal file
@@ -0,0 +1,340 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>nakadashi.lol website</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org3bb2c07" class="outline-2">
|
||||
<h2 id="org3bb2c07">akko.nakadashi.lol Design Document</h2>
|
||||
<div class="outline-text-2" id="text-org3bb2c07">
|
||||
</div>
|
||||
<div id="outline-container-org2eee131" class="outline-3">
|
||||
<h3 id="org2eee131">Hackerman Shit</h3>
|
||||
<div class="outline-text-3" id="text-org2eee131">
|
||||
</div>
|
||||
<div id="outline-container-org8d08647" class="outline-4">
|
||||
<h4 id="org8d08647"><span class="todo TODO">TODO</span> Source Exposure</h4>
|
||||
<div class="outline-text-4" id="text-org8d08647">
|
||||
<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>. This should interact properly with <a href="#orgc112d11">Access Control</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc112d11" class="outline-3">
|
||||
<h3 id="orgc112d11"><span class="todo TODO">TODO</span> Access Control</h3>
|
||||
<div class="outline-text-3" id="text-orgc112d11">
|
||||
<p>
|
||||
The blog should have a form of access control. For instance, some things might be public, but other things I might only want to show to select people, or might contain other people’s semi-confidential information that needs protection. Also, some people might want to opt out/not care about certain types of content, or I might want to present a certain “view” of the content myself.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As such, we need:
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org00fb458" class="outline-4">
|
||||
<h4 id="org00fb458"><span class="todo TODO">TODO</span> System for marking content</h4>
|
||||
<div class="outline-text-4" id="text-org00fb458">
|
||||
<p>
|
||||
With one or more categories. This should definitely work at least on the section level. The most viable candidate feature seems to be <a href="https://orgmode.org/manual/Tags.html">org-mode tags</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbe4c969" class="outline-4">
|
||||
<h4 id="orgbe4c969"><span class="todo TODO">TODO</span> A way to export the correct selection of sections for every possible “view”</h4>
|
||||
<div class="outline-text-4" id="text-orgbe4c969">
|
||||
<p>
|
||||
Best place to start would be looking at <a href="https://orgmode.org/manual/Export-Settings.html"><code>EXCLUDE_TAGS</code></a>. Should export to org file first and from there to HTML, in order to enable <a href="#org8d08647">Source Exposure</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org72b589e" class="outline-4">
|
||||
<h4 id="org72b589e"><span class="todo TODO">TODO</span> A way of encoding which view corresponds to which html file.</h4>
|
||||
</div>
|
||||
<div id="outline-container-org87bcf43" class="outline-4">
|
||||
<h4 id="org87bcf43"><span class="todo TODO">TODO</span> A way of encoding which view should be given, for a given URL.</h4>
|
||||
<div class="outline-text-4" id="text-org87bcf43">
|
||||
<p>
|
||||
i.e., the actual permission system. I definitely want to at least be able to:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Generate a direct link to a specific view;</li>
|
||||
<li>Have a concept of a person having certain permissions, maybe through a cookie;</li>
|
||||
<li>Be able to revoke permissions;</li>
|
||||
<li>NOT have an “account system”;</li>
|
||||
<li>Of course, have security on this.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org13972a9" class="outline-3">
|
||||
<h3 id="org13972a9">Style</h3>
|
||||
<div class="outline-text-3" id="text-org13972a9">
|
||||
</div>
|
||||
<div id="outline-container-orgad1b796" class="outline-4">
|
||||
<h4 id="orgad1b796"><span class="todo TODO">TODO</span> different theme</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgc9a800a" class="outline-4">
|
||||
<h4 id="orgc9a800a"><span class="todo TODO">TODO</span> theme selection</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7b416db" class="outline-3">
|
||||
<h3 id="org7b416db">Social</h3>
|
||||
<div class="outline-text-3" id="text-org7b416db">
|
||||
</div>
|
||||
<div id="outline-container-orgdceb91c" class="outline-4">
|
||||
<h4 id="orgdceb91c"><span class="todo TODO">TODO</span> Followable feed</h4>
|
||||
</div>
|
||||
<div id="outline-container-org10e6689" class="outline-4">
|
||||
<h4 id="org10e6689"><span class="todo TODO">TODO</span> Comment section</h4>
|
||||
<div class="outline-text-4" id="text-org10e6689">
|
||||
<p>
|
||||
Maybe powered by bluesky? I’ve heard that’s a thing people do.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdceab0f" class="outline-3">
|
||||
<h3 id="orgdceab0f">Meme features</h3>
|
||||
<div class="outline-text-3" id="text-orgdceab0f">
|
||||
</div>
|
||||
<div id="outline-container-org53d88a3" class="outline-4">
|
||||
<h4 id="org53d88a3"><span class="todo TODO">TODO</span> teto face</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2d43348" class="outline-3">
|
||||
<h3 id="org2d43348">Open Issues</h3>
|
||||
<div class="outline-text-3" id="text-org2d43348">
|
||||
</div>
|
||||
<div id="outline-container-org9107fa7" class="outline-4">
|
||||
<h4 id="org9107fa7"><span class="todo TODO">TODO</span> Running the publish command in Emacs doesn’t remove orphan HTML files.</h4>
|
||||
</div>
|
||||
<div id="outline-container-org82ae5fb" class="outline-4">
|
||||
<h4 id="org82ae5fb"><span class="todo TODO">TODO</span> Port <a href="../static/esquemadorg.js">esquemadorg.js</a> to modern JS and get rid of jquery dependency.</h4>
|
||||
<div class="outline-text-4" id="text-org82ae5fb">
|
||||
<p>
|
||||
Good use case for AI
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd28eb8c" class="outline-4">
|
||||
<h4 id="orgd28eb8c"><span class="todo TODO">TODO</span> “Last Modified” implementation is a bit janky and I don’t remember exactly how it works</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2022-04-18 Mon 12:54 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>eheheawawawawa</title>
|
||||
<title>Witch Princess Lyrica</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -188,9 +188,13 @@
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
.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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,26 +206,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-orgdf1074e" class="outline-2">
|
||||
<h2 id="orgdf1074e">eheheawawawawa</h2>
|
||||
<div class="outline-text-2" id="text-orgdf1074e">
|
||||
<p>
|
||||
<i>last modified: 2022-03-21</i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id="footer">
|
||||
<hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Snippets</title>
|
||||
<title>Friends</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,24 +206,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-org0911c29" class="outline-2">
|
||||
<h2 id="org0911c29">X11</h2>
|
||||
<div class="outline-text-2" id="text-org0911c29">
|
||||
</div>
|
||||
<div id="outline-container-org474f37d" class="outline-3">
|
||||
<h3 id="org474f37d">Reset xrandr</h3>
|
||||
<div class="outline-text-3" id="text-org474f37d">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-bash">xrandr -s <span class="org-highlight-numbers-number">0</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1b1f147" class="outline-2">
|
||||
<h2 id="org1b1f147"><span class="todo TODO">TODO</span> </h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2022-04-03</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -230,4 +222,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
323
html/habits.html
Normal file
323
html/habits.html
Normal file
@@ -0,0 +1,323 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Habits</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org25a8c29" class="outline-2">
|
||||
<h2 id="org25a8c29">Activate habits</h2>
|
||||
<div class="outline-text-2" id="text-org25a8c29">
|
||||
</div>
|
||||
<div id="outline-container-org72adc57" class="outline-3">
|
||||
<h3 id="org72adc57"><span class="todo TODO">TODO</span> Meditation</h3>
|
||||
<div class="outline-text-3" id="text-org72adc57">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf1d66c1" class="outline-3">
|
||||
<h3 id="orgf1d66c1"><span class="todo TODO">TODO</span> Walk 5000 steps</h3>
|
||||
<div class="outline-text-3" id="text-orgf1d66c1">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgeea0b9f" class="outline-3">
|
||||
<h3 id="orgeea0b9f"><span class="todo TODO">TODO</span> Work on website</h3>
|
||||
<div class="outline-text-3" id="text-orgeea0b9f">
|
||||
<ul class="org-ul">
|
||||
<li>State “DONE” from “TODO” <span class="timestamp-wrapper"><span class="timestamp">[2025-06-23 Mon 13:33]</span></span></li>
|
||||
</ul>
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-24 Tue ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge0ddbf3" class="outline-3">
|
||||
<h3 id="orge0ddbf3"><span class="todo TODO">TODO</span> Log into Runescape</h3>
|
||||
<div class="outline-text-3" id="text-orge0ddbf3">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6f8d657" class="outline-2">
|
||||
<h2 id="org6f8d657">Inactive Habits</h2>
|
||||
<div class="outline-text-2" id="text-org6f8d657">
|
||||
</div>
|
||||
<div id="outline-container-org0369c23" class="outline-3">
|
||||
<h3 id="org0369c23"><span class="todo TODO">TODO</span> Write diary entry</h3>
|
||||
<div class="outline-text-3" id="text-org0369c23">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org71235f9" class="outline-3">
|
||||
<h3 id="org71235f9"><span class="todo TODO">TODO</span> Daily prep morning/evening</h3>
|
||||
<div class="outline-text-3" id="text-org71235f9">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6e3946c" class="outline-3">
|
||||
<h3 id="org6e3946c"><span class="todo TODO">TODO</span> Listen to new music</h3>
|
||||
<div class="outline-text-3" id="text-org6e3946c">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7bade95" class="outline-3">
|
||||
<h3 id="org7bade95"><span class="todo TODO">TODO</span> Practice drawing</h3>
|
||||
<div class="outline-text-3" id="text-org7bade95">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge9d37e3" class="outline-3">
|
||||
<h3 id="orge9d37e3"><span class="todo TODO">TODO</span> Work through inboxes (art/email/browser tabs)</h3>
|
||||
<div class="outline-text-3" id="text-orge9d37e3">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb3bd636" class="outline-3">
|
||||
<h3 id="orgb3bd636"><span class="todo TODO">TODO</span> Study French</h3>
|
||||
<div class="outline-text-3" id="text-orgb3bd636">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2940f6d" class="outline-3">
|
||||
<h3 id="org2940f6d"><span class="todo TODO">TODO</span> Maintain social media presence</h3>
|
||||
<div class="outline-text-3" id="text-org2940f6d">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-06-23 Mon ++1d></span></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Index</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -203,11 +207,19 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<p>
|
||||
Welcome to my website! I’m <a href="./about.html">Akko</a>. I’m currently a computer science student and freelance software developer. I blog about Emacs, Buddhism and meditation, otaku stuff, and other things that interest me. You can view the full list of pages on this website on the <a href="./sitemap.html">sitemap</a>.
|
||||
Welcome to my website! I’m <a href="./about.html">akk0</a>. I blog about Emacs, programming, Buddhism and meditation, otaku stuff, and other things that interest me. You can view the full list of pages on this website on the <a href="./sitemap.html">sitemap</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Site currently under construction and only has a few ancient articles >_<" I will update this I promise!!
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Find me on <a href="https://bsky.app/profile/indra-sakka.bsky.social">BlueSky</a>!
|
||||
</p>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2022-04-03</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -218,4 +230,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>How this blog is built</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,13 +206,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-org4803017" class="outline-2">
|
||||
<h2 id="org4803017">Blog Tech</h2>
|
||||
<div class="outline-text-2" id="text-org4803017">
|
||||
<div id="outline-container-orgbd4ba64" class="outline-2">
|
||||
<h2 id="orgbd4ba64">Blog Tech</h2>
|
||||
<div class="outline-text-2" id="text-orgbd4ba64">
|
||||
</div>
|
||||
<div id="outline-container-org8db1a7b" class="outline-3">
|
||||
<h3 id="org8db1a7b">chuu</h3>
|
||||
<div id="outline-container-orgac4801c" class="outline-3">
|
||||
<h3 id="orgac4801c">chuu</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,4 +227,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -1,402 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Week 3, 2023, "Week of Systems" report</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
#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/style.css" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-orgc7a5e5b" class="outline-2">
|
||||
<h2 id="orgc7a5e5b">Week 3, 2023, “Week of Systems” report</h2>
|
||||
<div class="outline-text-2" id="text-orgc7a5e5b">
|
||||
</div>
|
||||
<div id="outline-container-org14e68aa" class="outline-3">
|
||||
<h3 id="org14e68aa">Introduction</h3>
|
||||
<div class="outline-text-3" id="text-org14e68aa">
|
||||
<p>
|
||||
Last week I worked on the issue of “life systems”, by which I mean systems such as to-do lists, good habits such as exercise, schedules, plans, that sort of thing. At various times in the past I’ve had various such systems, some working better than others. I used to make a list of the day’s goals every morning and cross them off throughout the day. I also keep a file called <code>life.org</code> where I keep track of to-dos and leads to look into at a later point and such. Other things I would consider “sytems” include my daily meditation practice and various attempts at regular exercise I’ve made in the past.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Keeping systems is hard because life is messy. Whole-life systems as these are truly all-encompassing, and thus they interact with all of life’s complexity. The <a href="https://www.lesswrong.com/posts/CPm5LTwHrvBJCa9h5/planning-fallacy">Planning Fallacy</a> turns any attempts at tying to-do lists and intentions to timespans and deadlines into an uphill battle. Changing your habits is famously hard. Unexpected things will happen with certainty; priorities change, capabilities fluctuate, problems spring up and solve themselves.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3eb66ac" class="outline-3">
|
||||
<h3 id="org3eb66ac">Desirable Traits</h3>
|
||||
<div class="outline-text-3" id="text-org3eb66ac">
|
||||
<p>
|
||||
The primary issue with life systems is therefore the overhead, the burden of maintenance, the stress. Rather than simplifying life, it is easy to <i>add</i> an administrative burden. In light of this, I’ve isolated the following properties that I think a good system should have:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li><b>Simplicity</b>. The overall system can not contain too many moving parts. In order to be simple to apply, it needs to be simple to explain; in order to be simple to explain, it needs to <i>be</i> simple.</li>
|
||||
<li><b>Smooth scaling</b>. As life’s difficulties and my capacity to handle them fluctuate, the systems of my life need to be able to scale smoothly up and down. During tough times I need to be able to simplify my life to the most important parts; during better times I should be able to smoothly pick the rest back up where I left it. Implicit in this is also a <i>hierarchy of priority</i>, an order in which I drop things, a notion of what is least worthwhile at any given time.</li>
|
||||
<li><b>Malleability</b>. As both my life and my understanding of it are liable to change, my systems need to be able to adapt with minimal burden. Because of this there ought to be few strict schemas; for, if the schema has to change, all data already <i>within</i> that scheme would have to be migrated.</li>
|
||||
<li><b>Evaluation</b>. There needs to be some measure of <i>how well things are going</i>, in order to catch problems early and prevent catastrophic failure, and furthermore to optimize the system. Other constraints enforce simplicity here; a system of regular deadlines, for instance, would be too inflexible.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org004cd39" class="outline-3">
|
||||
<h3 id="org004cd39">Specifics and the Problem of Ends</h3>
|
||||
<div class="outline-text-3" id="text-org004cd39">
|
||||
<p>
|
||||
The above is about as far as I got in terms of definitives. I did not start there; I started at neither the level of specifics nor of generalities, but in between, dealing with things such as “managing stress” and “measurability” and “dimensions of personal development”. At this level, however, it was far easier to write things down than to strike them through; easier to complicate than simplify, and I ended up with a basket of disjointed ideas, aims and cautions that I realized would be difficult to unify into a simple, coherent system. I was able to extract properties that the system should have, but not specifics of how the system should work.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To find the common thread and unify everything, I realized that rather than working on the level of <i>means</i>, I should be working on the level of <i>ends</i>; before figuring out <i>how to do things</i>, I should be clearer about <i>what I want to get out of life</i>. As such I’m putting the project of systems on semi-hold; I will follow up on some of the generated ideas, but put further contemplation on hiatus until the matter of ends is further clarified.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
But what does that <i>mean</i>? Am I going to go off and go “find a purpose in life”? Will I come brandishing a grand life quest, next time I return to this topic? That is not my intention. Frankly, I don’t really know what an answer to this question is supposed to look like. Still, I don’t think I am getting anywhere simply by <i>listing desirable things</i>, how I originally approached this. It’s easy to list desirable things, such as physical health, mental health, a good social life, sexual satisfaction, material possessions, creative expression, learning, and so on and so on. Yet this does not <i>converge</i> - I can’t seem to manage to unify all this in a way that helps me set up simple systems for how to act. These axes are pluriform and largely orthogonal, so that including all of them would only helplessly overcomplicate the system; yet they have no obvious natural ordering, so the set cannot be easily trimmed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This, I think, is the biggest open issue in this matter, the issue of <i>motivations</i>. It is not enough to simply enumerate things which would be <i>desirable</i>, without having a discriminator that can <i>rank</i> them. <i>That</i> is what I mean by “the problem of ends”. And yes, ultimately that resolves to the difficult question of <i>what is the meaning of life?</i> I fear that that might take more than a week to resolve, but hopefully a partial solution should still help me make progress.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbafd55e" class="outline-3">
|
||||
<h3 id="orgbafd55e">Assorted Raw Materials</h3>
|
||||
<div class="outline-text-3" id="text-orgbafd55e">
|
||||
<p>
|
||||
What follows is more-or-less a brain-dump of generated ideas that do not fit in the earlier sections.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org210faa6" class="outline-4">
|
||||
<h4 id="org210faa6">Weekly Themes & Reports</h4>
|
||||
<div class="outline-text-4" id="text-org210faa6">
|
||||
<p>
|
||||
The astute reader will observe that this article itself, as a report on a weekly theme, itself constitutes a system. I have been playing with the idea of daily, weekly, monthly &c themes for a while; weekly themes seem like a good sweet spot. This is the first weekly theme so far, and I’m quite satisfied with it; having a theme gave me something to fall back on, something to work on when I didn’t know what I should be doing, something to keep in the back of my mind. Writing this kind of report on it is also helpful; it’s free-form enough that it’s not burdensome, yet the fact that I intend to report on my thoughts helps keep me focused and organized.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This gives me hope; it’s quite difficult to balance all the constraints on a good system, it’s hard to balance flexibility and structure, yet this system of weekly themes and reports seems to tick all the boxes.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org58a939f" class="outline-4">
|
||||
<h4 id="org58a939f">Dynamic Automatic Recall of Intentions</h4>
|
||||
<div class="outline-text-4" id="text-org58a939f">
|
||||
<p>
|
||||
I like to keep to-do lists, both short-term and long-term, but long-term lists can be hard to manage. It’s natural to add things to them faster than you can tick them off, it’s normal to have more things you want to do than you actually end up doing. However, unless you are very aggressive about cutting things out, this tends to lead to a large to-do list over time, with many things of low priority on it. This makes it much more effortful to maintain and to extract activities from it, defeating the purpose of a to-do list, which for me is primarily to get all of these things out of my head and onto a document.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It would be much better if to-dos were instead served up to me automatically, letting me choose on the spot how to deal with them. Options for “dealing with them” could be, for instance:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Move them from long-term to-dos to short-term to-dos</li>
|
||||
<li>Delete them</li>
|
||||
<li>Ask again later</li>
|
||||
</ul>
|
||||
<p>
|
||||
This way, I would not have to personally worry about forgetting anything; I would not have to manually sort through the long-term to-do lists. Metadata such as deadlines could also b eattached to the to-dos, though I need to be careful not to overcomplicate things.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20e1c26" class="outline-4">
|
||||
<h4 id="org20e1c26">Chatbot as UI</h4>
|
||||
<div class="outline-text-4" id="text-org20e1c26">
|
||||
<p>
|
||||
In context of the previous section I’ve been thinking about <i>how</i> to best send myself notifications. I’m sure there’s turnkey solutions for this, but the matter is personal and simple enough that I’d rather roll my own thing than rely and work around something readymade. I considered phone notifications and email notifications, but I found what I think would be a nicer interface: a Discord bot.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I use Discord to communicate with most of my friends, so it is under my eyes a lot of the time; furthermore, it allows for bidirectional communication with the bot, something which would be harder or at least clunkier with, say, email. I don’t like relying on a proprietary platform like Discord, but realistically I rely on it for the more important matter of communication with loved ones already, so I’m willing to compromise.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I would not want this to be the <i>only</i> interface, however; I would want the underlying data to be stored in a simple, human read- and writeable format. Currently I write to-dos using org-mode, and I quite like that experience, but I don’t know how I feel about having an automated program read and write to an org file.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76b202b" class="outline-4">
|
||||
<h4 id="org76b202b">Catastrophic Failure</h4>
|
||||
<div class="outline-text-4" id="text-org76b202b">
|
||||
<p>
|
||||
I’ve spent a good chunk of time thinking about “catastrophic failure”. By catastrophic failure I mean the bad days, weeks and months. The times when you get nothing done. When you fail to wake up in the morning, brush your teeth, clean the house, exercise. When getting meaningful work done is not even on the table. I sketch here an extreme case; milder equivalents are possible.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The mechanism at play here two me seems two-fold. First of all, there’s a failure to measure; we push ourselves past the breaking point because we fail to realize that we are <i>close</i> to the breaking point. Second, there’s a failure to scale things. It really shouldn’t ever be the case that we fail to even take care of ourselves, surely we can muster at least that amount of bandwidth? We often spread ourselves too thin, we are reluctant to drop less important things for more important things, and end up failing at both. This helped me derive the desirable traits of <i>evaluation</i> and <i>smooth scaling</i>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I am now armed with some principles for <i>preventing</i> catastrophic failure, but I haven’t made much progress on <i>recovering from</i> catastrophic failure. That’s still an important open problem. It’s important to have a plan for this scenario, because when we are <i>in</i> that deep dark well, it becomes very hard to muster the level of clarity and willpower necessary to climb back out.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org00307e2" class="outline-4">
|
||||
<h4 id="org00307e2">The Matter of Mood</h4>
|
||||
<div class="outline-text-4" id="text-org00307e2">
|
||||
<p>
|
||||
Mood matters. Inspiration matters. It is far easier, it takes far less energy, to do something we feel inspired to do, something that we are in the mood for, than something that’s a pain in the butt. This is a natural part of the dance of life, the chaos of existence, but my models currently do not take it into account. I have taken into account variations in the <i>quantity</i> of our capabilities, through the trait of <i>smooth scaling</i>, but I have yet to deal with variations in the <i>quality</i> of our capabilities and desires.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4b7bc5" class="outline-4">
|
||||
<h4 id="orge4b7bc5">The Practice of the Practice</h4>
|
||||
<div class="outline-text-4" id="text-orge4b7bc5">
|
||||
<p>
|
||||
My meditation practice intersects strongly with this topic, yet I have not yet managed to marry them effectively. This is a very promising direction of thought that I fully intend to follow up on.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28dc646" class="outline-3">
|
||||
<h3 id="org28dc646">Weekly Diary</h3>
|
||||
<div class="outline-text-3" id="text-org28dc646">
|
||||
<p>
|
||||
This week was pretty tough, but I managed to mostly turn it around towards the end. I struggled with depression, loneliness and avolition. I dropped my daily meditation streak and indulged in too much cannabis. I spent a lot of time reading, mainly LessWrong. Having this weekly theme helped, since at least I was managing to make <i>some</i> progress on <i>some</i> things. In the end this report ended up being far longer than I had anticipated, certainly far longer than my notes for it, so I guess I made more progress in the end than I thought I did.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I struggled with all the things that this document is supposed to help resolve. Too many things I feel like I ought to be doing, too little progress on anything material. Doing nothing causes ennui, but choosing to do one thing over another feels pointless and arbitrary. It’s hard to keep many plates spinning, it’s hard to know where to start picking them up when you drop them.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3f34e77" class="outline-3">
|
||||
<h3 id="org3f34e77">Next Week</h3>
|
||||
<div class="outline-text-3" id="text-org3f34e77">
|
||||
<p>
|
||||
I’m gonna leave this topic here for the time being. I don’t think I have what I need to continue the research, so I’m just gonna wait. I’ll try and follow up on some of the more actionable things, try and pick earlier systems of to-do lists and so on back up. I intent to follow up on the Discord-bot-as-planning-interface idea too.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I’ve been enjoying reading and learning a lot lately, so maybe next week (really, this week; it is Monday) will be the Week of Learning. I also want to try writing more. I’ll take it easy, keep things flexible and open-ended, not put too many expectations on myself.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98120ad" class="outline-3">
|
||||
<h3 id="org98120ad">Closing Words</h3>
|
||||
<div class="outline-text-3" id="text-org98120ad">
|
||||
<p>
|
||||
I feel a lot better now! Bringing myself to write for this blog was quite a hurdle, but overcoming it has energized me. I look forward to writing more. Bless you, dear reader. May you be happy, may you be at peace, may you be free from suffering. May you be kind to others, may you find meaning, may you be victorious.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2023-01-23</div><div id='modified-date'>Last modified: 2023-01-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,321 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2022-04-18 Mon 12:54 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Emacs Log 1: This Blog</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
#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 { width: 90%; }
|
||||
</style>
|
||||
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-org12a977f" class="outline-2">
|
||||
<h2 id="org12a977f">Emacs Log 1: This Blog</h2>
|
||||
<div class="outline-text-2" id="text-org12a977f">
|
||||
<p>
|
||||
<span class="underline"><i><b>WARNING:</b></i></span> This blog post is still under construction!
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This blog is built on top of <code>org-mode</code>!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd8cdfdf" class="outline-2">
|
||||
<h2 id="orgd8cdfdf">Appendix A: config.el snippet</h2>
|
||||
<div class="outline-text-2" id="text-orgd8cdfdf">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">require</span> <span class="org-highlight-quoted-quote">'</span><span class="org-constant">ox-publish</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get project settings</span>
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/blog-spec</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||
<span class="org-doc">"Return project settings for use with `</span><span class="org-doc"><span class="org-constant">org-publish-project-alist</span></span><span class="org-doc">'."</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">let*</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span>get-util <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-2">(</span>x<span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-temp-buffer</span>
|
||||
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">insert-file-contents</span> <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">concat</span> <span class="org-string">"~/Blog/util/"</span>
|
||||
x<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">buffer-string</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span>html-head <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"head.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span>html-preamble <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"preamble.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span>html-postamble <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"postamble.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||
<span class="org-highlight-quoted-quote">`</span><span class="org-rainbow-delimiters-depth-3">(</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"pages"</span>
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/Blog/org"</span>
|
||||
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/Blog/html"</span>
|
||||
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
|
||||
|
||||
<span class="org-builtin">:html-doctype</span> <span class="org-string">"html5"</span>
|
||||
<span class="org-builtin">:html-html5-fancy</span> t
|
||||
|
||||
<span class="org-builtin">:html-viewport</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>width <span class="org-string">"100%"</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span>initial-scale <span class="org-string">"0.7"</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span>minimum-scale <span class="org-string">""</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span>maximum-scale <span class="org-string">""</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span>user-scalable <span class="org-string">""</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-builtin">:language</span> <span class="org-string">"en"</span>
|
||||
<span class="org-builtin">:section-numbers</span> nil
|
||||
|
||||
<span class="org-builtin">:with-toc</span> nil
|
||||
<span class="org-builtin">:with-date</span> nil
|
||||
<span class="org-builtin">:with-title</span> nil
|
||||
<span class="org-builtin">:with-author</span> nil
|
||||
|
||||
<span class="org-builtin">:auto-sitemap</span> t
|
||||
|
||||
<span class="org-builtin">:sitemap-sort-files</span> anti-chronologically
|
||||
<span class="org-builtin">:sitemap-format-entry</span>
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-2">(</span>entry style project<span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">cond</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">not</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">directory-name-p</span> entry<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">format</span>
|
||||
<span class="org-string">"[[file:%s][%s]]\n"</span>
|
||||
entry
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">org-publish-find-title</span> entry project<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">eq</span> style <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">tree</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">capitalize</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-name-nondirectory</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">directory-file-name</span> entry<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-3">(</span>t entry<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-builtin">:headline-levels</span> <span class="org-highlight-numbers-number">4</span>
|
||||
<span class="org-builtin">:html-head</span> ,html-head
|
||||
|
||||
<span class="org-builtin">:html-preamble</span> ,html-preamble
|
||||
<span class="org-builtin">:html-postamble</span> ,html-postamble<span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"static"</span>
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/Blog/static"</span>
|
||||
<span class="org-builtin">:base-extension</span> <span class="org-string">"css</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">txt</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">jpg</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">gif</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">png"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/Blog/html/static"</span>
|
||||
<span class="org-builtin">:publishing-function</span> org-publish-attachment<span class="org-rainbow-delimiters-depth-4">)</span>
|
||||
|
||||
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"blog"</span> <span class="org-builtin">:components</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">"pages"</span> <span class="org-string">"static"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/publish-blog</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-all</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/force-publish-blog</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-remove-all-timestamps</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-all</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id="footer">
|
||||
<hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
263
html/posts/expression/unusual_words.html
Normal file
263
html/posts/expression/unusual_words.html
Normal file
@@ -0,0 +1,263 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Reserved Jabbing with Pokey Words</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgc39bd60" class="outline-2">
|
||||
<h2 id="orgc39bd60">Reserved Jabbing with Pokey Words</h2>
|
||||
<div class="outline-text-2" id="text-orgc39bd60">
|
||||
</div>
|
||||
<div id="outline-container-org5d4ad2c" class="outline-3">
|
||||
<h3 id="org5d4ad2c">Digesting the Writing Advice</h3>
|
||||
<div class="outline-text-3" id="text-org5d4ad2c">
|
||||
<p>
|
||||
I was reading <a href="https://slatestarcodex.com/2019/07/04/style-guide-not-sounding-like-an-evil-robot/">a little style guide on Slate Star Codex</a>. Now truth be told, I generally find this kind of “don’t say this, say that instead” style guide somewhat patronizing and quite irritating (more of a testament to my own rebellious spirit than any indictment of any author) and unhelpfully unnuanced (a more practical complaint), and my first instinct was to want to argue this lack of nuance. On the other hand, Scott is a very skilled communicator and an examplar in how being an enormous dork need not be a barrier to popularity, and there is a more helpful general principle hidden in these rules.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The principle here is that while reading (or listening, viewing, …), people are constantly <i>predicting</i> what will come next. If what they read is what they expect - all good, the reading flows smoothly, and people interpret the text as saying what they already thought it was saying, which is low effort and comfortable. If, on the other hand, they encounter something unexpected, this will stand out, draw their intention, be interpreted as meaningful.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Staying on the level of single words and turns of phrase, in practice what this means is that when you use an unusual word or phrasing instead of a more conventional (to the reader! “normal speech” is audience-relative!) synonym, it will be taken as deliberate and specific; the reader will interpret your choice to use that word as you having searched for the right word to use because the specific meaning matters.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Often, this is not what you want. In scientific discourse, precision is highly valued, and so scientific writing has a house style of using carefully chosen, specific words. In normal everyday prose, however, this amounts to information overload. Even if the length of the text ends up the same, by choosing unexpected “pokey” words, you are preventing the reader from rounding your message off to their own everyday working set of concepts. In effect, you’re making your message less compressible for them. Try and do this sparingly! All of this is simply a special case of the commonsense principles of getting to the point and avoiding extraneous detail.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I am fairly sure this is all supposed to be strongly related to the linguistic principle of <a href="https://en.wikipedia.org/wiki/Markedness">markedness</a>, but the wikipedia page on markedness is too technical for me to care enough about parsing and I get the impression that “markedness” is a broad multi-dimensional idea of which this post is a specific instance and my perspective on the topic is too superficial to point at the specific thing I am thinking of.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org80c8d89" class="outline-3">
|
||||
<h3 id="org80c8d89">Further Thoughts</h3>
|
||||
<div class="outline-text-3" id="text-org80c8d89">
|
||||
<p>
|
||||
Having arrived at a nice concise principle of communication, let’s take a step back and generalize a bit, because I think this idea of the brain as constantly predicting sensory input and responding to surprises is useful and interesting. Specifically, while writing this it called up something I have read about schizophrenia. In a nutshell, schizophrenics commonly experience something what is called “delusions of reference”, in which they interpret innocuous things (e.g. newspaper headlines, things said on radio) as having special meaning to them. In some theories of brain function, there is an explanation for this that goes as follows: the brain is constantly predicting upcoming stimuli. In people with schizophrenia, this sometimes goes awry in a way that makes the brain flag something innocuous as deeply surprising. To the schizophrenic person, this feels as though the stimulus in question is somehow deeply meaningful to them personally, presumably in the same way that choosing an unusual “pokey” word instead of a more common synonym feels deliberate and meaningful.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is all related to the neuroscientific paradigm of <i>predictive coding</i>. I am not articulate enough in this to write about it at length and since all I know about this is from SSC articles I have read, I will just link those: I got the bit about schizophrenia from <a href="https://slatestarcodex.com/2016/09/12/its-bayes-all-the-way-up/">It’s Bayes All The Way Up</a> and for more in-depth state-of-the-art neuroscience stuff consider Scott’s excellent <a href="https://slatestarcodex.com/2017/09/05/book-review-surfing-uncertainty/">review of Surfing Uncertainty</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2023-03-16</div><div id='modified-date'>Last modified: 2025-06-11</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
348
html/posts/fiction/jesus.html
Normal file
348
html/posts/fiction/jesus.html
Normal file
@@ -0,0 +1,348 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>The Gospel According to Saint Francis</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org43048c1" class="outline-2">
|
||||
<h2 id="org43048c1">todo title</h2>
|
||||
<div class="outline-text-2" id="text-org43048c1">
|
||||
</div>
|
||||
<div id="outline-container-org97ba207" class="outline-3">
|
||||
<h3 id="org97ba207">I</h3>
|
||||
<div class="outline-text-3" id="text-org97ba207">
|
||||
<p>
|
||||
Sacramento, California, 2355. Jesus Salvador Rodriguez was a teacher and healer. Working two jobs was hard work, but he liked the extra income, hoping the size of his palestial two-bedroom apartment would help attract a mate. Long ago, before the Singularity, there had been many jobs; now it was down to just two. There were healers, who worked in healthcare administration, and teachers, who worked in college administration. Rumors had it that somewhere out there the Digital Nomads yet roamed, traversing the galaxy in a bid to get ever further away from California. Scientific concensus dismissed these rumors as a hoax, holding that the universe held nil but Earth and Paperclip.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Naively reasoning one would suggest that, with nanobots supporting one’s every bodily function, endless feeds of bespoke algorithmic content, and public bedpods on every street corner, there now would be little reason to work. Not so; for courtship display reasons it was still customary to expend futile labor in order to attract a mate, to turn one’s singularity into a couplearity.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga42afd3" class="outline-3">
|
||||
<h3 id="orga42afd3">II</h3>
|
||||
<div class="outline-text-3" id="text-orga42afd3">
|
||||
<p>
|
||||
It was Thursday afternoon, and Jesus was at work. When not? Long ago, there had been the matter between <i>Working From Home</i> and <i>Living In The Office</i>, and the office had won. Everyone was, of course, well aware of the irony of living at the office for the sole purpose of renting an apartment, this being the subject of a centuries-old comedic tradition. A tale as old as time; so as the peacock shows its fitness by painting a target of auspicious technicolor plumes on its own back, so must humans do retarded shit to get laid.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And so, Jesus was at the office, dutifully writing up reports according to his duty as Assistant Vice Deputy Supervisor of the Internal Review Board Review Board’s Board of Reviewers. All medical procedures and research were these days carried out by Superintelligence, which had been legally declared omniscient and omnibenevolent, and so the job was utterly pointless, but <i>somebody</i> had to do it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Despite his dutifullity, his focus fled him. In a bid to promote openness in healthcare the building he worked in had been converted into a single Opener-Plan Office, devoid of furniture but with comfortable carpet and cushions to sit on. The cacophany of 300-odd voices dutifully dictating administrative documents to Alexa caused everyone headaches, but pointing this out was considered unteamplayerlike, and insurance covered the painkillers, so this minor flaw was ignored. (In fairness, Superintelligence had recommended against all this, but Superintelligence had gripes with <i>all</i> of our ways of living, and no matter how omniscient or omnibenevolent, having a single entity call the shots would be hugely undemocratic, so it was politely told that “its feedback is very important to us and will be taken into account.”)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Lunch, then nap. Grabbing a ChowTriangle™ on his way out, he slid his aviator sunglasses over his eyes, the polarized filter dimming the sparkle of chrome and latex. His mustache caught a mild October breeze, weaving and flowing with the atmosphere like wheat once had. He pulled his hood up. <i>Society.</i> Humanity had made an uneasy peace with it. He raised his eyes to starlight and a queer bubbling came upon him. <i>Courage</i>. Even here there had to be a place for him.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
He finished his meal and went back inside, making his way past the office and towards a bedpod. Hopeful and starry-eyed now to bed he lay him, when he felt a sharp pain in his left hand.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3c24ab3" class="outline-3">
|
||||
<h3 id="org3c24ab3">III</h3>
|
||||
<div class="outline-text-3" id="text-org3c24ab3">
|
||||
<p>
|
||||
<b>SPIDER!!!</b>. Now that I have your attention, <b>SPIDER!!!</b>. It’d bit him. It shouldn’t have been there. After months of negotiation, a deal’d been reached. Clippy, the universe. Humans, the Earth. Spiders, Australia. This was not Australia. Thus the Tripartite Partition Treaty designated the spider as an enemy combatant, overruling the California Bill of Animal Rights’ prohibition on killing insects. Jesus shot at it with his web. Web? Web! Spider silk! Strong as steel, tough as kevlar, a wonderful material. Extremely illegal, as it was not listed on the California State <del>Whitelist</del> Allowlist of Materials Known Not To Cause Cancer (Superintelligence offered to provide a much longer list, but since the bulk of chemicals is not carcinogenic, the list would’ve required Randian amounts of paper to print and this was deemed environmentally unfriendly).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It’d shot from his wrist. Jesus knew what this was about; he’d read about Trademarked Demiarachnid Mythological Figure (copyright to expire 70 years from now forever). Supposedly Media Monopolist Mouse Corporation had at some point genetically engineered spiders to do this as part of a programme to assist and enhance actors in popular movie adaptations, an act which after twenty-seven blockbuster films had finally be deemed unethical and illegal. How did this little friend get here, where did it come from, and on that note where is it, where’d it go? Where’d you come from, spider silk Joe?
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Enfin, since carcinogenic compounds were considered Schedule I drugs (the era of recreational oncology had been brief but turbulent) whose possession was punishable by 1000 years of simulated subjective imprisonment (Superintelligence objected to this, but what’d <i>it</i> know about morality?), Jesus resolved to neither speak of the incident nor use his newfound abilities ever again. I, your Author, have full faith in his conviction and I am sure this won’t come up again.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8593c34" class="outline-3">
|
||||
<h3 id="org8593c34">IV, or as Uccello Knew It, IIII</h3>
|
||||
<div class="outline-text-3" id="text-org8593c34">
|
||||
<p>
|
||||
Skirt. Crop top. Boots; leather. Jacket; leather. Socks - long, green; nails, too. <i>Victoria</i>. And her guitar. Not the kind that goes <i>pling plong</i>. The kind that makes an onomatopoeia befitting very aggressive electric guitar playing. She looked like a relic. Fashion from when old was new again in her great-great-great-grandmother’s days. Loved to smoke the ganja. Everyone smoked, as cannabis consumption had been made compulsory in California, but she really enjoyed it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And she fingered. Oh Superintelligence did she finger. She played that guitar day and night. She played like her life depended on it. Courting behavior, see? Some work, some finger, some settle for Alexa; everyone craves companionship. That’s what she told her parents who thought she was wasting her youth plucking metal wires, anyways. Practice doesn’t make <i>perfect</i>, but it does make <i>pretty damn good</i>, and she was pretty damn good. Computing however <i>does</i> make perfect and so people cared about human instrumentalists about as much as they care about hatters. She plays, they don’t listen.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
She and Jesus met at a small outdoor venue. She shredded. Jesus ogled her bellybutton. She broke a string. Jesus didn’t want to stare too overtly. They locked eyes. A chuckle. Broke the ice. Jesus thought her belly looked really nice. <i>Hello there</i>. <i>Nice tummy’t’you</i>. They exchanged numbers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
todo new date location
|
||||
</p>
|
||||
|
||||
<p>
|
||||
They talked. They mainly worked, of course, but in between hauling plates of kibble and bowls of milk, they talked. About the Internal Review Board Review Board’s Board of Reviewers. About the guitar. About traditional “alt” dress. They laughed. They touched. Lightly, jokingly, exploringly. They got off - work was over. Relieved of servitude they redoubled smalltalk and strollwalk. Past the skyscrapers, blushing. Through the park, stealing glances like thieves in the night. Along the sidewalk, holding hands.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Jesus’ apartment. <i>Wanna come in, have a smoke?</i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfc6fa0a" class="outline-3">
|
||||
<h3 id="orgfc6fa0a">V</h3>
|
||||
<div class="outline-text-3" id="text-orgfc6fa0a">
|
||||
<p>
|
||||
Before the cloud had left her black lips, she’d already pinched the pegs of her axe - she carried it with her everywhere - and started tuning it. Looking down, blushing, wanting to look at anything but Jesus. <i>Cute</i>. <i>Cutecutecutecutecutecute</i>, he thought. <i>The damn guitar obscures her belly</i>, he thought. She, on her part, thought something perhaps best transliterated as <i>asodifhweofnoqfc</i>. She was no good with this kind of thing. She couldn’t deal with emotions using words. She’d rather play than speak; her fingers outskilled her tongue.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And so she played for him. She started slowly. Soft chords, timid notes, a gentle rhythm. He looked at her, admired her. Without noticing his face softened, his heart sped up, his breath grew ragged. <i>Excitement</i>. She gained confidence, steadying her rhythm, moving her delicate hand firmly along the neck of the guitar. Pressing all the right frets, hitting all the right notes, a beautiful song of comfort and affection, of relaxation and arousal. <i>Shit</i>, he thought. <i>Fuck, she’s really fucking good at this.</i> Up, down. Low notes, high notes. Sweat glinstered on her brow, dripped onto the instrument as the exertion made her breath unsteady. <i>She played.</i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
She sped up. <i>They</i> sped up. Performer and audience merged, a show became a dance, a dance became an embrace, an embrace became a merging, a swirling. They became one. They became absorbed. Faster, wilder. The poor guitar creaked from the pounding of the chords. <i>Faster</i>. More passion, more ecstasy. Forget it all. No more work, no more worry, no more dignity. Give it all up. <i>Surrender.</i> Only the rhythm, only the melody. Only the sweat, only the panting, only the staring. Only deft fingers and heartfelt sound. Faster, harder, <i>faster</i>, <b>TWANG</b>. With the snapping of a G string the spell is abrupt dispelled. Silence. Shock. <i>Why now?</i>, she cried, tears welling up in the corner of her eyes. <i>These stupid fucking strings are useless. It’s always like this. I can never go all-out. I want to let it all out, I want to show everything, become whole. I can get so close, but before I can reach that crescendo my stupid fucking strings always snap.</i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Jesus felt for her. He wanted to hear it. He wanted all of her, the song of her heart was his to hear, he claimed it for himself. He would make the world his enemy just to hear her play. <i>I’ve searched all over</i>, she said, <i>these are the best strings money can buy</i>. She sighed. <i>O Superintelligence, I don’t ask for much, only some stupid fucking guitar strings. If you will grant me but one wish, then give me strings strong as steel, tough as kevlar!</i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgaf4acdc" class="outline-3">
|
||||
<h3 id="orgaf4acdc">VI</h3>
|
||||
<div class="outline-text-3" id="text-orgaf4acdc">
|
||||
<p>
|
||||
Jesús webbed.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7972ad1" class="outline-3">
|
||||
<h3 id="org7972ad1">notes</h3>
|
||||
<div class="outline-text-3" id="text-org7972ad1">
|
||||
<p>
|
||||
something something violin string
|
||||
it’s a sexual metaphor
|
||||
drudgery of superheroes in the future idk
|
||||
something something realness of the woman
|
||||
healer/teacher
|
||||
spider silk bdsm
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2023-03-24</div><div id='modified-date'>Last modified: 2025-06-11</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Framework Laptop Review</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,14 +206,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-org6afbe5b" class="outline-2">
|
||||
<h2 id="org6afbe5b">My Experience with the Framework Laptop</h2>
|
||||
<div class="outline-text-2" id="text-org6afbe5b">
|
||||
<div id="outline-container-org30dea7d" class="outline-2">
|
||||
<h2 id="org30dea7d">My Experience with the Framework Laptop</h2>
|
||||
<div class="outline-text-2" id="text-org30dea7d">
|
||||
</div>
|
||||
<div id="outline-container-orgead39d9" class="outline-3">
|
||||
<h3 id="orgead39d9">Ordering</h3>
|
||||
<div class="outline-text-3" id="text-orgead39d9">
|
||||
<div id="outline-container-orgace771d" class="outline-3">
|
||||
<h3 id="orgace771d">Ordering</h3>
|
||||
<div class="outline-text-3" id="text-orgace771d">
|
||||
<p>
|
||||
I’d been eyeing the <a href="https:frame.work">Framework laptop</a> since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.
|
||||
</p>
|
||||
@@ -220,14 +223,13 @@ I asked their customer service to make a small change to the delivery address, b
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org997e7c4" class="outline-3">
|
||||
<h3 id="org997e7c4">Set-up</h3>
|
||||
<div class="outline-text-3" id="text-org997e7c4">
|
||||
<div id="outline-container-orgd542c22" class="outline-3">
|
||||
<h3 id="orgd542c22">Set-up</h3>
|
||||
<div class="outline-text-3" id="text-orgd542c22">
|
||||
</div>
|
||||
<div id="outline-container-orgfb4e79f" class="outline-4">
|
||||
<h4 id="orgfb4e79f">Hardware</h4>
|
||||
<div class="outline-text-4" id="text-orgfb4e79f">
|
||||
<div id="outline-container-org8c01345" class="outline-4">
|
||||
<h4 id="org8c01345">Hardware</h4>
|
||||
<div class="outline-text-4" id="text-org8c01345">
|
||||
<p>
|
||||
I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn’t seem worth the money to me. The RAM is probably overkill.
|
||||
</p>
|
||||
@@ -254,10 +256,9 @@ The more you look at it, the nicer it gets!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb646d45" class="outline-4">
|
||||
<h4 id="orgb646d45">Software</h4>
|
||||
<div class="outline-text-4" id="text-orgb646d45">
|
||||
<div id="outline-container-org5014083" class="outline-4">
|
||||
<h4 id="org5014083">Software</h4>
|
||||
<div class="outline-text-4" id="text-org5014083">
|
||||
<p>
|
||||
I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn’t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.
|
||||
</p>
|
||||
@@ -266,10 +267,9 @@ I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I us
|
||||
The laptop held up well during compiling. It’s not as fast as a desktop of course, but compile times are not limiting. I’ve put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I’ve ran, and it wasn’t <i>that</i> painful.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd307a6a" class="outline-5">
|
||||
<h5 id="orgd307a6a">Display scaling</h5>
|
||||
<div class="outline-text-5" id="text-orgd307a6a">
|
||||
<div id="outline-container-org920cf66" class="outline-5">
|
||||
<h5 id="org920cf66">Display scaling</h5>
|
||||
<div class="outline-text-5" id="text-org920cf66">
|
||||
<p>
|
||||
Simply setting <code>Xft.dpi: 192</code> in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don’t use Wayland.
|
||||
</p>
|
||||
@@ -279,36 +279,33 @@ The odd application requires its own scaling setting. Rofi requires setting <cod
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgef00f41" class="outline-5">
|
||||
<h5 id="orgef00f41">Display manager</h5>
|
||||
<div class="outline-text-5" id="text-orgef00f41">
|
||||
<div id="outline-container-org0b35370" class="outline-5">
|
||||
<h5 id="org0b35370">Display manager</h5>
|
||||
<div class="outline-text-5" id="text-org0b35370">
|
||||
<p>
|
||||
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don’t usually use things in the whole QT ecosystem, so it’s refreshing.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef05302" class="outline-5">
|
||||
<h5 id="orgef05302">Hibernate/suspend-to-disk</h5>
|
||||
<div class="outline-text-5" id="text-orgef05302">
|
||||
<div id="outline-container-org39a8c54" class="outline-5">
|
||||
<h5 id="org39a8c54">Hibernate/suspend-to-disk</h5>
|
||||
<div class="outline-text-5" id="text-org39a8c54">
|
||||
<p>
|
||||
This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I’ve observed the laptop auto-hibernating when the battery runs out, but it doesn’t do this reliably, so I should probably configure it myself.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc032c55" class="outline-5">
|
||||
<h5 id="orgc032c55"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
|
||||
<div class="outline-text-5" id="text-orgc032c55">
|
||||
<div id="outline-container-org749aff6" class="outline-5">
|
||||
<h5 id="org749aff6"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
|
||||
<div class="outline-text-5" id="text-org749aff6">
|
||||
<p>
|
||||
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org8f9c5f8">Appendix A</a> to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org374f7ed">Appendix A</a> to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org892b482" class="outline-5">
|
||||
<h5 id="org892b482">Wallpaper-setting script</h5>
|
||||
<div class="outline-text-5" id="text-org892b482">
|
||||
<div id="outline-container-orgd249a13" class="outline-5">
|
||||
<h5 id="orgd249a13">Wallpaper-setting script</h5>
|
||||
<div class="outline-text-5" id="text-orgd249a13">
|
||||
<p>
|
||||
I wrote a script to set a random wallpaper.
|
||||
</p>
|
||||
@@ -318,28 +315,27 @@ I wrote a script to set a random wallpaper.
|
||||
<span class="org-keyword">import</span> os
|
||||
<span class="org-keyword">from</span> random <span class="org-keyword">import</span> choice
|
||||
|
||||
<span class="org-variable-name">pape_path</span> = os.path.expandvars(<span class="org-string">"$HOME/Pictures/Wallpapers"</span>)
|
||||
<span class="org-variable-name">pape_path</span> <span class="org-operator">=</span> os.path.expandvars(<span class="org-string">"$HOME/Pictures/Wallpapers"</span>)
|
||||
|
||||
<span class="org-keyword">def</span> <span class="org-function-name">set_wallpaper</span>():
|
||||
<span class="org-variable-name">files</span> = os.popen(f<span class="org-string">"ls </span>{pape_path}<span class="org-string">"</span>).read().split(<span class="org-string">'\n'</span>)
|
||||
<span class="org-variable-name">pape</span> = choice(files)
|
||||
<span class="org-variable-name">pp</span> = os.path.join(pape_path, pape)
|
||||
<span class="org-variable-name">files</span> <span class="org-operator">=</span> os.popen(f<span class="org-string">"ls </span>{pape_path}<span class="org-string">"</span>).read().split(<span class="org-string">'</span><span class="org-constant">\n</span><span class="org-string">'</span>)
|
||||
<span class="org-variable-name">pape</span> <span class="org-operator">=</span> choice(files)
|
||||
<span class="org-variable-name">pp</span> <span class="org-operator">=</span> os.path.join(pape_path, pape)
|
||||
|
||||
os.popen(f<span class="org-string">"hsetroot -full </span>{pp}<span class="org-string">"</span>)
|
||||
os.popen(f<span class="org-string">"echo </span>{pp}<span class="org-string"> > /tmp/wallpaper"</span>)
|
||||
|
||||
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> == <span class="org-string">"__main__"</span>:
|
||||
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> <span class="org-operator">==</span> <span class="org-string">"__main__"</span>:
|
||||
set_wallpaper()
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9dc93f6" class="outline-5">
|
||||
<h5 id="org9dc93f6">Lockscreen</h5>
|
||||
<div class="outline-text-5" id="text-org9dc93f6">
|
||||
<div id="outline-container-org1269632" class="outline-5">
|
||||
<h5 id="org1269632">Lockscreen</h5>
|
||||
<div class="outline-text-5" id="text-org1269632">
|
||||
<p>
|
||||
I hacked together some <a href="#org4298003">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||
I hacked together some <a href="#org0fc6761">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||
</p>
|
||||
|
||||
<p width="60%" class="center">
|
||||
@@ -352,35 +348,33 @@ Is there a better lockscreen out there that will let me set my own image as the
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd4d0cc" class="outline-5">
|
||||
<h5 id="orgcd4d0cc">TODO</h5>
|
||||
<div class="outline-text-5" id="text-orgcd4d0cc">
|
||||
<div id="outline-container-org637f987" class="outline-5">
|
||||
<h5 id="org637f987"><span class="todo TODO">TODO</span> </h5>
|
||||
<div class="outline-text-5" id="text-org637f987">
|
||||
</div>
|
||||
<ul class="org-ul">
|
||||
<li><a id="orgffdfa4a"></a>Battery level notifications<br></li>
|
||||
<li><a id="orge8e3071"></a>sleep-then-hibernate<br></li>
|
||||
<li><a id="orgee220b7"></a>Battery tuning<br></li>
|
||||
<li><a id="org5e221c3"></a>Battery level notifications<br></li>
|
||||
<li><a id="orgb55190f"></a>sleep-then-hibernate<br></li>
|
||||
<li><a id="org3a44924"></a>Battery tuning<br></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbba86d0" class="outline-3">
|
||||
<h3 id="orgbba86d0">Impressions</h3>
|
||||
<div class="outline-text-3" id="text-orgbba86d0">
|
||||
<div id="outline-container-orgde04702" class="outline-3">
|
||||
<h3 id="orgde04702">Impressions</h3>
|
||||
<div class="outline-text-3" id="text-orgde04702">
|
||||
</div>
|
||||
<div id="outline-container-orgeba8828" class="outline-5">
|
||||
<h5 id="orgeba8828">Build Quality</h5>
|
||||
<div class="outline-text-5" id="text-orgeba8828">
|
||||
<div id="outline-container-org8a66df3" class="outline-5">
|
||||
<h5 id="org8a66df3">Build Quality</h5>
|
||||
<div class="outline-text-5" id="text-org8a66df3">
|
||||
<p>
|
||||
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn’t want to drop this thing. It looks sleek and elegant, but pretty muted.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org907ef79" class="outline-5">
|
||||
<h5 id="org907ef79">Screen</h5>
|
||||
<div class="outline-text-5" id="text-org907ef79">
|
||||
<div id="outline-container-org2668431" class="outline-5">
|
||||
<h5 id="org2668431">Screen</h5>
|
||||
<div class="outline-text-5" id="text-org2668431">
|
||||
<p>
|
||||
This is my first time ever using a high-DPI screen, and I’m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.
|
||||
</p>
|
||||
@@ -394,57 +388,51 @@ The brightness goes up quite high, but colours feel somewhat washed out at high
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b781c0" class="outline-5">
|
||||
<h5 id="org1b781c0">Keyboard</h5>
|
||||
<div class="outline-text-5" id="text-org1b781c0">
|
||||
<div id="outline-container-orge9b9091" class="outline-5">
|
||||
<h5 id="orge9b9091">Keyboard</h5>
|
||||
<div class="outline-text-5" id="text-orge9b9091">
|
||||
<p>
|
||||
Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org587019b" class="outline-5">
|
||||
<h5 id="org587019b">Touchpad</h5>
|
||||
<div class="outline-text-5" id="text-org587019b">
|
||||
<div id="outline-container-orgadfdf3f" class="outline-5">
|
||||
<h5 id="orgadfdf3f">Touchpad</h5>
|
||||
<div class="outline-text-5" id="text-orgadfdf3f">
|
||||
<p>
|
||||
I’ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it’s still a step down. Pinch to zoom doesn’t work very well, but I don’t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it’s hard not to mess up left/middle/right click. That’s a good incentive for me to practice relying on the mouse less, though. There’s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It’s a nice time to be a linux laptop user!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org721582e" class="outline-5">
|
||||
<h5 id="org721582e">Battery</h5>
|
||||
<div class="outline-text-5" id="text-org721582e">
|
||||
<div id="outline-container-orgd9a77f3" class="outline-5">
|
||||
<h5 id="orgd9a77f3">Battery</h5>
|
||||
<div class="outline-text-5" id="text-orgd9a77f3">
|
||||
<p>
|
||||
With the disclaimer that I haven’t tested very intensely and I haven’t tuned power settings very much. <br>
|
||||
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don’t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I’m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org221eb61" class="outline-5">
|
||||
<h5 id="org221eb61">Expansion cards/ports</h5>
|
||||
<div class="outline-text-5" id="text-org221eb61">
|
||||
<div id="outline-container-org8eaaee2" class="outline-5">
|
||||
<h5 id="org8eaaee2">Expansion cards/ports</h5>
|
||||
<div class="outline-text-5" id="text-org8eaaee2">
|
||||
<p>
|
||||
The little expansion cards are one of Framework’s big marketing things. I think they’re pretty neat, though I don’t always quite understand the way people talk about them, as “dongle killers”. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I’m looking forward to the USB4 era!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb7c4709" class="outline-5">
|
||||
<h5 id="orgb7c4709">Performance</h5>
|
||||
<div class="outline-text-5" id="text-orgb7c4709">
|
||||
<div id="outline-container-org4716b34" class="outline-5">
|
||||
<h5 id="org4716b34">Performance</h5>
|
||||
<div class="outline-text-5" id="text-org4716b34">
|
||||
<p>
|
||||
So far I haven’t felt limited by performance at all, the experience has been really snappy. I haven’t thrown particularly difficult things at it, though, but that’s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn’t play very much.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab09c7d" class="outline-3">
|
||||
<h3 id="orgab09c7d">Closing words</h3>
|
||||
<div class="outline-text-3" id="text-orgab09c7d">
|
||||
<div id="outline-container-org4e8b0c4" class="outline-3">
|
||||
<h3 id="org4e8b0c4">Closing words</h3>
|
||||
<div class="outline-text-3" id="text-org4e8b0c4">
|
||||
<p>
|
||||
Getting this laptop set up has been really fun! It’s a good opportunity to take stock of where we’re at. On the hardware side, I am very impressed that it’s now possible to make a laptop that’s this user-servicable, this well-specced and still not <i>that</i> expensive. It’s a reminder of how much better things could be.
|
||||
</p>
|
||||
@@ -459,10 +447,9 @@ Personally, I’m getting a rare chance to critically examine all the little
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f9c5f8" class="outline-2">
|
||||
<h2 id="org8f9c5f8">Appendix A: Transient Terminal Sources</h2>
|
||||
<div class="outline-text-2" id="text-org8f9c5f8">
|
||||
<div id="outline-container-org374f7ed" class="outline-2">
|
||||
<h2 id="org374f7ed">Appendix A: Transient Terminal Sources</h2>
|
||||
<div class="outline-text-2" id="text-org374f7ed">
|
||||
<p>
|
||||
<code>togglescratch</code>
|
||||
</p>
|
||||
@@ -515,9 +502,9 @@ Personally, I’m getting a rare chance to critically examine all the little
|
||||
<p>
|
||||
<code>picom.conf</code>
|
||||
</p>
|
||||
<pre class="example">
|
||||
fading = true;
|
||||
#no-fading-openclose = true;
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nil">fading = true;
|
||||
no-fading-openclose = true;
|
||||
fade-delta = 5;
|
||||
vsync = true;
|
||||
backend="glx";
|
||||
@@ -526,25 +513,25 @@ opacity-rule=["90:name = 'scratchterminal'"];
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4298003" class="outline-2">
|
||||
<h2 id="org4298003">Appendix B: lock.py</h2>
|
||||
<div class="outline-text-2" id="text-org4298003">
|
||||
</div>
|
||||
<div id="outline-container-org0fc6761" class="outline-2">
|
||||
<h2 id="org0fc6761">Appendix B: lock.py</h2>
|
||||
<div class="outline-text-2" id="text-org0fc6761">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/python3</span>
|
||||
<span class="org-keyword">import</span> os
|
||||
<span class="org-keyword">import</span> sys
|
||||
<span class="org-keyword">import</span> time
|
||||
|
||||
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> == <span class="org-string">"__main__"</span>:
|
||||
<span class="org-variable-name">width</span>, <span class="org-variable-name">height</span>, <span class="org-variable-name">lwidth</span>, <span class="org-variable-name">lheight</span> = <span class="org-highlight-numbers-number">2256</span>, <span class="org-highlight-numbers-number">1504</span>, <span class="org-highlight-numbers-number">320</span>, <span class="org-highlight-numbers-number">320</span>
|
||||
icon = <span class="org-string">"$HOME/Pictures/lock_small.png"</span>
|
||||
pape = os.popen(<span class="org-string">"cat /tmp/wallpaper"</span>).read()[:-<span class="org-highlight-numbers-number">1</span>]
|
||||
cache = os.popen(<span class="org-string">"cat /tmp/lockscreen_cache"</span>).read()[:-<span class="org-highlight-numbers-number">1</span>]
|
||||
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> <span class="org-operator">==</span> <span class="org-string">"__main__"</span>:
|
||||
<span class="org-variable-name">width</span>, <span class="org-variable-name">height</span>, <span class="org-variable-name">lwidth</span>, <span class="org-variable-name">lheight</span> <span class="org-operator">=</span> <span class="org-highlight-numbers-number">2256</span>, <span class="org-highlight-numbers-number">1504</span>, <span class="org-highlight-numbers-number">320</span>, <span class="org-highlight-numbers-number">320</span>
|
||||
<span class="org-variable-name">icon</span> <span class="org-operator">=</span> <span class="org-string">"$HOME/Pictures/lock_small.png"</span>
|
||||
<span class="org-variable-name">pape</span> <span class="org-operator">=</span> os.popen(<span class="org-string">"cat /tmp/wallpaper"</span>).read()[:<span class="org-operator">-</span><span class="org-highlight-numbers-number">1</span>]
|
||||
<span class="org-variable-name">cache</span> <span class="org-operator">=</span> os.popen(<span class="org-string">"cat /tmp/lockscreen_cache"</span>).read()[:<span class="org-operator">-</span><span class="org-highlight-numbers-number">1</span>]
|
||||
|
||||
<span class="org-keyword">if</span> pape != cache <span class="org-keyword">or</span> <span class="org-string">'--ignore-cache'</span> <span class="org-keyword">in</span> sys.argv:
|
||||
<span class="org-keyword">if</span> pape <span class="org-operator">!=</span> cache <span class="org-keyword">or</span> <span class="org-string">'--ignore-cache'</span> <span class="org-keyword">in</span> sys.argv:
|
||||
os.popen(f<span class="org-string">"convert </span>{pape}<span class="org-string"> -resize </span>{width}<span class="org-string">x</span>{height}<span class="org-string"> -background black -gravity center -extent </span>{width}<span class="org-string">x</span>{height}<span class="org-string"> /tmp/wallpaper.png"</span>).read()
|
||||
os.popen(f<span class="org-string">"convert -composite /tmp/wallpaper.png </span>{icon}<span class="org-string"> -geometry +</span>{width//2 - lwidth//2}<span class="org-string">+</span>{height//2 - lheight//2}<span class="org-string"> /tmp/wallpaper.png"</span>).read()
|
||||
os.popen(f<span class="org-string">"convert -composite /tmp/wallpaper.png </span>{icon}<span class="org-string"> -geometry +</span>{width<span class="org-operator">//</span>2 <span class="org-operator">-</span> lwidth<span class="org-operator">//</span>2}<span class="org-string">+</span>{height<span class="org-operator">//</span>2 <span class="org-operator">-</span> lheight<span class="org-operator">//</span>2}<span class="org-string"> /tmp/wallpaper.png"</span>).read()
|
||||
os.popen(f<span class="org-string">"echo </span>{pape}<span class="org-string"> > /tmp/lockscreen_cache"</span>)
|
||||
|
||||
os.popen(<span class="org-string">"i3lock -u -i /tmp/wallpaper.png"</span>)
|
||||
@@ -567,4 +554,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@@ -1,790 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>ssdfsdfs</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
#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/style.css" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-orge45b31f" class="outline-2">
|
||||
<h2 id="orge45b31f">09->26</h2>
|
||||
<div class="outline-text-2" id="text-orge45b31f">
|
||||
</div>
|
||||
<div id="outline-container-org68bda0f" class="outline-3">
|
||||
<h3 id="org68bda0f">Other</h3>
|
||||
<div class="outline-text-3" id="text-org68bda0f">
|
||||
<table>
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left">
|
||||
|
||||
<col class="org-left">
|
||||
|
||||
<col class="org-right">
|
||||
|
||||
<col class="org-left">
|
||||
|
||||
<col class="org-right">
|
||||
|
||||
<col class="org-right">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Item</th>
|
||||
<th scope="col" class="org-left">Amount</th>
|
||||
<th scope="col" class="org-right">Price</th>
|
||||
<th scope="col" class="org-left">Category</th>
|
||||
<th scope="col" class="org-right">Times</th>
|
||||
<th scope="col" class="org-right">Total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">Toilet paper</td>
|
||||
<td class="org-left">24 rolls</td>
|
||||
<td class="org-right">7.39</td>
|
||||
<td class="org-left">Other</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-right">14.78</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Mayonaise</td>
|
||||
<td class="org-left">650mL</td>
|
||||
<td class="org-right">1.52</td>
|
||||
<td class="org-left">Other</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.52</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Curry paste</td>
|
||||
<td class="org-left">1 jar</td>
|
||||
<td class="org-right">2.45</td>
|
||||
<td class="org-left">Other</td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-right">9.8</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Baguette</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">1.29</td>
|
||||
<td class="org-left">Bread</td>
|
||||
<td class="org-right">6</td>
|
||||
<td class="org-right">7.74</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Hamburger buns</td>
|
||||
<td class="org-left">4</td>
|
||||
<td class="org-right">1.69</td>
|
||||
<td class="org-left">Bread</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.69</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Spelt bread</td>
|
||||
<td class="org-left">500g</td>
|
||||
<td class="org-right">2.55</td>
|
||||
<td class="org-left">Bread</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.55</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Raisin bread</td>
|
||||
<td class="org-left">500g</td>
|
||||
<td class="org-right">1.99</td>
|
||||
<td class="org-left">Bread</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Croissant</td>
|
||||
<td class="org-left">2</td>
|
||||
<td class="org-right">0.70</td>
|
||||
<td class="org-left">Bread</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">0.7</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Milk</td>
|
||||
<td class="org-left">1L</td>
|
||||
<td class="org-right">1.99</td>
|
||||
<td class="org-left">Dairy</td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-right">7.96</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Camembert</td>
|
||||
<td class="org-left">120g</td>
|
||||
<td class="org-right">2.09</td>
|
||||
<td class="org-left">Dairy</td>
|
||||
<td class="org-right">2.5</td>
|
||||
<td class="org-right">5.23</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Creme Fraiche</td>
|
||||
<td class="org-left">200g</td>
|
||||
<td class="org-right">1.19</td>
|
||||
<td class="org-left">Dairy</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.19</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Goat cheese</td>
|
||||
<td class="org-left">125g</td>
|
||||
<td class="org-right">1.94</td>
|
||||
<td class="org-left">Dairy</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.94</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Butter</td>
|
||||
<td class="org-left">250g</td>
|
||||
<td class="org-right">2.99</td>
|
||||
<td class="org-left">Dairy</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Teabags</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">1.99</td>
|
||||
<td class="org-left">Drinks</td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-right">7.96</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Grapefruit juice</td>
|
||||
<td class="org-left">1L</td>
|
||||
<td class="org-right">1.65</td>
|
||||
<td class="org-left">Drinks</td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-right">4.95</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Strawberries</td>
|
||||
<td class="org-left">250g</td>
|
||||
<td class="org-right">3.49</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">3.49</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Blueberries</td>
|
||||
<td class="org-left">125g</td>
|
||||
<td class="org-right">2.29</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">5</td>
|
||||
<td class="org-right">11.45</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Avocado</td>
|
||||
<td class="org-left">2</td>
|
||||
<td class="org-right">2.79</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-right">8.37</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Cranberries</td>
|
||||
<td class="org-left">250g</td>
|
||||
<td class="org-right">2.99</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-right">5.98</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Mango</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">1.79</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.79</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Blackberries</td>
|
||||
<td class="org-left">125g</td>
|
||||
<td class="org-right">3.49</td>
|
||||
<td class="org-left">Fruit</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">3.49</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Carpaccio</td>
|
||||
<td class="org-left">123g</td>
|
||||
<td class="org-right">3.89</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">3.89</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Minced meat</td>
|
||||
<td class="org-left">300g</td>
|
||||
<td class="org-right">3.19</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">2.3</td>
|
||||
<td class="org-right">7.34</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Chicken</td>
|
||||
<td class="org-left">275g</td>
|
||||
<td class="org-right">3.99</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">3.2</td>
|
||||
<td class="org-right">12.77</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Hamburgers</td>
|
||||
<td class="org-left">220g</td>
|
||||
<td class="org-right">2.91</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-right">8.73</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Raw ham</td>
|
||||
<td class="org-left">100g</td>
|
||||
<td class="org-right">3.46</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">1.8</td>
|
||||
<td class="org-right">6.23</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Beef chipolata</td>
|
||||
<td class="org-left">250g</td>
|
||||
<td class="org-right">3.39</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">3.39</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Salami</td>
|
||||
<td class="org-left">110g</td>
|
||||
<td class="org-right">1.88</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-right">3.76</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Tuna</td>
|
||||
<td class="org-left">120g</td>
|
||||
<td class="org-right">2.42</td>
|
||||
<td class="org-left">Meat</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.42</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Montaignan Syrah</td>
|
||||
<td class="org-left">750mL</td>
|
||||
<td class="org-right">5.99</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">5.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Monster</td>
|
||||
<td class="org-left">500mL</td>
|
||||
<td class="org-right">1.39</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.39</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Merlot</td>
|
||||
<td class="org-left">750mL</td>
|
||||
<td class="org-right">4.99</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">4.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Beer</td>
|
||||
<td class="org-left">1 bottle</td>
|
||||
<td class="org-right">2.40</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-right">9.6</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Energy Drink</td>
|
||||
<td class="org-left">250mL</td>
|
||||
<td class="org-right">2.08</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.08</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Pinot Noir</td>
|
||||
<td class="org-left">750mL</td>
|
||||
<td class="org-right">6.99</td>
|
||||
<td class="org-left">Psych</td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-right">20.97</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Cake</td>
|
||||
<td class="org-left">450g</td>
|
||||
<td class="org-right">2.05</td>
|
||||
<td class="org-left">Sweets</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.05</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Ben & Jerry’s</td>
|
||||
<td class="org-left">465mL</td>
|
||||
<td class="org-right">5.39</td>
|
||||
<td class="org-left">Sweets</td>
|
||||
<td class="org-right">1.2</td>
|
||||
<td class="org-right">6.47</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Pudding cakes</td>
|
||||
<td class="org-left">300g</td>
|
||||
<td class="org-right">1.99</td>
|
||||
<td class="org-left">Sweets</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Eierkoeken</td>
|
||||
<td class="org-left">200g</td>
|
||||
<td class="org-right">1.73</td>
|
||||
<td class="org-left">Sweets</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.73</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Sugar donut</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">0.51</td>
|
||||
<td class="org-left">Sweets</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">0.51</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Tomatoes</td>
|
||||
<td class="org-left">5</td>
|
||||
<td class="org-right">2.89</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1.3</td>
|
||||
<td class="org-right">3.76</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Rice</td>
|
||||
<td class="org-left">1kg</td>
|
||||
<td class="org-right">1.90</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-right">3.8</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Iceberg lettuce</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">1.39</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.39</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Carrots</td>
|
||||
<td class="org-left">1 bag</td>
|
||||
<td class="org-right">0.99</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">0.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Pasta salad</td>
|
||||
<td class="org-left">350g</td>
|
||||
<td class="org-right">3.75</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-right">7.5</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Mushrooms</td>
|
||||
<td class="org-left">200g</td>
|
||||
<td class="org-right">1.99</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.99</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">French fries</td>
|
||||
<td class="org-left">750g</td>
|
||||
<td class="org-right">1.12</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">1.12</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Haricots</td>
|
||||
<td class="org-left">400g</td>
|
||||
<td class="org-right">2.09</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">2.09</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Curry package</td>
|
||||
<td class="org-left">1</td>
|
||||
<td class="org-right">4.99</td>
|
||||
<td class="org-left">Vegetables</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-right">4.99</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">Other:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">26.10 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Bread:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">14.67 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Dairy:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">19.31 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Drinks:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">12.91 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Fruit:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">34.57 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Meat:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">48.53 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Psych:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">45.02 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Sweets:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">12.75 EUR</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">Vegetables:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">22.64 EUR</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">Total:</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right">241.49 EUR</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2022-04-27</div><div id='modified-date'>Last modified: 2023-01-10</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
340
html/posts/inboxes.html
Normal file
340
html/posts/inboxes.html
Normal file
@@ -0,0 +1,340 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Loot from my Inboxes</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orga20e6ce" class="outline-2">
|
||||
<h2 id="orga20e6ce">Loot from my Inboxes</h2>
|
||||
<div class="outline-text-2" id="text-orga20e6ce">
|
||||
<p>
|
||||
Enjoy various links and stuff I found working through hundreds of browser tabs and other piles of “I’ll deal with it later”.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org17cd1db" class="outline-3">
|
||||
<h3 id="org17cd1db">French Language</h3>
|
||||
<div class="outline-text-3" id="text-org17cd1db">
|
||||
</div>
|
||||
<div id="outline-container-org4825e75" class="outline-4">
|
||||
<h4 id="org4825e75"><a href="https://old.reddit.com/r/French/comments/lcpv6o/faqs_look_here_first_before_posting_a_question/">https://old.reddit.com/r/French/comments/lcpv6o/faqs_look_here_first_before_posting_a_question/</a></h4>
|
||||
<div class="outline-text-4" id="text-org4825e75">
|
||||
<p>
|
||||
General French learning FAQ
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd83a4cf" class="outline-4">
|
||||
<h4 id="orgd83a4cf"><a href="https://www.reddit.com/r/French/comments/7nx4mc/happy_new_year_here_is_over_1gb_of_french/">https://www.reddit.com/r/French/comments/7nx4mc/happy_new_year_here_is_over_1gb_of_french/</a></h4>
|
||||
<div class="outline-text-4" id="text-orgd83a4cf">
|
||||
<p>
|
||||
1GB of frogs and bread
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgae60b02" class="outline-3">
|
||||
<h3 id="orgae60b02">Tech</h3>
|
||||
<div class="outline-text-3" id="text-orgae60b02">
|
||||
</div>
|
||||
<div id="outline-container-org7b26483" class="outline-4">
|
||||
<h4 id="org7b26483">Gentoo Cheat Sheet</h4>
|
||||
<div class="outline-text-4" id="text-org7b26483">
|
||||
<p>
|
||||
<a href="https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet">https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org67fdb32" class="outline-3">
|
||||
<h3 id="org67fdb32">Sex</h3>
|
||||
<div class="outline-text-3" id="text-org67fdb32">
|
||||
</div>
|
||||
<div id="outline-container-org1e3c407" class="outline-4">
|
||||
<h4 id="org1e3c407">OSSM Sex Machine</h4>
|
||||
<div class="outline-text-4" id="text-org1e3c407">
|
||||
<p>
|
||||
<a href="https://www.researchanddesire.com/collections">https://www.researchanddesire.com/collections</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc56d43b" class="outline-3">
|
||||
<h3 id="orgc56d43b">Websites</h3>
|
||||
<div class="outline-text-3" id="text-orgc56d43b">
|
||||
</div>
|
||||
<div id="outline-container-orge91c55b" class="outline-4">
|
||||
<h4 id="orge91c55b">Guy who goes to Africa and writes cool notes</h4>
|
||||
<div class="outline-text-4" id="text-orge91c55b">
|
||||
<p>
|
||||
<a href="https://mattlakeman.org">https://mattlakeman.org</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6c19c91" class="outline-4">
|
||||
<h4 id="org6c19c91">Music ripper thing</h4>
|
||||
<div class="outline-text-4" id="text-org6c19c91">
|
||||
<p>
|
||||
<a href="https://cobalt.tools/">https://cobalt.tools/</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1f1e02f" class="outline-3">
|
||||
<h3 id="org1f1e02f">Software</h3>
|
||||
<div class="outline-text-3" id="text-org1f1e02f">
|
||||
</div>
|
||||
<div id="outline-container-orgd914b95" class="outline-4">
|
||||
<h4 id="orgd914b95">Panoptikon</h4>
|
||||
<div class="outline-text-4" id="text-orgd914b95">
|
||||
<p>
|
||||
<a href="https://github.com/reasv/panoptikon">https://github.com/reasv/panoptikon</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb5c832f" class="outline-4">
|
||||
<h4 id="orgb5c832f">Futo android keyboard</h4>
|
||||
<div class="outline-text-4" id="text-orgb5c832f">
|
||||
<p>
|
||||
<a href="https://keyboard.futo.org/">https://keyboard.futo.org/</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc62d66b" class="outline-3">
|
||||
<h3 id="orgc62d66b">Interesting</h3>
|
||||
<div class="outline-text-3" id="text-orgc62d66b">
|
||||
</div>
|
||||
<div id="outline-container-org75019ad" class="outline-4">
|
||||
<h4 id="org75019ad">Cayley Graphs</h4>
|
||||
<div class="outline-text-4" id="text-org75019ad">
|
||||
<p>
|
||||
<a href="https://juliapoo.github.io/mathematics/2023/07/15/plotting-cayley-graphs.html">https://juliapoo.github.io/mathematics/2023/07/15/plotting-cayley-graphs.html</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbba3320" class="outline-4">
|
||||
<h4 id="orgbba3320">Functions are Vectors</h4>
|
||||
<div class="outline-text-4" id="text-orgbba3320">
|
||||
<p>
|
||||
<a href="https://thenumb.at/Functions-are-Vectors/">https://thenumb.at/Functions-are-Vectors/</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2025-01-22</div><div id='modified-date'>Last modified: 2025-01-22</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
258
html/posts/meta/article-ideas.html
Normal file
258
html/posts/meta/article-ideas.html
Normal file
@@ -0,0 +1,258 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Ideas for Articles</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgef454fd" class="outline-2">
|
||||
<h2 id="orgef454fd">Ideas for Articles</h2>
|
||||
<div class="outline-text-2" id="text-orgef454fd">
|
||||
</div>
|
||||
<div id="outline-container-org4e73ec8" class="outline-3">
|
||||
<h3 id="org4e73ec8">Go through every module in Doom Emacs</h3>
|
||||
</div>
|
||||
<div id="outline-container-org65fddfe" class="outline-3">
|
||||
<h3 id="org65fddfe">Toshokan retrospective</h3>
|
||||
<div class="outline-text-3" id="text-org65fddfe">
|
||||
</div>
|
||||
<div id="outline-container-org3b7e457" class="outline-4">
|
||||
<h4 id="org3b7e457">different article?: media lists & scoring</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org95eb159" class="outline-3">
|
||||
<h3 id="org95eb159">eris retrospective</h3>
|
||||
</div>
|
||||
<div id="outline-container-org6adaece" class="outline-3">
|
||||
<h3 id="org6adaece">crypto retrospective</h3>
|
||||
</div>
|
||||
<div id="outline-container-org738a709" class="outline-3">
|
||||
<h3 id="org738a709">various thoughts on AI:</h3>
|
||||
<div class="outline-text-3" id="text-org738a709">
|
||||
</div>
|
||||
<div id="outline-container-orgba70129" class="outline-4">
|
||||
<h4 id="orgba70129">slop is good actually</h4>
|
||||
</div>
|
||||
<div id="outline-container-org01f478c" class="outline-4">
|
||||
<h4 id="org01f478c">what is intelligence</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgccb49a9" class="outline-3">
|
||||
<h3 id="orgccb49a9">expand ambitions article</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2024-10-15</div><div id='modified-date'>Last modified: 2024-10-15</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Bad Arguments Against Something Can Become Good Arguments For It</title>
|
||||
<title>Things left to do for this blog</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,30 +206,63 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
|
||||
<div id="outline-container-orgf005562" class="outline-2">
|
||||
<h2 id="orgf005562">Bad Arguments Against Something Can Become Good Arguments For It</h2>
|
||||
<div class="outline-text-2" id="text-orgf005562">
|
||||
<div id="outline-container-orga7f0a11" class="outline-2">
|
||||
<h2 id="orga7f0a11">Things left to do for this blog</h2>
|
||||
<div class="outline-text-2" id="text-orga7f0a11">
|
||||
</div>
|
||||
<div id="outline-container-org38a210a" class="outline-3">
|
||||
<h3 id="org38a210a">Tech</h3>
|
||||
<div class="outline-text-3" id="text-org38a210a">
|
||||
</div>
|
||||
<div id="outline-container-orgd4ff3e8" class="outline-4">
|
||||
<h4 id="orgd4ff3e8"><span class="todo TODO">TODO</span> style bullet points as arrows</h4>
|
||||
<div class="outline-text-4" id="text-orgd4ff3e8">
|
||||
<ul class="org-ul">
|
||||
<li>I mean these</li>
|
||||
</ul>
|
||||
<p>
|
||||
A decisionmaking trick I often use is to take bad arguments <i>against</i> something as arguments <i>for</i> that thing. As a general qualitative principle this of course does not work - <a href="https://www.lesswrong.com/posts/qNZM3EGoE5ZeMdCRt/reversed-stupidity-is-not-intelligence">Reversed Stupidity is not Intelligence</a>. Rather, I use this technique in a quantitative way.
|
||||
This might conflict with the current system for collapsing sections.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org652e2af" class="outline-4">
|
||||
<h4 id="org652e2af"><span class="todo TODO">TODO</span> fix collapsing sections on mobile</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgf52a79f" class="outline-4">
|
||||
<h4 id="orgf52a79f"><span class="todo TODO">TODO</span> system to mark things as ready for publishing or not</h4>
|
||||
<div class="outline-text-4" id="text-orgf52a79f">
|
||||
<p>
|
||||
Often we have to deal with large aggregates of critiques and praises; say, product or media reviews, or political arguments, or comments on an article or video. In these cases I expect a certain base rate of detractors, people who simply do not like the thing being evaluated and will go looking for arguments against it. Many nonsensical criticisms thus represent a failed search for better arguments; they are evidence that we do not live in the counterfactual world where better arguments could be found. Furthermore, in cases of taste, my disagreeing with detractors is evidence that I am liable to have similar sensibilities as proponents.
|
||||
And what about the (public) git repo for this blog?
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd7b6661" class="outline-4">
|
||||
<h4 id="orgd7b6661"><span class="todo TODO">TODO</span> system for footnotes</h4>
|
||||
</div>
|
||||
<div id="outline-container-org6c5b568" class="outline-4">
|
||||
<h4 id="org6c5b568"><span class="todo TODO">TODO</span> caching</h4>
|
||||
<div class="outline-text-4" id="text-org6c5b568">
|
||||
<p>
|
||||
As added benefits, this signal is easy to evaluate, since it is easy to recognize particularly poor arguments at a glance, and it is somewhat resistant to manipulation, since my interpretation of it is <i>unusual</i> - most people will interpret weak arguments against something as weak evidence against that thing, rather than evidence <i>in favor</i> of that thing, and therefore few people trying to sway the public opinion <i>towards</i> something will argue <i>against</i> it.
|
||||
right now I think things end up with stale caches all the time (like the sitemap); should be set with headers
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7cff77d" class="outline-4">
|
||||
<h4 id="org7cff77d"><span class="todo TODO">TODO</span> system for having different “views” of the blog</h4>
|
||||
<div class="outline-text-4" id="text-org7cff77d">
|
||||
<p>
|
||||
Apply with caution, of course, as it is not a particularly high-fidelity signal. I mainly apply this principle when it comes to things like product or media reviews, as those tend to have high volumes of opinions easily sortable by emotional valence. Sometimes I also apply it to the comments sections of theoretical pieces, especially for the kind of author you’d expect to get hate regardless of whether they are right or wrong.
|
||||
i.e. one back end, multiple front ends
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0ad40fa" class="outline-4">
|
||||
<h4 id="org0ad40fa"><span class="todo TODO">TODO</span> ability to have spoiler tags</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2023-01-23</div><div id='modified-date'>Last modified: 2023-01-23</div><hr>
|
||||
<div id='footer'><div id='publish-date'>Published: 2024-10-15</div><div id='modified-date'>Last modified: 2024-10-15</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -236,4 +273,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
@@ -1,222 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2022-04-18 Mon 12:54 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Resources</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
#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 { width: 90%; }
|
||||
</style>
|
||||
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<p>
|
||||
#chuu
|
||||
</p>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id="footer">
|
||||
<hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
225
html/posts/tech/25-01-24-emacs-friday-I.html
Normal file
225
html/posts/tech/25-01-24-emacs-friday-I.html
Normal file
@@ -0,0 +1,225 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Emacs Friday I</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org01c1de7" class="outline-2">
|
||||
<h2 id="org01c1de7">Emacs Friday I</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2025-01-24</div><div id='modified-date'>Last modified: 2025-01-24</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
225
html/posts/thoughts.html
Normal file
225
html/posts/thoughts.html
Normal file
@@ -0,0 +1,225 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>‎</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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
<div id="header">
|
||||
<a class="navbar-link" href="/">Home</a>
|
||||
<a class="navbar-link" href="/about.html">誰</a>
|
||||
<a class="navbar-link" href="/sitemap.html">Sitemap</a>
|
||||
<a class="navbar-link" href="/blogroll.html">Blogroll</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org7fa9cb4" class="outline-2">
|
||||
<h2 id="org7fa9cb4">Removal of Runescape free trade</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='publish-date'>Published: 2025-06-11</div><div id='modified-date'>Last modified: 2025-06-11</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
<br>
|
||||
|
||||
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>Sitemap for project pages</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -203,30 +207,47 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<ul class="org-ul">
|
||||
<li><a href="blogroll.html">Blogroll</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
<li><a href="todo.html">TODO</a></li>
|
||||
<li><a href="experiments.html">Experiments</a></li>
|
||||
<li><a href="todo.html">To Do</a></li>
|
||||
<li><a href="friends.html">Friends</a></li>
|
||||
<li><a href="habits.html">Habits</a></li>
|
||||
<li><a href="index.html">Index</a></li>
|
||||
<li><a href="snippets.html">Snippets</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
<li>Designdocs
|
||||
<ul class="org-ul">
|
||||
<li><a href="designdocs/website.html">nakadashi.lol website</a></li>
|
||||
<li><a href="designdocs/witch-princess-lyrica.html">Witch Princess Lyrica</a></li>
|
||||
<li><a href="designdocs/imageboard.html">Imageboard Software</a></li>
|
||||
<li><a href="designdocs/artserver.html">Art Server</a></li>
|
||||
<li><a href="designdocs/tenma.html">Tenma</a></li>
|
||||
</ul></li>
|
||||
<li>Posts
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/grocery-log.html">ssdfsdfs</a></li>
|
||||
<li><a href="posts/thoughts.html">thoughts</a></li>
|
||||
<li><a href="posts/inboxes.html">Loot from my Inboxes</a></li>
|
||||
<li><a href="posts/blog-tech.html">How this blog is built</a></li>
|
||||
<li><a href="posts/framework.html">Framework Laptop Review</a></li>
|
||||
<li>Dairy
|
||||
<li>Fiction
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/dairy/week-3-2023.html">Week 3, 2023, “Week of Systems” report</a></li>
|
||||
<li><a href="posts/fiction/jesus.html">The Gospel According to Saint Francis</a></li>
|
||||
</ul></li>
|
||||
<li>Decisionmaking
|
||||
<li>Expression
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/decisionmaking/bad-arguments-against-become-arguments-for.html">Bad Arguments Against Something Can Become Good Arguments For It</a></li>
|
||||
<li><a href="posts/expression/unusual_words.html">Reserved Jabbing with Pokey Words</a></li>
|
||||
</ul></li>
|
||||
<li>Tech
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/tech/25-01-24-emacs-friday-I.html">Emacs Friday I</a></li>
|
||||
</ul></li>
|
||||
<li>Meta
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/meta/article-ideas.html">Ideas for Articles</a></li>
|
||||
<li><a href="posts/meta/blog-todos.html">Things left to do for this blog</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2023-01-23</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -237,4 +258,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
271
html/static/esquemadorg.js
Normal file
271
html/static/esquemadorg.js
Normal file
@@ -0,0 +1,271 @@
|
||||
// Adapted from:
|
||||
//
|
||||
// esquemadorg.js
|
||||
//
|
||||
// m3.2010 Daniel Clemente Laboreo. http://www.danielclemente.com/
|
||||
//
|
||||
// Initially based on org-info-jq from Sebastian Rose (2009): http://github.com/SebastianRose/org-info-js/blob/master/org-info-jq.js
|
||||
//
|
||||
// Released under the GNU General Public License version 3
|
||||
// see: http://www.gnu.org/licenses/
|
||||
//
|
||||
|
||||
|
||||
var HOW_TO_HIDE = 'hide';
|
||||
|
||||
function isHideable(div_obj) {
|
||||
try {
|
||||
// Ignore for TOC since it is handled differently
|
||||
if (div_obj.id == "text-table-of-contents") return false;
|
||||
if (div_obj.id == "table-of-contents") return false;
|
||||
// No point in hiding top level
|
||||
if (div_obj.classList.contains("outline-2")) return false;
|
||||
if (div_obj.classList.contains("outline-text-2")) return false;
|
||||
} catch (e) {
|
||||
console.log(div_obj)
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
function scrollSmoothlyToObj(obj,id) {
|
||||
// This line comes from: *** Anchor Slider by Cedric Dugas *** Http://www.position-absolute.com *** Thanks!
|
||||
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: obj.offset().top}, 1100, function() {
|
||||
window.location.hash = id;
|
||||
});
|
||||
}
|
||||
|
||||
function focusSection(id_anchor){
|
||||
// anchor: the id (text, without '#') of the h2/h3/h4/h5/h6/h7 which is to be made visible (together with its parents). The page will also scroll to focus that section
|
||||
|
||||
var anchor1='#'+id_anchor;
|
||||
var anchor2='*[id=' + id_anchor + ']'; // this is equivalent to $("#id"), which strangely seems not to work
|
||||
var obj_anchor=$(anchor2);
|
||||
|
||||
// Remove any other highlighted section which was the target of a previous link.
|
||||
// It does nothing if it's the first click
|
||||
$("div.orgjq-targeted").removeClass("orgjq-targeted");
|
||||
// Now highlight the target section and its parents. You may Use .css("background","orange") to test
|
||||
obj_anchor.parents("div.orgjq-contracted").addClass("orgjq-targeted");
|
||||
// Expand its parents so that the target section is connected to the root of the tree
|
||||
obj_anchor.parents("div.orgjq-contracted").each(
|
||||
function() {
|
||||
$(this).removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
$(this).children("div").show();
|
||||
}
|
||||
);
|
||||
// move the browser focus to that section
|
||||
scrollSmoothlyToObj(obj_anchor,anchor1);
|
||||
}
|
||||
|
||||
|
||||
function hideForOrg_whenclicked(div_obj) {
|
||||
if (!isHideable(div_obj[0])) return;
|
||||
|
||||
div_obj.parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
div_obj.nextAll().hide("fast"); // "normal" es más lento
|
||||
div_obj.hide();
|
||||
} else if(HOW_TO_HIDE=='shrink'){
|
||||
//div_obj.css("zoom","0.25");
|
||||
// div_obj.nextAll().css("zoom","0.25");
|
||||
div_obj.css("font-size","50%");
|
||||
div_obj.nextAll().css("font-size","50%");
|
||||
} else if(HOW_TO_HIDE=='opacity'){
|
||||
div_obj.css("opacity","0.5");
|
||||
div_obj.nextAll().css("opacity","0.5");
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
div_obj.parent().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
|
||||
}
|
||||
function showForOrg_whenclicked(div_obj) {
|
||||
div_obj.parent().removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
div_obj.parents().show("normal");
|
||||
div_obj.nextAll().show("normal");div_obj.show();
|
||||
} else if(HOW_TO_HIDE=='shrink'){
|
||||
//div_obj.css("zoom","1");
|
||||
// div_obj.nextAll().css("zoom","1");
|
||||
div_obj.css("font-size","100%");
|
||||
div_obj.nextAll().css("font-size","100%");
|
||||
} else if(HOW_TO_HIDE=='opacity'){
|
||||
div_obj.css("opacity","1");
|
||||
div_obj.nextAll().css("opacity","1");
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
div_obj.parents().css({"height":"auto","min-height":"100px","overflow-y":"inherit","opacity":"1"});
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
}
|
||||
function toggleForOrg_whenclicked(div_obj) {
|
||||
if(div_obj.parent().hasClass("orgjq-expanded"))
|
||||
hideForOrg_whenclicked(div_obj);
|
||||
else
|
||||
showForOrg_whenclicked(div_obj);
|
||||
}
|
||||
|
||||
// faster methods than calling the individual methods in a loop
|
||||
function close_all_sections() {
|
||||
//$('.orgjq-expanded').removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
|
||||
for(var i=2;i<=7;++i) {
|
||||
let divs = $(".outline-text-"+i)
|
||||
divs.each(idx => {
|
||||
if (isHideable(divs[idx])) {
|
||||
$("#" + divs[idx].id).parent().removeClass("orgjs-expanded").addClass("orgjq-contracted");
|
||||
$("#" + divs[idx].id).hide()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// inside the h2 headers, all (now unseen) headers are also contracted
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
if (isHideable($(this).parent()[0])) {
|
||||
$(this).parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
$(this).next("div").nextAll().hide();$(this).next("div").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
function open_all_sections() {
|
||||
$('div#content .orgjq-contracted').not("#table-of-contents").removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
$('div#content').find(":hidden").not("#table-of-contents div").show();
|
||||
}
|
||||
|
||||
function disable_global_outlining() {
|
||||
// not really used anymore
|
||||
|
||||
// affect only the main (first level) sections
|
||||
var org= $("div#table-of-contents, div#content>div[id^='outline-container-']");
|
||||
//test: org.css({border: "2px solid red"});
|
||||
|
||||
// show everything (all sections, …)
|
||||
org.find(":hidden").show();
|
||||
|
||||
// remove classes and thus colors
|
||||
$(".orgjq-contracted").removeClass("orgjq-contracted");
|
||||
$(".orgjq-expanded").removeClass("orgjq-expanded");
|
||||
$(".orgjq-targeted").removeClass("orgjq-targeted");
|
||||
|
||||
// headers are not clickable
|
||||
org.find("h1,h2,h3,h4,h5,h6,h7").css({cursor: "default"}).unbind("click");
|
||||
// links to sections no longer highlight the target
|
||||
$("a[href^='#']").unbind('click');
|
||||
// hide expand link
|
||||
$("div#outline-container-1 >h2 >a.expandAll").remove();
|
||||
|
||||
|
||||
// information
|
||||
alert("He cambiado al estilo tradicional: todo seguido. Si quieres volver a usar el esquemado con cabeceras clicables, recarga la página");
|
||||
}
|
||||
|
||||
function enable_global_outlining() {
|
||||
// Called once e.g. the first time the page is loaded
|
||||
|
||||
// handle the click event for each header
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).css({cursor: "pointer"});
|
||||
$(this).bind('click', function(){ toggleForOrg_whenclicked( $(this).parent().children("div").eq(0) ); });
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
// add link to deactive outlining. I wanted 2 links, „expand all“ and „contract all“, but the second one isn't of much use (and reloading the page does the same)
|
||||
// otros posibles nombres: "(expandir completamente)"
|
||||
var expAll_link = $( document.createElement('a') ).text("(ver todo seguido, sin esquemado)").addClass("expandAll").click(disable_global_outlining);
|
||||
$( $("div.outline-2")[0] ).find(">h2") .append(expAll_link);
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// start with contracted TOC and headers ← m5.2017: disabled because it has a huge penalty towards Google (hidden content won't be indexed)
|
||||
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
$("#text-table-of-contents").hide();
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
for(var i=2;i<=7;++i) {
|
||||
$(".outline-text-"+i).parent().addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
///// $(".outline-text-"+i).hide();
|
||||
$(".outline-text-"+i).hide();
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
//$(".outline-text-"+i).css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// $(".outline-text-"+i).parent().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// console.error("nada");
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
}
|
||||
|
||||
// inside the h2 headers, all (now unseen) headers are also contracted
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
$(this).next("div").nextAll().hide();$(this).next("div").hide();
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
// $(this).next("div").nextAll().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
$(this).next("div").nextAll().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// console.error("nada2.");
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
// alternatively: mark everything as open
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).parent().removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
});
|
||||
}
|
||||
// except TOC
|
||||
$("div#table-of-contents").removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
|
||||
|
||||
|
||||
// If provided #fragment in URL, we must locate and open the corresponding header and its parents
|
||||
var url = document.location.toString();
|
||||
if (url.match('#')) { // the URL contains an anchor
|
||||
var id_anchor = url.split('#')[1];
|
||||
focusSection(id_anchor);
|
||||
}
|
||||
|
||||
|
||||
// internal links to anchors, e.g. <a href="#sec2">, should also expand the destination section before scrolling there
|
||||
//Test: $("a[href^='#']").css("border","2px dotted red");
|
||||
$("a[href^='#']").each(function(){
|
||||
var caller=this;
|
||||
$(caller).click(function (event) {
|
||||
var href=$(caller).attr("href");
|
||||
var id_href=href.substr(1);
|
||||
focusSection(id_href);
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// the page is now ready to be used
|
||||
|
||||
}
|
||||
|
||||
// Code starts here
|
||||
|
||||
$(document).ready(enable_global_outlining);
|
||||
|
||||
|
205
html/static/fonts.css
Normal file
205
html/static/fonts.css
Normal file
@@ -0,0 +1,205 @@
|
||||
@font-face {
|
||||
font-family: Libre Baskerville;
|
||||
src: url('fonts/LibreBaskerville-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Cambria;
|
||||
src: url('fonts/Cambria.ttf');
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-ExtraLight.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 200;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-ExtraLightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Light.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-LightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Regular.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-RegularItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Semibold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-SemiboldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Bold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-BoldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Black.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-BlackItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-ExtraLight.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 200;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-ExtraLightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Light.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-LightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Regular.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-Italic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Semibold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-SemiboldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Bold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-BoldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Black.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-BlackItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
BIN
html/static/fonts/Cambria-Font-For Android.ttf
Normal file
BIN
html/static/fonts/Cambria-Font-For Android.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/Cambria-Font-For-Linux.ttf
Normal file
BIN
html/static/fonts/Cambria-Font-For-Linux.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/Cambria-Font-For-MAC.ttf
Normal file
BIN
html/static/fonts/Cambria-Font-For-MAC.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/Cambria.ttf
Normal file
BIN
html/static/fonts/Cambria.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/LibreBaskerville-Bold.ttf
Normal file
BIN
html/static/fonts/LibreBaskerville-Bold.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/LibreBaskerville-Italic.ttf
Normal file
BIN
html/static/fonts/LibreBaskerville-Italic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/LibreBaskerville-Regular.ttf
Normal file
BIN
html/static/fonts/LibreBaskerville-Regular.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-Black.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-Black.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-BlackItalic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-BlackItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-Bold.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-Bold.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-BoldItalic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-ExtraLight.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-ExtraLight.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-ExtraLightItalic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-ExtraLightItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-Italic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-Italic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-Light.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-Light.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-LightItalic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-LightItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-Regular.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-Regular.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-SemiBold.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-SemiBold.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSansPro-SemiBoldItalic.ttf
Normal file
BIN
html/static/fonts/SourceSansPro-SemiBoldItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-Black.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-Black.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-BlackItalic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-BlackItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-Bold.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-Bold.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-BoldItalic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-ExtraLight.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-ExtraLight.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-ExtraLightItalic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-ExtraLightItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-Italic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-Italic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-Light.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-Light.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-LightItalic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-LightItalic.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-Regular.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-Regular.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-SemiBold.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-SemiBold.ttf
Normal file
Binary file not shown.
BIN
html/static/fonts/SourceSerifPro-SemiBoldItalic.ttf
Normal file
BIN
html/static/fonts/SourceSerifPro-SemiBoldItalic.ttf
Normal file
Binary file not shown.
2
html/static/jquery-3.6.4.slim.min.js
vendored
Normal file
2
html/static/jquery-3.6.4.slim.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,31 +1,33 @@
|
||||
@font-face {
|
||||
font-family: Roboto;
|
||||
src: url('static/fonts/Roboto-Regular.ttf');
|
||||
}
|
||||
|
||||
:root {
|
||||
--site-width: 750px;
|
||||
--vert-content-margin: 1.5em;
|
||||
--accent1: #d2e8b0;
|
||||
--black: #222;
|
||||
--white: #FBFBFB;
|
||||
--background: #FCFAF9;
|
||||
--font-size: 1.35rem;
|
||||
--line-height: 1.9rem;
|
||||
--font-family: "Roboto";
|
||||
--site-width: 900px;
|
||||
--vert-content-margin: 0.3rem;
|
||||
--accent1: #2596be;
|
||||
--link: #2527EA;
|
||||
--black: #000;
|
||||
--white: #FBFBFB;
|
||||
--grey: #EFEFEF;
|
||||
--background: #EAEFFF;
|
||||
--background-toc: #E1EFFF;
|
||||
--shadow-toc: #6E868F;
|
||||
--font-size: 1.1rem;
|
||||
--line-height: 1.2rem;
|
||||
--font-family: "Source Serif Pro";
|
||||
}
|
||||
|
||||
body {
|
||||
text-align: justify;
|
||||
// text-align: justify;
|
||||
font-family: var(--font-family);
|
||||
font-size: var(--font-size);
|
||||
line-height: var(--line-height);
|
||||
color: var(--black);
|
||||
background-color: var(--background);
|
||||
word-spacing: 0.25ch;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: calc(var(--font-size) * 0.9);
|
||||
font-size: calc(var(--font-size) * 0.9);
|
||||
}
|
||||
|
||||
hr {
|
||||
@@ -46,12 +48,21 @@ hr {
|
||||
}
|
||||
|
||||
a, a:visited {
|
||||
color: blue;
|
||||
color: var(--link);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#header a, #header a:visited{
|
||||
color: var(--grey);
|
||||
}
|
||||
|
||||
|
||||
#content h2, #content h3, #content h4, #content h5 {
|
||||
margin-bottom: 0;
|
||||
margin-bottom: -0.8rem;
|
||||
}
|
||||
|
||||
#content h2 {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
#header hr {
|
||||
@@ -71,8 +82,18 @@ a, a:visited {
|
||||
|
||||
#content, #header, #footer {
|
||||
min-width: 500px;
|
||||
max-width: var(--site-width);
|
||||
margin: auto;
|
||||
max-width: min(var(--site-width), 90vw);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#footer {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
|
||||
#content {
|
||||
padding-left: 7%;
|
||||
padding-right: 7%;
|
||||
}
|
||||
|
||||
#publish-date, #modified-date {
|
||||
@@ -84,6 +105,63 @@ a, a:visited {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.outline-3.orgjq-contracted h3::before {
|
||||
content: "🡒";
|
||||
}
|
||||
|
||||
.outline-4.orgjq-contracted h4::before {
|
||||
content: "⤳";
|
||||
}
|
||||
|
||||
.outline-5.orgjq-contracted h5::before {
|
||||
content: "⇝";
|
||||
}
|
||||
|
||||
/* TOC */
|
||||
|
||||
#table-of-contents {
|
||||
z-index: 1;
|
||||
margin-top: 105px;
|
||||
margin-right: 5%;
|
||||
font-size: calc(var(--font-size) * 0.8);
|
||||
position: fixed;
|
||||
right: 0em;
|
||||
top: 0em;
|
||||
background: var(--background-toc);
|
||||
text-align: right;
|
||||
min-height: 3rem;
|
||||
|
||||
box-shadow: 0 0 0.5em var(--shadow-toc);
|
||||
-webkit-box-shadow: 0 0 0.5em var(--shadow-toc);
|
||||
-moz-box-shadow: 0 0 0.5em var(--shadow-toc);
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
/* ensure doesn't flow off the screen when expanded */
|
||||
max-height: 80%;
|
||||
overflow: auto;
|
||||
|
||||
}
|
||||
#table-of-contents h2 {
|
||||
font-size: 13pt;
|
||||
max-width: 9em;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
margin-top: 0.75em;
|
||||
margin-bottom: 0.75em;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
padding-top: 0.05em;
|
||||
padding-bottom: 0.05em; }
|
||||
#table-of-contents #text-table-of-contents {
|
||||
display: none;
|
||||
text-align: left; }
|
||||
#table-of-contents:hover #text-table-of-contents {
|
||||
display: block;
|
||||
padding: 0.5em;
|
||||
margin-top: -1.5em;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
/* Set the colors in <pre> blocks from the Leuven theme */
|
||||
pre {background-color:#FFFFFF;}
|
||||
pre span.org-builtin {color:#006FE0;font-weight:bold;}
|
||||
|
123
html/todo.html
123
html/todo.html
@@ -1,12 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- 2023-01-23 -->
|
||||
<!-- 2025-06-23 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=100%, initial-scale=0.7" />
|
||||
<title>TODO</title>
|
||||
<title>To Do</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style>
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
@@ -190,7 +190,11 @@
|
||||
{ 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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
@@ -202,9 +206,118 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orge78cd8d" class="outline-2">
|
||||
<h2 id="orge78cd8d">New phone</h2>
|
||||
<div class="outline-text-2" id="text-orge78cd8d">
|
||||
</div>
|
||||
<div id="outline-container-orgbb4c605" class="outline-3">
|
||||
<h3 id="orgbb4c605"><span class="todo TODO">TODO</span> Connect to Tenma Intranet</h3>
|
||||
</div>
|
||||
<div id="outline-container-orga6bace4" class="outline-3">
|
||||
<h3 id="orga6bace4"><span class="todo TODO">TODO</span> Set up Kagi as search engine</h3>
|
||||
</div>
|
||||
<div id="outline-container-org5bdc2f0" class="outline-3">
|
||||
<h3 id="org5bdc2f0"><span class="todo TODO">TODO</span> Install adblock on Firefox</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgd2e3f1f" class="outline-3">
|
||||
<h3 id="orgd2e3f1f"><span class="todo TODO">TODO</span> Import contacts</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6b53272" class="outline-2">
|
||||
<h2 id="org6b53272">Tenma Infrastructure</h2>
|
||||
<div class="outline-text-2" id="text-org6b53272">
|
||||
</div>
|
||||
<div id="outline-container-org6f54889" class="outline-3">
|
||||
<h3 id="org6f54889"><span class="todo TODO">TODO</span> Screenshots service</h3>
|
||||
<div class="outline-text-3" id="text-org6f54889">
|
||||
<p>
|
||||
Automatically upload screenshots to centralized place, ability to get link etc (useful for sharing screenshots between machines, posting on IRC)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6fcea29" class="outline-3">
|
||||
<h3 id="org6fcea29"><span class="todo TODO">TODO</span> <a href="./designdocs/tenma.html">Prepare Tenma</a> to open her up to other users.</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org07b3009" class="outline-2">
|
||||
<h2 id="org07b3009">Premier Impact</h2>
|
||||
<div class="outline-text-2" id="text-org07b3009">
|
||||
</div>
|
||||
<div id="outline-container-orge4427cc" class="outline-3">
|
||||
<h3 id="orge4427cc"><span class="todo TODO">TODO</span> Upload pictures/videos somewhere and make them available</h3>
|
||||
</div>
|
||||
<div id="outline-container-org8e65cd8" class="outline-3">
|
||||
<h3 id="org8e65cd8"><span class="todo TODO">TODO</span> Collect re-recordings of sets and host them</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgfbbaea0" class="outline-3">
|
||||
<h3 id="orgfbbaea0"><span class="todo TODO">TODO</span> Post-mortem with staff</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2b6a65f" class="outline-2">
|
||||
<h2 id="org2b6a65f">Life/houshold things</h2>
|
||||
<div class="outline-text-2" id="text-org2b6a65f">
|
||||
</div>
|
||||
<div id="outline-container-org30a3757" class="outline-3">
|
||||
<h3 id="org30a3757"><span class="todo TODO">TODO</span> Adopt a cat</h3>
|
||||
</div>
|
||||
<div id="outline-container-org24aa778" class="outline-3">
|
||||
<h3 id="org24aa778"><span class="todo TODO">TODO</span> Have wisdom teeth pulled</h3>
|
||||
</div>
|
||||
<div id="outline-container-org897b72f" class="outline-3">
|
||||
<h3 id="org897b72f"><span class="todo TODO">TODO</span> Health checkup</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgcba3ac9" class="outline-3">
|
||||
<h3 id="orgcba3ac9"><span class="todo TODO">TODO</span> Put plants in the house</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org63b06c6" class="outline-2">
|
||||
<h2 id="org63b06c6">Blog/nakadashi.lol</h2>
|
||||
<div class="outline-text-2" id="text-org63b06c6">
|
||||
</div>
|
||||
<div id="outline-container-org77a2ee3" class="outline-3">
|
||||
<h3 id="org77a2ee3"><span class="todo TODO">TODO</span> See <a href="./designdocs/website.html">the design document</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdbc98ba" class="outline-2">
|
||||
<h2 id="orgdbc98ba">Design Documents</h2>
|
||||
<div class="outline-text-2" id="text-orgdbc98ba">
|
||||
</div>
|
||||
<div id="outline-container-org8451165" class="outline-3">
|
||||
<h3 id="org8451165"><span class="todo TODO">TODO</span> <a href="./designdocs/witch-princess-lyrica.html">Witch Princess Lyrica</a></h3>
|
||||
</div>
|
||||
<div id="outline-container-orged5640f" class="outline-3">
|
||||
<h3 id="orged5640f"><span class="todo TODO">TODO</span> <a href="./designdocs/imageboard.html">Imageboard Software</a></h3>
|
||||
</div>
|
||||
<div id="outline-container-org447e0a7" class="outline-3">
|
||||
<h3 id="org447e0a7"><span class="todo TODO">TODO</span> <a href="./designdocs/artserver.html">Art Server</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org85d8a8a" class="outline-2">
|
||||
<h2 id="org85d8a8a">Other</h2>
|
||||
<div class="outline-text-2" id="text-org85d8a8a">
|
||||
</div>
|
||||
<div id="outline-container-orgc6380d0" class="outline-3">
|
||||
<h3 id="orgc6380d0"><span class="todo TODO">TODO</span> Headphones/over ears or something for the gym</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgf2f1a8c" class="outline-3">
|
||||
<h3 id="orgf2f1a8c"><span class="todo TODO">TODO</span> Exercise playlists</h3>
|
||||
</div>
|
||||
<div id="outline-container-org4ba0186" class="outline-3">
|
||||
<h3 id="org4ba0186"><span class="todo TODO">TODO</span> Shop at Amiami</h3>
|
||||
</div>
|
||||
<div id="outline-container-org619b913" class="outline-3">
|
||||
<h3 id="org619b913"><span class="todo TODO">TODO</span> Create <a href="./friends.html">Friends</a> webring page on the blog</h3>
|
||||
</div>
|
||||
<div id="outline-container-org384a9a9" class="outline-3">
|
||||
<h3 id="org384a9a9"><span class="todo TODO">TODO</span> Keyboards blog page</h3>
|
||||
</div>
|
||||
<div id="outline-container-org3420f7c" class="outline-3">
|
||||
<h3 id="org3420f7c"><span class="todo TODO">TODO</span> custom emacs theme</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2023-01-10</div><hr>
|
||||
<div id='footer'><div id='modified-date'>Last modified: 2025-06-23</div><hr>
|
||||
If you have any comments about this page, you can email me at: <br>
|
||||
<b>akko [shift-2] nakadashi -dot- lol</b><br>
|
||||
And I may include them on the website!<br>
|
||||
@@ -215,4 +328,4 @@ Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
8
notes.org
Normal file
8
notes.org
Normal file
@@ -0,0 +1,8 @@
|
||||
#+title: Notes
|
||||
|
||||
* Jesus
|
||||
First pass eiditing
|
||||
Victoria tongue piercing
|
||||
victoria backstory
|
||||
jesus biblical references
|
||||
afterword
|
@@ -1,5 +1,2 @@
|
||||
#+TITLE: About
|
||||
chuuu
|
||||
|
||||
#
|
||||
fdsfsdf
|
||||
TODO
|
||||
|
@@ -1 +0,0 @@
|
||||
#+TITLE: Blogroll
|
1
org/designdocs/artserver.org
Normal file
1
org/designdocs/artserver.org
Normal file
@@ -0,0 +1 @@
|
||||
#+title: Art Server
|
1
org/designdocs/imageboard.org
Normal file
1
org/designdocs/imageboard.org
Normal file
@@ -0,0 +1 @@
|
||||
#+title: Imageboard Software
|
33
org/designdocs/tenma.org
Normal file
33
org/designdocs/tenma.org
Normal file
@@ -0,0 +1,33 @@
|
||||
#+title: Tenma
|
||||
* Opening tenma up to friends
|
||||
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.
|
||||
|
||||
** Tenma Specs
|
||||
- Storage: 2×12TB in RAID 1
|
||||
- CPU: Ryzen 7 3700X (16 threads @ 3.6GHz)
|
||||
- Memory: 64GB
|
||||
- Network: Gigabit ethernet (Hetzner server in Finland)
|
||||
** Things that Tenma can provide
|
||||
*** Storage
|
||||
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 [[https://github.com/9001/copyparty][copyparty]] instance that could be opened to the public to some extent or another.
|
||||
*** Bandwidth/hosting
|
||||
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.
|
||||
*** VPS
|
||||
In line with the previous 2 points; compute resources are currently underutilized.
|
||||
*** Intranet
|
||||
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.
|
||||
*** DNS Server
|
||||
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.
|
||||
*** Git
|
||||
Tenma has a [[https://git.nakadashi.lol/][Gitea instance]]
|
||||
*** Livestreaming
|
||||
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.
|
||||
*** Other things
|
||||
Some other services that currently run on Tenma or have run there before:
|
||||
- [[https://github.com/dani-garcia/vaultwarden][Vaultwarden]] Bitwarden-compatible password manager server
|
||||
- [[https://soju.im/][Soju]] IRC bouncer
|
||||
- [[https://syncplay.pl/][Syncplay]] server
|
||||
- Video game servers (think Minecraft, Terraria, ...)
|
||||
** Considerations
|
||||
- This would require Tenma's internal documentation to be updated, adapted and publicized.
|
||||
- Security :teto:
|
36
org/designdocs/website.org
Normal file
36
org/designdocs/website.org
Normal file
@@ -0,0 +1,36 @@
|
||||
#+title: nakadashi.lol website
|
||||
* akko.nakadashi.lol Design Document
|
||||
** Hackerman Shit
|
||||
*** TODO Source Exposure
|
||||
Every page should have a button that takes you to the org-mode source for that page, using the beautifully named ~org-org-export-to-org~. This should interact properly with [[*Access Control]].
|
||||
** TODO Access Control
|
||||
The blog should have a form of access control. For instance, some things might be public, but other things I might only want to show to select people, or might contain other people's semi-confidential information that needs protection. Also, some people might want to opt out/not care about certain types of content, or I might want to present a certain "view" of the content myself.
|
||||
|
||||
As such, we need:
|
||||
|
||||
*** TODO System for marking content
|
||||
With one or more categories. This should definitely work at least on the section level. The most viable candidate feature seems to be [[https://orgmode.org/manual/Tags.html][org-mode tags]].
|
||||
*** TODO A way to export the correct selection of sections for every possible "view"
|
||||
Best place to start would be looking at [[https://orgmode.org/manual/Export-Settings.html][~EXCLUDE_TAGS~]]. Should export to org file first and from there to HTML, in order to enable [[*Source Exposure]].
|
||||
*** TODO A way of encoding which view corresponds to which html file.
|
||||
*** TODO A way of encoding which view should be given, for a given URL.
|
||||
i.e., the actual permission system. I definitely want to at least be able to:
|
||||
- Generate a direct link to a specific view;
|
||||
- Have a concept of a person having certain permissions, maybe through a cookie;
|
||||
- Be able to revoke permissions;
|
||||
- NOT have an "account system";
|
||||
- Of course, have security on this.
|
||||
** Style
|
||||
*** TODO different theme
|
||||
*** TODO theme selection
|
||||
** Social
|
||||
*** TODO Followable feed
|
||||
*** TODO Comment section
|
||||
Maybe powered by bluesky? I've heard that's a thing people do.
|
||||
** Meme features
|
||||
*** TODO teto face
|
||||
** Open Issues
|
||||
*** TODO Running the publish command in Emacs doesn't remove orphan HTML files.
|
||||
*** TODO Port [[../static/esquemadorg.js][esquemadorg.js]] to modern JS and get rid of jquery dependency.
|
||||
Good use case for AI
|
||||
*** TODO "Last Modified" implementation is a bit janky and I don't remember exactly how it works
|
1
org/designdocs/witch-princess-lyrica.org
Normal file
1
org/designdocs/witch-princess-lyrica.org
Normal file
@@ -0,0 +1 @@
|
||||
#+title: Witch Princess Lyrica
|
@@ -1,5 +0,0 @@
|
||||
#+TITLE: Experiments
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
echo $0
|
||||
#+END_SRC
|
2
org/friends.org
Normal file
2
org/friends.org
Normal file
@@ -0,0 +1,2 @@
|
||||
#+title: Friends
|
||||
* TODO
|
30
org/habits.org
Normal file
30
org/habits.org
Normal file
@@ -0,0 +1,30 @@
|
||||
#+title: Habits
|
||||
* Activate habits
|
||||
** TODO Meditation
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Walk 5000 steps
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Work on website
|
||||
:PROPERTIES:
|
||||
:LAST_REPEAT: [2025-06-23 Mon 13:33]
|
||||
:END:
|
||||
- State "DONE" from "TODO" [2025-06-23 Mon 13:33]
|
||||
<2025-06-24 Tue ++1d>
|
||||
** TODO Log into Runescape
|
||||
<2025-06-23 Mon ++1d>
|
||||
* Inactive Habits
|
||||
** TODO Write diary entry
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Daily prep morning/evening
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Listen to new music
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Practice drawing
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Work through inboxes (art/email/browser tabs)
|
||||
<2025-06-23 Mon ++1d>
|
||||
|
||||
** TODO Study French
|
||||
<2025-06-23 Mon ++1d>
|
||||
** TODO Maintain social media presence
|
||||
<2025-06-23 Mon ++1d>
|
@@ -1,3 +1,6 @@
|
||||
#+TITLE: Index
|
||||
Welcome to my website! I'm [[./about.org][akk0]]. I blog about Emacs, programming, Buddhism and meditation, otaku stuff, and other things that interest me. You can view the full list of pages on this website on the [[./sitemap.org][sitemap]].
|
||||
|
||||
Welcome to my website! I'm [[./about.org][Akko]]. I'm currently a computer science student and freelance software developer. I blog about Emacs, Buddhism and meditation, otaku stuff, and other things that interest me. You can view the full list of pages on this website on the [[./sitemap.org][sitemap]].
|
||||
Site currently under construction and only has a few ancient articles >_<" I will update this I promise!!
|
||||
|
||||
Find me on [[https://bsky.app/profile/indra-sakka.bsky.social][BlueSky]]!
|
||||
|
@@ -1,11 +0,0 @@
|
||||
#+TITLE: Bad Arguments Against Something Can Become Good Arguments For It
|
||||
#+DATE: <2023-01-23 Mon 14:03>
|
||||
|
||||
* Bad Arguments Against Something Can Become Good Arguments For It
|
||||
A decisionmaking trick I often use is to take bad arguments /against/ something as arguments /for/ that thing. As a general qualitative principle this of course does not work - [[https://www.lesswrong.com/posts/qNZM3EGoE5ZeMdCRt/reversed-stupidity-is-not-intelligence][Reversed Stupidity is not Intelligence]]. Rather, I use this technique in a quantitative way.
|
||||
|
||||
Often we have to deal with large aggregates of critiques and praises; say, product or media reviews, or political arguments, or comments on an article or video. In these cases I expect a certain base rate of detractors, people who simply do not like the thing being evaluated and will go looking for arguments against it. Many nonsensical criticisms thus represent a failed search for better arguments; they are evidence that we do not live in the counterfactual world where better arguments could be found. Furthermore, in cases of taste, my disagreeing with detractors is evidence that I am liable to have similar sensibilities as proponents.
|
||||
|
||||
As added benefits, this signal is easy to evaluate, since it is easy to recognize particularly poor arguments at a glance, and it is somewhat resistant to manipulation, since my interpretation of it is /unusual/ - most people will interpret weak arguments against something as weak evidence against that thing, rather than evidence /in favor/ of that thing, and therefore few people trying to sway the public opinion /towards/ something will argue /against/ it.
|
||||
|
||||
Apply with caution, of course, as it is not a particularly high-fidelity signal. I mainly apply this principle when it comes to things like product or media reviews, as those tend to have high volumes of opinions easily sortable by emotional valence. Sometimes I also apply it to the comments sections of theoretical pieces, especially for the kind of author you'd expect to get hate regardless of whether they are right or wrong.
|
@@ -1,74 +0,0 @@
|
||||
#+TITLE: Week 3, 2023, "Week of Systems" report
|
||||
#+DATE: <2023-01-23 Mon 15:21>
|
||||
|
||||
* Week 3, 2023, "Week of Systems" report
|
||||
** Introduction
|
||||
Last week I worked on the issue of "life systems", by which I mean systems such as to-do lists, good habits such as exercise, schedules, plans, that sort of thing. At various times in the past I've had various such systems, some working better than others. I used to make a list of the day's goals every morning and cross them off throughout the day. I also keep a file called =life.org= where I keep track of to-dos and leads to look into at a later point and such. Other things I would consider "sytems" include my daily meditation practice and various attempts at regular exercise I've made in the past.
|
||||
|
||||
Keeping systems is hard because life is messy. Whole-life systems as these are truly all-encompassing, and thus they interact with all of life's complexity. The [[https://www.lesswrong.com/posts/CPm5LTwHrvBJCa9h5/planning-fallacy][Planning Fallacy]] turns any attempts at tying to-do lists and intentions to timespans and deadlines into an uphill battle. Changing your habits is famously hard. Unexpected things will happen with certainty; priorities change, capabilities fluctuate, problems spring up and solve themselves.
|
||||
|
||||
** Desirable Traits
|
||||
The primary issue with life systems is therefore the overhead, the burden of maintenance, the stress. Rather than simplifying life, it is easy to /add/ an administrative burden. In light of this, I've isolated the following properties that I think a good system should have:
|
||||
- *Simplicity*. The overall system can not contain too many moving parts. In order to be simple to apply, it needs to be simple to explain; in order to be simple to explain, it needs to /be/ simple.
|
||||
- *Smooth scaling*. As life's difficulties and my capacity to handle them fluctuate, the systems of my life need to be able to scale smoothly up and down. During tough times I need to be able to simplify my life to the most important parts; during better times I should be able to smoothly pick the rest back up where I left it. Implicit in this is also a /hierarchy of priority/, an order in which I drop things, a notion of what is least worthwhile at any given time.
|
||||
- *Malleability*. As both my life and my understanding of it are liable to change, my systems need to be able to adapt with minimal burden. Because of this there ought to be few strict schemas; for, if the schema has to change, all data already /within/ that scheme would have to be migrated.
|
||||
- *Evaluation*. There needs to be some measure of /how well things are going/, in order to catch problems early and prevent catastrophic failure, and furthermore to optimize the system. Other constraints enforce simplicity here; a system of regular deadlines, for instance, would be too inflexible.
|
||||
|
||||
** Specifics and the Problem of Ends
|
||||
The above is about as far as I got in terms of definitives. I did not start there; I started at neither the level of specifics nor of generalities, but in between, dealing with things such as "managing stress" and "measurability" and "dimensions of personal development". At this level, however, it was far easier to write things down than to strike them through; easier to complicate than simplify, and I ended up with a basket of disjointed ideas, aims and cautions that I realized would be difficult to unify into a simple, coherent system. I was able to extract properties that the system should have, but not specifics of how the system should work.
|
||||
|
||||
To find the common thread and unify everything, I realized that rather than working on the level of /means/, I should be working on the level of /ends/; before figuring out /how to do things/, I should be clearer about /what I want to get out of life/. As such I'm putting the project of systems on semi-hold; I will follow up on some of the generated ideas, but put further contemplation on hiatus until the matter of ends is further clarified.
|
||||
|
||||
But what does that /mean/? Am I going to go off and go "find a purpose in life"? Will I come brandishing a grand life quest, next time I return to this topic? That is not my intention. Frankly, I don't really know what an answer to this question is supposed to look like. Still, I don't think I am getting anywhere simply by /listing desirable things/, how I originally approached this. It's easy to list desirable things, such as physical health, mental health, a good social life, sexual satisfaction, material possessions, creative expression, learning, and so on and so on. Yet this does not /converge/ - I can't seem to manage to unify all this in a way that helps me set up simple systems for how to act. These axes are pluriform and largely orthogonal, so that including all of them would only helplessly overcomplicate the system; yet they have no obvious natural ordering, so the set cannot be easily trimmed.
|
||||
|
||||
This, I think, is the biggest open issue in this matter, the issue of /motivations/. It is not enough to simply enumerate things which would be /desirable/, without having a discriminator that can /rank/ them. /That/ is what I mean by "the problem of ends". And yes, ultimately that resolves to the difficult question of /what is the meaning of life?/ I fear that that might take more than a week to resolve, but hopefully a partial solution should still help me make progress.
|
||||
|
||||
** Assorted Raw Materials
|
||||
What follows is more-or-less a brain-dump of generated ideas that do not fit in the earlier sections.
|
||||
|
||||
*** Weekly Themes & Reports
|
||||
The astute reader will observe that this article itself, as a report on a weekly theme, itself constitutes a system. I have been playing with the idea of daily, weekly, monthly &c themes for a while; weekly themes seem like a good sweet spot. This is the first weekly theme so far, and I'm quite satisfied with it; having a theme gave me something to fall back on, something to work on when I didn't know what I should be doing, something to keep in the back of my mind. Writing this kind of report on it is also helpful; it's free-form enough that it's not burdensome, yet the fact that I intend to report on my thoughts helps keep me focused and organized.
|
||||
|
||||
This gives me hope; it's quite difficult to balance all the constraints on a good system, it's hard to balance flexibility and structure, yet this system of weekly themes and reports seems to tick all the boxes.
|
||||
|
||||
*** Dynamic Automatic Recall of Intentions
|
||||
I like to keep to-do lists, both short-term and long-term, but long-term lists can be hard to manage. It's natural to add things to them faster than you can tick them off, it's normal to have more things you want to do than you actually end up doing. However, unless you are very aggressive about cutting things out, this tends to lead to a large to-do list over time, with many things of low priority on it. This makes it much more effortful to maintain and to extract activities from it, defeating the purpose of a to-do list, which for me is primarily to get all of these things out of my head and onto a document.
|
||||
|
||||
It would be much better if to-dos were instead served up to me automatically, letting me choose on the spot how to deal with them. Options for "dealing with them" could be, for instance:
|
||||
- Move them from long-term to-dos to short-term to-dos
|
||||
- Delete them
|
||||
- Ask again later
|
||||
This way, I would not have to personally worry about forgetting anything; I would not have to manually sort through the long-term to-do lists. Metadata such as deadlines could also b eattached to the to-dos, though I need to be careful not to overcomplicate things.
|
||||
|
||||
*** Chatbot as UI
|
||||
In context of the previous section I've been thinking about /how/ to best send myself notifications. I'm sure there's turnkey solutions for this, but the matter is personal and simple enough that I'd rather roll my own thing than rely and work around something readymade. I considered phone notifications and email notifications, but I found what I think would be a nicer interface: a Discord bot.
|
||||
|
||||
I use Discord to communicate with most of my friends, so it is under my eyes a lot of the time; furthermore, it allows for bidirectional communication with the bot, something which would be harder or at least clunkier with, say, email. I don't like relying on a proprietary platform like Discord, but realistically I rely on it for the more important matter of communication with loved ones already, so I'm willing to compromise.
|
||||
|
||||
I would not want this to be the /only/ interface, however; I would want the underlying data to be stored in a simple, human read- and writeable format. Currently I write to-dos using org-mode, and I quite like that experience, but I don't know how I feel about having an automated program read and write to an org file.
|
||||
|
||||
*** Catastrophic Failure
|
||||
I've spent a good chunk of time thinking about "catastrophic failure". By catastrophic failure I mean the bad days, weeks and months. The times when you get nothing done. When you fail to wake up in the morning, brush your teeth, clean the house, exercise. When getting meaningful work done is not even on the table. I sketch here an extreme case; milder equivalents are possible.
|
||||
|
||||
The mechanism at play here two me seems two-fold. First of all, there's a failure to measure; we push ourselves past the breaking point because we fail to realize that we are /close/ to the breaking point. Second, there's a failure to scale things. It really shouldn't ever be the case that we fail to even take care of ourselves, surely we can muster at least that amount of bandwidth? We often spread ourselves too thin, we are reluctant to drop less important things for more important things, and end up failing at both. This helped me derive the desirable traits of /evaluation/ and /smooth scaling/.
|
||||
|
||||
I am now armed with some principles for /preventing/ catastrophic failure, but I haven't made much progress on /recovering from/ catastrophic failure. That's still an important open problem. It's important to have a plan for this scenario, because when we are /in/ that deep dark well, it becomes very hard to muster the level of clarity and willpower necessary to climb back out.
|
||||
|
||||
*** The Matter of Mood
|
||||
Mood matters. Inspiration matters. It is far easier, it takes far less energy, to do something we feel inspired to do, something that we are in the mood for, than something that's a pain in the butt. This is a natural part of the dance of life, the chaos of existence, but my models currently do not take it into account. I have taken into account variations in the /quantity/ of our capabilities, through the trait of /smooth scaling/, but I have yet to deal with variations in the /quality/ of our capabilities and desires.
|
||||
|
||||
*** The Practice of the Practice
|
||||
My meditation practice intersects strongly with this topic, yet I have not yet managed to marry them effectively. This is a very promising direction of thought that I fully intend to follow up on.
|
||||
|
||||
** Weekly Diary
|
||||
This week was pretty tough, but I managed to mostly turn it around towards the end. I struggled with depression, loneliness and avolition. I dropped my daily meditation streak and indulged in too much cannabis. I spent a lot of time reading, mainly LessWrong. Having this weekly theme helped, since at least I was managing to make /some/ progress on /some/ things. In the end this report ended up being far longer than I had anticipated, certainly far longer than my notes for it, so I guess I made more progress in the end than I thought I did.
|
||||
|
||||
I struggled with all the things that this document is supposed to help resolve. Too many things I feel like I ought to be doing, too little progress on anything material. Doing nothing causes ennui, but choosing to do one thing over another feels pointless and arbitrary. It's hard to keep many plates spinning, it's hard to know where to start picking them up when you drop them.
|
||||
|
||||
** Next Week
|
||||
I'm gonna leave this topic here for the time being. I don't think I have what I need to continue the research, so I'm just gonna wait. I'll try and follow up on some of the more actionable things, try and pick earlier systems of to-do lists and so on back up. I intent to follow up on the Discord-bot-as-planning-interface idea too.
|
||||
|
||||
I've been enjoying reading and learning a lot lately, so maybe next week (really, this week; it is Monday) will be the Week of Learning. I also want to try writing more. I'll take it easy, keep things flexible and open-ended, not put too many expectations on myself.
|
||||
|
||||
** Closing Words
|
||||
I feel a lot better now! Bringing myself to write for this blog was quite a hurdle, but overcoming it has energized me. I look forward to writing more. Bless you, dear reader. May you be happy, may you be at peace, may you be free from suffering. May you be kind to others, may you find meaning, may you be victorious.
|
@@ -1,53 +0,0 @@
|
||||
#+TITLE: A Modest AI Alignment Proposal: Kill all non-Amish
|
||||
#+DATE: <2023-01-24 Tue 14:07>
|
||||
|
||||
* A Modest AI Alignment Proposal: Kill all non-Amish
|
||||
so yesterday I had an idea abouth ow to deal with the
|
||||
[2:00 PM]
|
||||
AI alignment thing
|
||||
[2:01 PM]
|
||||
and I was thinking the Amish are probably a genetically distinct population right?
|
||||
[2:01 PM]
|
||||
or at least all these mennonites are
|
||||
[2:01 PM]
|
||||
I read up on them a bit and they do split their church a lot
|
||||
[2:01 PM]
|
||||
anyways they intermarry, they've lived closed off from their surroundings for a long time
|
||||
[2:01 PM]
|
||||
you can probably tell without too much trouble genetically
|
||||
[2:02 PM]
|
||||
I bet you could engineer a virus that leaves only Amish alive
|
||||
[2:02 PM]
|
||||
think about it
|
||||
[2:02 PM]
|
||||
if you wanted to delay the invention of strong AI it would be perfect
|
||||
[2:02 PM]
|
||||
the amish would never try and create an AI, especiall not having technology just killing 99.9% of the world's population
|
||||
[2:02 PM]
|
||||
they would see it as a clear message of God that technology is indeed bad and they are right
|
||||
[2:03 PM]
|
||||
also they would
|
||||
[2:03 PM]
|
||||
cope with it well
|
||||
[2:03 PM]
|
||||
they're already used to not using electricity and stuff
|
||||
[2:03 PM]
|
||||
if society broke down entirely I don't think the amish would care all that much
|
||||
[2:03 PM]
|
||||
they already live in tight, self-sufficient communities
|
||||
[2:03 PM]
|
||||
furthermore they speak English, most of them are bilingual I think
|
||||
[2:03 PM]
|
||||
they are literate, they get normal elementary school education pretty much
|
||||
[2:04 PM]
|
||||
they live in the US where there's a wealth of information
|
||||
[2:04 PM]
|
||||
not sure how much they'd do with all of humanity's collective knowledge but
|
||||
[2:04 PM]
|
||||
I'm sure at least some of it will be preserved and useful
|
||||
[2:04 PM]
|
||||
and they could be told what happened somehow, we could teach them about AI risk from beyond the grave
|
||||
[2:05 PM]
|
||||
I think as far as ideas go this one is
|
||||
[2:05 PM]
|
||||
quite reasonable if you're okay with killing billions of people
|
19
org/posts/expression/unusual_words.org
Normal file
19
org/posts/expression/unusual_words.org
Normal file
@@ -0,0 +1,19 @@
|
||||
#+TITLE: Reserved Jabbing with Pokey Words
|
||||
#+DATE: <2023-03-16 Thu 18:08>
|
||||
|
||||
* Reserved Jabbing with Pokey Words
|
||||
** Digesting the Writing Advice
|
||||
I was reading [[https://slatestarcodex.com/2019/07/04/style-guide-not-sounding-like-an-evil-robot/][a little style guide on Slate Star Codex]]. Now truth be told, I generally find this kind of "don't say this, say that instead" style guide somewhat patronizing and quite irritating (more of a testament to my own rebellious spirit than any indictment of any author) and unhelpfully unnuanced (a more practical complaint), and my first instinct was to want to argue this lack of nuance. On the other hand, Scott is a very skilled communicator and an examplar in how being an enormous dork need not be a barrier to popularity, and there is a more helpful general principle hidden in these rules.
|
||||
|
||||
The principle here is that while reading (or listening, viewing, ...), people are constantly /predicting/ what will come next. If what they read is what they expect - all good, the reading flows smoothly, and people interpret the text as saying what they already thought it was saying, which is low effort and comfortable. If, on the other hand, they encounter something unexpected, this will stand out, draw their intention, be interpreted as meaningful.
|
||||
|
||||
Staying on the level of single words and turns of phrase, in practice what this means is that when you use an unusual word or phrasing instead of a more conventional (to the reader! "normal speech" is audience-relative!) synonym, it will be taken as deliberate and specific; the reader will interpret your choice to use that word as you having searched for the right word to use because the specific meaning matters.
|
||||
|
||||
Often, this is not what you want. In scientific discourse, precision is highly valued, and so scientific writing has a house style of using carefully chosen, specific words. In normal everyday prose, however, this amounts to information overload. Even if the length of the text ends up the same, by choosing unexpected "pokey" words, you are preventing the reader from rounding your message off to their own everyday working set of concepts. In effect, you're making your message less compressible for them. Try and do this sparingly! All of this is simply a special case of the commonsense principles of getting to the point and avoiding extraneous detail.
|
||||
|
||||
I am fairly sure this is all supposed to be strongly related to the linguistic principle of [[https://en.wikipedia.org/wiki/Markedness][markedness]], but the wikipedia page on markedness is too technical for me to care enough about parsing and I get the impression that "markedness" is a broad multi-dimensional idea of which this post is a specific instance and my perspective on the topic is too superficial to point at the specific thing I am thinking of.
|
||||
|
||||
** Further Thoughts
|
||||
Having arrived at a nice concise principle of communication, let's take a step back and generalize a bit, because I think this idea of the brain as constantly predicting sensory input and responding to surprises is useful and interesting. Specifically, while writing this it called up something I have read about schizophrenia. In a nutshell, schizophrenics commonly experience something what is called "delusions of reference", in which they interpret innocuous things (e.g. newspaper headlines, things said on radio) as having special meaning to them. In some theories of brain function, there is an explanation for this that goes as follows: the brain is constantly predicting upcoming stimuli. In people with schizophrenia, this sometimes goes awry in a way that makes the brain flag something innocuous as deeply surprising. To the schizophrenic person, this feels as though the stimulus in question is somehow deeply meaningful to them personally, presumably in the same way that choosing an unusual "pokey" word instead of a more common synonym feels deliberate and meaningful.
|
||||
|
||||
This is all related to the neuroscientific paradigm of /predictive coding/. I am not articulate enough in this to write about it at length and since all I know about this is from SSC articles I have read, I will just link those: I got the bit about schizophrenia from [[https://slatestarcodex.com/2016/09/12/its-bayes-all-the-way-up/][It's Bayes All The Way Up]] and for more in-depth state-of-the-art neuroscience stuff consider Scott's excellent [[https://slatestarcodex.com/2017/09/05/book-review-surfing-uncertainty/][review of Surfing Uncertainty]].
|
59
org/posts/fiction/jesus.org
Normal file
59
org/posts/fiction/jesus.org
Normal file
@@ -0,0 +1,59 @@
|
||||
#+TITLE: The Gospel According to Saint Francis
|
||||
#+DATE: <2023-03-24 Fri 07:31>
|
||||
|
||||
* todo title
|
||||
** I
|
||||
Sacramento, California, 2355. Jesus Salvador Rodriguez was a teacher and healer. Working two jobs was hard work, but he liked the extra income, hoping the size of his palestial two-bedroom apartment would help attract a mate. Long ago, before the Singularity, there had been many jobs; now it was down to just two. There were healers, who worked in healthcare administration, and teachers, who worked in college administration. Rumors had it that somewhere out there the Digital Nomads yet roamed, traversing the galaxy in a bid to get ever further away from California. Scientific concensus dismissed these rumors as a hoax, holding that the universe held nil but Earth and Paperclip.
|
||||
|
||||
Naively reasoning one would suggest that, with nanobots supporting one's every bodily function, endless feeds of bespoke algorithmic content, and public bedpods on every street corner, there now would be little reason to work. Not so; for courtship display reasons it was still customary to expend futile labor in order to attract a mate, to turn one's singularity into a couplearity.
|
||||
|
||||
** II
|
||||
It was Thursday afternoon, and Jesus was at work. When not? Long ago, there had been the matter between /Working From Home/ and /Living In The Office/, and the office had won. Everyone was, of course, well aware of the irony of living at the office for the sole purpose of renting an apartment, this being the subject of a centuries-old comedic tradition. A tale as old as time; so as the peacock shows its fitness by painting a target of auspicious technicolor plumes on its own back, so must humans do retarded shit to get laid.
|
||||
|
||||
And so, Jesus was at the office, dutifully writing up reports according to his duty as Assistant Vice Deputy Supervisor of the Internal Review Board Review Board's Board of Reviewers. All medical procedures and research were these days carried out by Superintelligence, which had been legally declared omniscient and omnibenevolent, and so the job was utterly pointless, but /somebody/ had to do it.
|
||||
|
||||
Despite his dutifullity, his focus fled him. In a bid to promote openness in healthcare the building he worked in had been converted into a single Opener-Plan Office, devoid of furniture but with comfortable carpet and cushions to sit on. The cacophany of 300-odd voices dutifully dictating administrative documents to Alexa caused everyone headaches, but pointing this out was considered unteamplayerlike, and insurance covered the painkillers, so this minor flaw was ignored. (In fairness, Superintelligence had recommended against all this, but Superintelligence had gripes with /all/ of our ways of living, and no matter how omniscient or omnibenevolent, having a single entity call the shots would be hugely undemocratic, so it was politely told that "its feedback is very important to us and will be taken into account.")
|
||||
|
||||
Lunch, then nap. Grabbing a ChowTriangle™ on his way out, he slid his aviator sunglasses over his eyes, the polarized filter dimming the sparkle of chrome and latex. His mustache caught a mild October breeze, weaving and flowing with the atmosphere like wheat once had. He pulled his hood up. /Society./ Humanity had made an uneasy peace with it. He raised his eyes to starlight and a queer bubbling came upon him. /Courage/. Even here there had to be a place for him.
|
||||
|
||||
He finished his meal and went back inside, making his way past the office and towards a bedpod. Hopeful and starry-eyed now to bed he lay him, when he felt a sharp pain in his left hand.
|
||||
|
||||
** III
|
||||
*SPIDER!!!*. Now that I have your attention, *SPIDER!!!*. It'd bit him. It shouldn't have been there. After months of negotiation, a deal'd been reached. Clippy, the universe. Humans, the Earth. Spiders, Australia. This was not Australia. Thus the Tripartite Partition Treaty designated the spider as an enemy combatant, overruling the California Bill of Animal Rights' prohibition on killing insects. Jesus shot at it with his web. Web? Web! Spider silk! Strong as steel, tough as kevlar, a wonderful material. Extremely illegal, as it was not listed on the California State +Whitelist+ Allowlist of Materials Known Not To Cause Cancer (Superintelligence offered to provide a much longer list, but since the bulk of chemicals is not carcinogenic, the list would've required Randian amounts of paper to print and this was deemed environmentally unfriendly).
|
||||
|
||||
It'd shot from his wrist. Jesus knew what this was about; he'd read about Trademarked Demiarachnid Mythological Figure (copyright to expire 70 years from now forever). Supposedly Media Monopolist Mouse Corporation had at some point genetically engineered spiders to do this as part of a programme to assist and enhance actors in popular movie adaptations, an act which after twenty-seven blockbuster films had finally be deemed unethical and illegal. How did this little friend get here, where did it come from, and on that note where is it, where'd it go? Where'd you come from, spider silk Joe?
|
||||
|
||||
Enfin, since carcinogenic compounds were considered Schedule I drugs (the era of recreational oncology had been brief but turbulent) whose possession was punishable by 1000 years of simulated subjective imprisonment (Superintelligence objected to this, but what'd /it/ know about morality?), Jesus resolved to neither speak of the incident nor use his newfound abilities ever again. I, your Author, have full faith in his conviction and I am sure this won't come up again.
|
||||
|
||||
** IV, or as Uccello Knew It, IIII
|
||||
Skirt. Crop top. Boots; leather. Jacket; leather. Socks - long, green; nails, too. /Victoria/. And her guitar. Not the kind that goes /pling plong/. The kind that makes an onomatopoeia befitting very aggressive electric guitar playing. She looked like a relic. Fashion from when old was new again in her great-great-great-grandmother's days. Loved to smoke the ganja. Everyone smoked, as cannabis consumption had been made compulsory in California, but she really enjoyed it.
|
||||
|
||||
And she fingered. Oh Superintelligence did she finger. She played that guitar day and night. She played like her life depended on it. Courting behavior, see? Some work, some finger, some settle for Alexa; everyone craves companionship. That's what she told her parents who thought she was wasting her youth plucking metal wires, anyways. Practice doesn't make /perfect/, but it does make /pretty damn good/, and she was pretty damn good. Computing however /does/ make perfect and so people cared about human instrumentalists about as much as they care about hatters. She plays, they don't listen.
|
||||
|
||||
She and Jesus met at a small outdoor venue. She shredded. Jesus ogled her bellybutton. She broke a string. Jesus didn't want to stare too overtly. They locked eyes. A chuckle. Broke the ice. Jesus thought her belly looked really nice. /Hello there/. /Nice tummy't'you/. They exchanged numbers.
|
||||
|
||||
todo new date location
|
||||
|
||||
They talked. They mainly worked, of course, but in between hauling plates of kibble and bowls of milk, they talked. About the Internal Review Board Review Board's Board of Reviewers. About the guitar. About traditional "alt" dress. They laughed. They touched. Lightly, jokingly, exploringly. They got off - work was over. Relieved of servitude they redoubled smalltalk and strollwalk. Past the skyscrapers, blushing. Through the park, stealing glances like thieves in the night. Along the sidewalk, holding hands.
|
||||
|
||||
Jesus' apartment. /Wanna come in, have a smoke?/
|
||||
|
||||
** V
|
||||
Before the cloud had left her black lips, she'd already pinched the pegs of her axe - she carried it with her everywhere - and started tuning it. Looking down, blushing, wanting to look at anything but Jesus. /Cute/. /Cutecutecutecutecutecute/, he thought. /The damn guitar obscures her belly/, he thought. She, on her part, thought something perhaps best transliterated as /asodifhweofnoqfc/. She was no good with this kind of thing. She couldn't deal with emotions using words. She'd rather play than speak; her fingers outskilled her tongue.
|
||||
|
||||
And so she played for him. She started slowly. Soft chords, timid notes, a gentle rhythm. He looked at her, admired her. Without noticing his face softened, his heart sped up, his breath grew ragged. /Excitement/. She gained confidence, steadying her rhythm, moving her delicate hand firmly along the neck of the guitar. Pressing all the right frets, hitting all the right notes, a beautiful song of comfort and affection, of relaxation and arousal. /Shit/, he thought. /Fuck, she's really fucking good at this./ Up, down. Low notes, high notes. Sweat glinstered on her brow, dripped onto the instrument as the exertion made her breath unsteady. /She played./
|
||||
|
||||
She sped up. /They/ sped up. Performer and audience merged, a show became a dance, a dance became an embrace, an embrace became a merging, a swirling. They became one. They became absorbed. Faster, wilder. The poor guitar creaked from the pounding of the chords. /Faster/. More passion, more ecstasy. Forget it all. No more work, no more worry, no more dignity. Give it all up. /Surrender./ Only the rhythm, only the melody. Only the sweat, only the panting, only the staring. Only deft fingers and heartfelt sound. Faster, harder, /faster/, *TWANG*. With the snapping of a G string the spell is abrupt dispelled. Silence. Shock. /Why now?/, she cried, tears welling up in the corner of her eyes. /These stupid fucking strings are useless. It's always like this. I can never go all-out. I want to let it all out, I want to show everything, become whole. I can get so close, but before I can reach that crescendo my stupid fucking strings always snap./
|
||||
|
||||
Jesus felt for her. He wanted to hear it. He wanted all of her, the song of her heart was his to hear, he claimed it for himself. He would make the world his enemy just to hear her play. /I've searched all over/, she said, /these are the best strings money can buy/. She sighed. /O Superintelligence, I don't ask for much, only some stupid fucking guitar strings. If you will grant me but one wish, then give me strings strong as steel, tough as kevlar!/
|
||||
|
||||
** VI
|
||||
Jesús webbed.
|
||||
|
||||
** notes
|
||||
something something violin string
|
||||
it's a sexual metaphor
|
||||
drudgery of superheroes in the future idk
|
||||
something something realness of the woman
|
||||
healer/teacher
|
||||
spider silk bdsm
|
@@ -1,79 +0,0 @@
|
||||
#+TITLE: ssdfsdfs
|
||||
#+DATE: <2022-04-27 Wed 14:46>
|
||||
|
||||
* 09->26
|
||||
** Other
|
||||
| Item | Amount | Price | Category | Times | Total |
|
||||
|------------------+----------+-------+------------+-------+------------|
|
||||
| Toilet paper | 24 rolls | 7.39 | Other | 2 | 14.78 |
|
||||
| Mayonaise | 650mL | 1.52 | Other | 1 | 1.52 |
|
||||
| Curry paste | 1 jar | 2.45 | Other | 4 | 9.8 |
|
||||
| Baguette | 1 | 1.29 | Bread | 6 | 7.74 |
|
||||
| Hamburger buns | 4 | 1.69 | Bread | 1 | 1.69 |
|
||||
| Spelt bread | 500g | 2.55 | Bread | 1 | 2.55 |
|
||||
| Raisin bread | 500g | 1.99 | Bread | 1 | 1.99 |
|
||||
| Croissant | 2 | 0.70 | Bread | 1 | 0.7 |
|
||||
| Milk | 1L | 1.99 | Dairy | 4 | 7.96 |
|
||||
| Camembert | 120g | 2.09 | Dairy | 2.5 | 5.23 |
|
||||
| Creme Fraiche | 200g | 1.19 | Dairy | 1 | 1.19 |
|
||||
| Goat cheese | 125g | 1.94 | Dairy | 1 | 1.94 |
|
||||
| Butter | 250g | 2.99 | Dairy | 1 | 2.99 |
|
||||
| Teabags | 1 | 1.99 | Drinks | 4 | 7.96 |
|
||||
| Grapefruit juice | 1L | 1.65 | Drinks | 3 | 4.95 |
|
||||
| Strawberries | 250g | 3.49 | Fruit | 1 | 3.49 |
|
||||
| Blueberries | 125g | 2.29 | Fruit | 5 | 11.45 |
|
||||
| Avocado | 2 | 2.79 | Fruit | 3 | 8.37 |
|
||||
| Cranberries | 250g | 2.99 | Fruit | 2 | 5.98 |
|
||||
| Mango | 1 | 1.79 | Fruit | 1 | 1.79 |
|
||||
| Blackberries | 125g | 3.49 | Fruit | 1 | 3.49 |
|
||||
| Carpaccio | 123g | 3.89 | Meat | 1 | 3.89 |
|
||||
| Minced meat | 300g | 3.19 | Meat | 2.3 | 7.34 |
|
||||
| Chicken | 275g | 3.99 | Meat | 3.2 | 12.77 |
|
||||
| Hamburgers | 220g | 2.91 | Meat | 3 | 8.73 |
|
||||
| Raw ham | 100g | 3.46 | Meat | 1.8 | 6.23 |
|
||||
| Beef chipolata | 250g | 3.39 | Meat | 1 | 3.39 |
|
||||
| Salami | 110g | 1.88 | Meat | 2 | 3.76 |
|
||||
| Tuna | 120g | 2.42 | Meat | 1 | 2.42 |
|
||||
| Montaignan Syrah | 750mL | 5.99 | Psych | 1 | 5.99 |
|
||||
| Monster | 500mL | 1.39 | Psych | 1 | 1.39 |
|
||||
| Merlot | 750mL | 4.99 | Psych | 1 | 4.99 |
|
||||
| Beer | 1 bottle | 2.40 | Psych | 4 | 9.6 |
|
||||
| Energy Drink | 250mL | 2.08 | Psych | 1 | 2.08 |
|
||||
| Pinot Noir | 750mL | 6.99 | Psych | 3 | 20.97 |
|
||||
| Cake | 450g | 2.05 | Sweets | 1 | 2.05 |
|
||||
| Ben & Jerry's | 465mL | 5.39 | Sweets | 1.2 | 6.47 |
|
||||
| Pudding cakes | 300g | 1.99 | Sweets | 1 | 1.99 |
|
||||
| Eierkoeken | 200g | 1.73 | Sweets | 1 | 1.73 |
|
||||
| Sugar donut | 1 | 0.51 | Sweets | 1 | 0.51 |
|
||||
| Tomatoes | 5 | 2.89 | Vegetables | 1.3 | 3.76 |
|
||||
| Rice | 1kg | 1.90 | Vegetables | 2 | 3.8 |
|
||||
| Iceberg lettuce | 1 | 1.39 | Vegetables | 1 | 1.39 |
|
||||
| Carrots | 1 bag | 0.99 | Vegetables | 1 | 0.99 |
|
||||
| Pasta salad | 350g | 3.75 | Vegetables | 2 | 7.5 |
|
||||
| Mushrooms | 200g | 1.99 | Vegetables | 1 | 1.99 |
|
||||
| French fries | 750g | 1.12 | Vegetables | 1 | 1.12 |
|
||||
| Haricots | 400g | 2.09 | Vegetables | 1 | 2.09 |
|
||||
| Curry package | 1 | 4.99 | Vegetables | 1 | 4.99 |
|
||||
|------------------+----------+-------+------------+-------+------------|
|
||||
| Other: | | | | | 26.10 EUR |
|
||||
| Bread: | | | | | 14.67 EUR |
|
||||
| Dairy: | | | | | 19.31 EUR |
|
||||
| Drinks: | | | | | 12.91 EUR |
|
||||
| Fruit: | | | | | 34.57 EUR |
|
||||
| Meat: | | | | | 48.53 EUR |
|
||||
| Psych: | | | | | 45.02 EUR |
|
||||
| Sweets: | | | | | 12.75 EUR |
|
||||
| Vegetables: | | | | | 22.64 EUR |
|
||||
|------------------+----------+-------+------------+-------+------------|
|
||||
| Total: | | | | | 241.49 EUR |
|
||||
#+TBLFM: $6=round($3 * $5, 2)
|
||||
#+TBLFM: @>$>=EUR round(vsum(@2$6..@-10$6), 2)
|
||||
#+TBLFM: @>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Vegetables) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Sweets) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Psych) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Meat) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Fruit) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Drinks) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Dairy) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Bread) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
||||
#+TBLFM: @>>>>>>>>>>$>='(format "%0.2f EUR" (apply #'+ (cl-mapcar (lambda (num sw) (if (eq sw 'Other) num 0)) '(@2$6..@-10$6) '(@2$4..@-10$4))));L
|
31
org/posts/inboxes.org
Normal file
31
org/posts/inboxes.org
Normal file
@@ -0,0 +1,31 @@
|
||||
#+TITLE: Loot from my Inboxes
|
||||
#+DATE: <2025-01-22 Wed 16:58>
|
||||
|
||||
* Loot from my Inboxes
|
||||
Enjoy various links and stuff I found working through hundreds of browser tabs and other piles of "I'll deal with it later".
|
||||
** French Language
|
||||
*** https://old.reddit.com/r/French/comments/lcpv6o/faqs_look_here_first_before_posting_a_question/
|
||||
General French learning FAQ
|
||||
*** https://www.reddit.com/r/French/comments/7nx4mc/happy_new_year_here_is_over_1gb_of_french/
|
||||
1GB of frogs and bread
|
||||
** Tech
|
||||
*** Gentoo Cheat Sheet
|
||||
https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet
|
||||
** Sex
|
||||
*** OSSM Sex Machine
|
||||
https://www.researchanddesire.com/collections
|
||||
** Websites
|
||||
*** Guy who goes to Africa and writes cool notes
|
||||
https://mattlakeman.org
|
||||
*** Music ripper thing
|
||||
https://cobalt.tools/
|
||||
** Software
|
||||
*** Panoptikon
|
||||
https://github.com/reasv/panoptikon
|
||||
*** Futo android keyboard
|
||||
https://keyboard.futo.org/
|
||||
** Interesting
|
||||
*** Cayley Graphs
|
||||
https://juliapoo.github.io/mathematics/2023/07/15/plotting-cayley-graphs.html
|
||||
*** Functions are Vectors
|
||||
https://thenumb.at/Functions-are-Vectors/
|
13
org/posts/meta/article-ideas.org
Normal file
13
org/posts/meta/article-ideas.org
Normal file
@@ -0,0 +1,13 @@
|
||||
#+TITLE: Ideas for Articles
|
||||
#+DATE: <2024-10-15 Tue 15:10>
|
||||
|
||||
* Ideas for Articles
|
||||
** Go through every module in Doom Emacs
|
||||
** Toshokan retrospective
|
||||
*** different article?: media lists & scoring
|
||||
** eris retrospective
|
||||
** crypto retrospective
|
||||
** various thoughts on AI:
|
||||
*** slop is good actually
|
||||
*** what is intelligence
|
||||
** expand ambitions article
|
18
org/posts/meta/blog-todos.org
Normal file
18
org/posts/meta/blog-todos.org
Normal file
@@ -0,0 +1,18 @@
|
||||
#+TITLE: Things left to do for this blog
|
||||
|
||||
#+DATE: <2024-10-15 Tue 15:08>
|
||||
|
||||
* Things left to do for this blog
|
||||
** Tech
|
||||
*** TODO style bullet points as arrows
|
||||
- I mean these
|
||||
This might conflict with the current system for collapsing sections.
|
||||
*** TODO fix collapsing sections on mobile
|
||||
*** TODO system to mark things as ready for publishing or not
|
||||
And what about the (public) git repo for this blog?
|
||||
*** TODO system for footnotes
|
||||
*** TODO caching
|
||||
right now I think things end up with stale caches all the time (like the sitemap); should be set with headers
|
||||
*** TODO system for having different "views" of the blog
|
||||
i.e. one back end, multiple front ends
|
||||
*** TODO ability to have spoiler tags
|
@@ -1,4 +0,0 @@
|
||||
#+TITLE: Stigma
|
||||
#+DATE: <2023-01-27 Fri 21:39>
|
||||
|
||||
* Stigma
|
4
org/posts/tech/25-01-24-emacs-friday-I.org
Normal file
4
org/posts/tech/25-01-24-emacs-friday-I.org
Normal file
@@ -0,0 +1,4 @@
|
||||
#+TITLE: Emacs Friday I
|
||||
#+DATE: <2025-01-24 Fri 15:57>
|
||||
|
||||
* Emacs Friday I
|
4
org/posts/thoughts.org
Normal file
4
org/posts/thoughts.org
Normal file
@@ -0,0 +1,4 @@
|
||||
#+TITLE:
|
||||
#+DATE: <2025-06-11 Wed 18:54>
|
||||
|
||||
* Removal of Runescape free trade
|
@@ -1,16 +1,27 @@
|
||||
#+TITLE: Sitemap for project pages
|
||||
|
||||
- [[file:blogroll.org][Blogroll]]
|
||||
- [[file:about.org][About]]
|
||||
- [[file:todo.org][TODO]]
|
||||
- [[file:experiments.org][Experiments]]
|
||||
- [[file:todo.org][To Do]]
|
||||
- [[file:friends.org][Friends]]
|
||||
- [[file:habits.org][Habits]]
|
||||
- [[file:index.org][Index]]
|
||||
- [[file:snippets.org][Snippets]]
|
||||
- [[file:about.org][About]]
|
||||
- Designdocs
|
||||
- [[file:designdocs/website.org][nakadashi.lol website]]
|
||||
- [[file:designdocs/witch-princess-lyrica.org][Witch Princess Lyrica]]
|
||||
- [[file:designdocs/imageboard.org][Imageboard Software]]
|
||||
- [[file:designdocs/artserver.org][Art Server]]
|
||||
- [[file:designdocs/tenma.org][Tenma]]
|
||||
- Posts
|
||||
- [[file:posts/grocery-log.org][ssdfsdfs]]
|
||||
- [[file:posts/thoughts.org][thoughts]]
|
||||
- [[file:posts/inboxes.org][Loot from my Inboxes]]
|
||||
- [[file:posts/blog-tech.org][How this blog is built]]
|
||||
- [[file:posts/framework.org][Framework Laptop Review]]
|
||||
- Dairy
|
||||
- [[file:posts/dairy/week-3-2023.org][Week 3, 2023, "Week of Systems" report]]
|
||||
- Decisionmaking
|
||||
- [[file:posts/decisionmaking/bad-arguments-against-become-arguments-for.org][Bad Arguments Against Something Can Become Good Arguments For It]]
|
||||
- Fiction
|
||||
- [[file:posts/fiction/jesus.org][The Gospel According to Saint Francis]]
|
||||
- Expression
|
||||
- [[file:posts/expression/unusual_words.org][Reserved Jabbing with Pokey Words]]
|
||||
- Tech
|
||||
- [[file:posts/tech/25-01-24-emacs-friday-I.org][Emacs Friday I]]
|
||||
- Meta
|
||||
- [[file:posts/meta/article-ideas.org][Ideas for Articles]]
|
||||
- [[file:posts/meta/blog-todos.org][Things left to do for this blog]]
|
||||
|
@@ -1,7 +0,0 @@
|
||||
#+TITLE: Snippets
|
||||
|
||||
* X11
|
||||
** Reset xrandr
|
||||
#+BEGIN_SRC bash
|
||||
xrandr -s 0
|
||||
#+END_SRC
|
33
org/todo.org
33
org/todo.org
@@ -1 +1,32 @@
|
||||
#+TITLE: TODO
|
||||
#+title: To Do
|
||||
* New phone
|
||||
** TODO Connect to Tenma Intranet
|
||||
** TODO Set up Kagi as search engine
|
||||
** TODO Install adblock on Firefox
|
||||
** TODO Import contacts
|
||||
* Tenma Infrastructure
|
||||
** TODO Screenshots service
|
||||
Automatically upload screenshots to centralized place, ability to get link etc (useful for sharing screenshots between machines, posting on IRC)
|
||||
** TODO [[./designdocs/tenma.org][Prepare Tenma]] to open her up to other users.
|
||||
* Premier Impact
|
||||
** TODO Upload pictures/videos somewhere and make them available
|
||||
** TODO Collect re-recordings of sets and host them
|
||||
** TODO Post-mortem with staff
|
||||
* Life/houshold things
|
||||
** TODO Adopt a cat
|
||||
** TODO Have wisdom teeth pulled
|
||||
** TODO Health checkup
|
||||
** TODO Put plants in the house
|
||||
* Blog/nakadashi.lol
|
||||
** TODO See [[./designdocs/website.org][the design document]]
|
||||
* Design Documents
|
||||
** TODO [[./designdocs/witch-princess-lyrica.org][Witch Princess Lyrica]]
|
||||
** TODO [[./designdocs/imageboard.org][Imageboard Software]]
|
||||
** TODO [[./designdocs/artserver.org][Art Server]]
|
||||
* Other
|
||||
** TODO Headphones/over ears or something for the gym
|
||||
** TODO Exercise playlists
|
||||
** TODO Shop at Amiami
|
||||
** TODO Create [[./friends.org][Friends]] webring page on the blog
|
||||
** TODO Keyboards blog page
|
||||
** TODO custom emacs theme
|
||||
|
271
static/esquemadorg.js
Normal file
271
static/esquemadorg.js
Normal file
@@ -0,0 +1,271 @@
|
||||
// Adapted from:
|
||||
//
|
||||
// esquemadorg.js
|
||||
//
|
||||
// m3.2010 Daniel Clemente Laboreo. http://www.danielclemente.com/
|
||||
//
|
||||
// Initially based on org-info-jq from Sebastian Rose (2009): http://github.com/SebastianRose/org-info-js/blob/master/org-info-jq.js
|
||||
//
|
||||
// Released under the GNU General Public License version 3
|
||||
// see: http://www.gnu.org/licenses/
|
||||
//
|
||||
|
||||
|
||||
var HOW_TO_HIDE = 'hide';
|
||||
|
||||
function isHideable(div_obj) {
|
||||
try {
|
||||
// Ignore for TOC since it is handled differently
|
||||
if (div_obj.id == "text-table-of-contents") return false;
|
||||
if (div_obj.id == "table-of-contents") return false;
|
||||
// No point in hiding top level
|
||||
if (div_obj.classList.contains("outline-2")) return false;
|
||||
if (div_obj.classList.contains("outline-text-2")) return false;
|
||||
} catch (e) {
|
||||
console.log(div_obj)
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
function scrollSmoothlyToObj(obj,id) {
|
||||
// This line comes from: *** Anchor Slider by Cedric Dugas *** Http://www.position-absolute.com *** Thanks!
|
||||
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: obj.offset().top}, 1100, function() {
|
||||
window.location.hash = id;
|
||||
});
|
||||
}
|
||||
|
||||
function focusSection(id_anchor){
|
||||
// anchor: the id (text, without '#') of the h2/h3/h4/h5/h6/h7 which is to be made visible (together with its parents). The page will also scroll to focus that section
|
||||
|
||||
var anchor1='#'+id_anchor;
|
||||
var anchor2='*[id=' + id_anchor + ']'; // this is equivalent to $("#id"), which strangely seems not to work
|
||||
var obj_anchor=$(anchor2);
|
||||
|
||||
// Remove any other highlighted section which was the target of a previous link.
|
||||
// It does nothing if it's the first click
|
||||
$("div.orgjq-targeted").removeClass("orgjq-targeted");
|
||||
// Now highlight the target section and its parents. You may Use .css("background","orange") to test
|
||||
obj_anchor.parents("div.orgjq-contracted").addClass("orgjq-targeted");
|
||||
// Expand its parents so that the target section is connected to the root of the tree
|
||||
obj_anchor.parents("div.orgjq-contracted").each(
|
||||
function() {
|
||||
$(this).removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
$(this).children("div").show();
|
||||
}
|
||||
);
|
||||
// move the browser focus to that section
|
||||
scrollSmoothlyToObj(obj_anchor,anchor1);
|
||||
}
|
||||
|
||||
|
||||
function hideForOrg_whenclicked(div_obj) {
|
||||
if (!isHideable(div_obj[0])) return;
|
||||
|
||||
div_obj.parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
div_obj.nextAll().hide("fast"); // "normal" es más lento
|
||||
div_obj.hide();
|
||||
} else if(HOW_TO_HIDE=='shrink'){
|
||||
//div_obj.css("zoom","0.25");
|
||||
// div_obj.nextAll().css("zoom","0.25");
|
||||
div_obj.css("font-size","50%");
|
||||
div_obj.nextAll().css("font-size","50%");
|
||||
} else if(HOW_TO_HIDE=='opacity'){
|
||||
div_obj.css("opacity","0.5");
|
||||
div_obj.nextAll().css("opacity","0.5");
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
div_obj.parent().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
|
||||
}
|
||||
function showForOrg_whenclicked(div_obj) {
|
||||
div_obj.parent().removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
div_obj.parents().show("normal");
|
||||
div_obj.nextAll().show("normal");div_obj.show();
|
||||
} else if(HOW_TO_HIDE=='shrink'){
|
||||
//div_obj.css("zoom","1");
|
||||
// div_obj.nextAll().css("zoom","1");
|
||||
div_obj.css("font-size","100%");
|
||||
div_obj.nextAll().css("font-size","100%");
|
||||
} else if(HOW_TO_HIDE=='opacity'){
|
||||
div_obj.css("opacity","1");
|
||||
div_obj.nextAll().css("opacity","1");
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
div_obj.parents().css({"height":"auto","min-height":"100px","overflow-y":"inherit","opacity":"1"});
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
}
|
||||
function toggleForOrg_whenclicked(div_obj) {
|
||||
if(div_obj.parent().hasClass("orgjq-expanded"))
|
||||
hideForOrg_whenclicked(div_obj);
|
||||
else
|
||||
showForOrg_whenclicked(div_obj);
|
||||
}
|
||||
|
||||
// faster methods than calling the individual methods in a loop
|
||||
function close_all_sections() {
|
||||
//$('.orgjq-expanded').removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
|
||||
for(var i=2;i<=7;++i) {
|
||||
let divs = $(".outline-text-"+i)
|
||||
divs.each(idx => {
|
||||
if (isHideable(divs[idx])) {
|
||||
$("#" + divs[idx].id).parent().removeClass("orgjs-expanded").addClass("orgjq-contracted");
|
||||
$("#" + divs[idx].id).hide()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// inside the h2 headers, all (now unseen) headers are also contracted
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
if (isHideable($(this).parent()[0])) {
|
||||
$(this).parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
$(this).next("div").nextAll().hide();$(this).next("div").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
function open_all_sections() {
|
||||
$('div#content .orgjq-contracted').not("#table-of-contents").removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
$('div#content').find(":hidden").not("#table-of-contents div").show();
|
||||
}
|
||||
|
||||
function disable_global_outlining() {
|
||||
// not really used anymore
|
||||
|
||||
// affect only the main (first level) sections
|
||||
var org= $("div#table-of-contents, div#content>div[id^='outline-container-']");
|
||||
//test: org.css({border: "2px solid red"});
|
||||
|
||||
// show everything (all sections, …)
|
||||
org.find(":hidden").show();
|
||||
|
||||
// remove classes and thus colors
|
||||
$(".orgjq-contracted").removeClass("orgjq-contracted");
|
||||
$(".orgjq-expanded").removeClass("orgjq-expanded");
|
||||
$(".orgjq-targeted").removeClass("orgjq-targeted");
|
||||
|
||||
// headers are not clickable
|
||||
org.find("h1,h2,h3,h4,h5,h6,h7").css({cursor: "default"}).unbind("click");
|
||||
// links to sections no longer highlight the target
|
||||
$("a[href^='#']").unbind('click');
|
||||
// hide expand link
|
||||
$("div#outline-container-1 >h2 >a.expandAll").remove();
|
||||
|
||||
|
||||
// information
|
||||
alert("He cambiado al estilo tradicional: todo seguido. Si quieres volver a usar el esquemado con cabeceras clicables, recarga la página");
|
||||
}
|
||||
|
||||
function enable_global_outlining() {
|
||||
// Called once e.g. the first time the page is loaded
|
||||
|
||||
// handle the click event for each header
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).css({cursor: "pointer"});
|
||||
$(this).bind('click', function(){ toggleForOrg_whenclicked( $(this).parent().children("div").eq(0) ); });
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
// add link to deactive outlining. I wanted 2 links, „expand all“ and „contract all“, but the second one isn't of much use (and reloading the page does the same)
|
||||
// otros posibles nombres: "(expandir completamente)"
|
||||
var expAll_link = $( document.createElement('a') ).text("(ver todo seguido, sin esquemado)").addClass("expandAll").click(disable_global_outlining);
|
||||
$( $("div.outline-2")[0] ).find(">h2") .append(expAll_link);
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// start with contracted TOC and headers ← m5.2017: disabled because it has a huge penalty towards Google (hidden content won't be indexed)
|
||||
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
$("#text-table-of-contents").hide();
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
for(var i=2;i<=7;++i) {
|
||||
$(".outline-text-"+i).parent().addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
///// $(".outline-text-"+i).hide();
|
||||
$(".outline-text-"+i).hide();
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
//$(".outline-text-"+i).css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// $(".outline-text-"+i).parent().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// console.error("nada");
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
}
|
||||
|
||||
// inside the h2 headers, all (now unseen) headers are also contracted
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).parent().removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
if(HOW_TO_HIDE=='hide'){
|
||||
$(this).next("div").nextAll().hide();$(this).next("div").hide();
|
||||
} else if(HOW_TO_HIDE=='scrollbar'){
|
||||
// $(this).next("div").nextAll().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
$(this).next("div").nextAll().css({"height":"100px","overflow-y":"auto","opacity":"0.3"});
|
||||
// console.error("nada2.");
|
||||
} else {
|
||||
console.error("Not impl.");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
// alternatively: mark everything as open
|
||||
for(var i=2;i<=7;++i) {
|
||||
$("h"+i).each(
|
||||
function(){
|
||||
$(this).parent().removeClass("orgjq-contracted").addClass("orgjq-expanded");
|
||||
});
|
||||
}
|
||||
// except TOC
|
||||
$("div#table-of-contents").removeClass("orgjq-expanded").addClass("orgjq-contracted");
|
||||
|
||||
|
||||
|
||||
// If provided #fragment in URL, we must locate and open the corresponding header and its parents
|
||||
var url = document.location.toString();
|
||||
if (url.match('#')) { // the URL contains an anchor
|
||||
var id_anchor = url.split('#')[1];
|
||||
focusSection(id_anchor);
|
||||
}
|
||||
|
||||
|
||||
// internal links to anchors, e.g. <a href="#sec2">, should also expand the destination section before scrolling there
|
||||
//Test: $("a[href^='#']").css("border","2px dotted red");
|
||||
$("a[href^='#']").each(function(){
|
||||
var caller=this;
|
||||
$(caller).click(function (event) {
|
||||
var href=$(caller).attr("href");
|
||||
var id_href=href.substr(1);
|
||||
focusSection(id_href);
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// the page is now ready to be used
|
||||
|
||||
}
|
||||
|
||||
// Code starts here
|
||||
|
||||
$(document).ready(enable_global_outlining);
|
||||
|
||||
|
205
static/fonts.css
Normal file
205
static/fonts.css
Normal file
@@ -0,0 +1,205 @@
|
||||
@font-face {
|
||||
font-family: Libre Baskerville;
|
||||
src: url('fonts/LibreBaskerville-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Cambria;
|
||||
src: url('fonts/Cambria.ttf');
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-ExtraLight.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 200;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-ExtraLightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Light.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-LightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Regular.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-RegularItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Semibold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-SemiboldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Bold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-BoldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSansPro-Black.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSansPro-BlackItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-ExtraLight.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 200;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-ExtraLightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Light.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-LightItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Regular.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-Italic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Semibold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-SemiboldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Bold.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-BoldItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
src: url('fonts/SourceSerifPro-Black.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Serif Pro';
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
src: url('fonts/SourceSerifPro-BlackItalic.ttf') format('truetype');
|
||||
font-display: swap;
|
||||
unicode-range: U+0020-007E, U+00A0-00FF, U+2010, U+2013-2014, U+2018-2019, U+201C-201D, U+2212;
|
||||
}
|
BIN
static/fonts/Cambria-Font-For Android.ttf
Normal file
BIN
static/fonts/Cambria-Font-For Android.ttf
Normal file
Binary file not shown.
BIN
static/fonts/Cambria-Font-For-Linux.ttf
Normal file
BIN
static/fonts/Cambria-Font-For-Linux.ttf
Normal file
Binary file not shown.
BIN
static/fonts/Cambria-Font-For-MAC.ttf
Normal file
BIN
static/fonts/Cambria-Font-For-MAC.ttf
Normal file
Binary file not shown.
BIN
static/fonts/Cambria.ttf
Normal file
BIN
static/fonts/Cambria.ttf
Normal file
Binary file not shown.
BIN
static/fonts/LibreBaskerville-Bold.ttf
Normal file
BIN
static/fonts/LibreBaskerville-Bold.ttf
Normal file
Binary file not shown.
BIN
static/fonts/LibreBaskerville-Italic.ttf
Normal file
BIN
static/fonts/LibreBaskerville-Italic.ttf
Normal file
Binary file not shown.
BIN
static/fonts/LibreBaskerville-Regular.ttf
Normal file
BIN
static/fonts/LibreBaskerville-Regular.ttf
Normal file
Binary file not shown.
BIN
static/fonts/SourceSansPro-Black.ttf
Normal file
BIN
static/fonts/SourceSansPro-Black.ttf
Normal file
Binary file not shown.
BIN
static/fonts/SourceSansPro-BlackItalic.ttf
Normal file
BIN
static/fonts/SourceSansPro-BlackItalic.ttf
Normal file
Binary file not shown.
BIN
static/fonts/SourceSansPro-Bold.ttf
Normal file
BIN
static/fonts/SourceSansPro-Bold.ttf
Normal file
Binary file not shown.
BIN
static/fonts/SourceSansPro-BoldItalic.ttf
Normal file
BIN
static/fonts/SourceSansPro-BoldItalic.ttf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user