This commit is contained in:
Akko
2022-05-17 22:10:00 +02:00
parent 9caaf30f7a
commit b60509f1bf
17 changed files with 458 additions and 249 deletions

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-21 Mon 19:57 --> <!-- 2022-04-18 Mon 14:07 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>About</title> <title>About</title>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-21 Mon 21:17 --> <!-- 2022-04-18 Mon 14:07 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Blogroll</title> <title>Blogroll</title>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-21 Mon 20:31 --> <!-- 2022-04-18 Mon 14:07 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Experiments</title> <title>Experiments</title>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-23 Wed 22:21 --> <!-- 2022-04-18 Mon 14:07 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Index</title> <title>Index</title>
@@ -203,7 +203,7 @@
</div> </div>
<div id="content" class="content"> <div id="content" class="content">
<p> <p>
Welcome to my website! I&rsquo;m <a href="./about.html">Akko</a>. I&rsquo;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 my <a href="./sitemap.html">sitemap</a>. Welcome to my website! I&rsquo;m <a href="./about.html">Akko</a>. I&rsquo;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>.
</p> </p>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">

233
html/posts/blog-tech.html Normal file
View File

@@ -0,0 +1,233 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2022-04-18 Mon 14:18 -->
<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>
#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-org798cb72" class="outline-2">
<h2 id="org798cb72">Blog Tech</h2>
<div class="outline-text-2" id="text-org798cb72">
</div>
<div id="outline-container-orgbdfb339" class="outline-3">
<h3 id="orgbdfb339">chuu</h3>
<div class="outline-text-3" id="text-orgbdfb339">
<p>
<i>last modified: 2022-04-18</i>
</p>
</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>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-21 Mon 22:28 --> <!-- 2022-04-18 Mon 14:18 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Framework Laptop Review</title> <title>Framework Laptop Review</title>
@@ -203,13 +203,13 @@
</div> </div>
<div id="content" class="content"> <div id="content" class="content">
<div id="outline-container-orgd06c8c3" class="outline-2"> <div id="outline-container-org8d4f2ce" class="outline-2">
<h2 id="orgd06c8c3">My Experience with the Framework Laptop</h2> <h2 id="org8d4f2ce">My Experience with the Framework Laptop</h2>
<div class="outline-text-2" id="text-orgd06c8c3"> <div class="outline-text-2" id="text-org8d4f2ce">
</div> </div>
<div id="outline-container-orge056d5c" class="outline-3"> <div id="outline-container-org58d7a32" class="outline-3">
<h3 id="orge056d5c">Ordering</h3> <h3 id="org58d7a32">Ordering</h3>
<div class="outline-text-3" id="text-orge056d5c"> <div class="outline-text-3" id="text-org58d7a32">
<p> <p>
I&rsquo;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. I&rsquo;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> </p>
@@ -221,13 +221,13 @@ I asked their customer service to make a small change to the delivery address, b
</div> </div>
</div> </div>
<div id="outline-container-org624a9f5" class="outline-3"> <div id="outline-container-orgb4016c4" class="outline-3">
<h3 id="org624a9f5">Set-up</h3> <h3 id="orgb4016c4">Set-up</h3>
<div class="outline-text-3" id="text-org624a9f5"> <div class="outline-text-3" id="text-orgb4016c4">
</div> </div>
<div id="outline-container-orgebbeaa3" class="outline-4"> <div id="outline-container-org81ac9af" class="outline-4">
<h4 id="orgebbeaa3">Hardware</h4> <h4 id="org81ac9af">Hardware</h4>
<div class="outline-text-4" id="text-orgebbeaa3"> <div class="outline-text-4" id="text-org81ac9af">
<p> <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&rsquo;t seem worth the money to me. The RAM is probably overkill. 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&rsquo;t seem worth the money to me. The RAM is probably overkill.
</p> </p>
@@ -255,9 +255,9 @@ The more you look at it, the nicer it gets!
</div> </div>
</div> </div>
<div id="outline-container-orge919784" class="outline-4"> <div id="outline-container-org382a0b2" class="outline-4">
<h4 id="orge919784">Software</h4> <h4 id="org382a0b2">Software</h4>
<div class="outline-text-4" id="text-orge919784"> <div class="outline-text-4" id="text-org382a0b2">
<p> <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&rsquo;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. 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&rsquo;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> </p>
@@ -267,9 +267,9 @@ The laptop held up well during compiling. It&rsquo;s not as fast as a desktop of
</p> </p>
</div> </div>
<div id="outline-container-org0090b99" class="outline-5"> <div id="outline-container-orgaad58af" class="outline-5">
<h5 id="org0090b99">Display scaling</h5> <h5 id="orgaad58af">Display scaling</h5>
<div class="outline-text-5" id="text-org0090b99"> <div class="outline-text-5" id="text-orgaad58af">
<p> <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&rsquo;t use Wayland. 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&rsquo;t use Wayland.
</p> </p>
@@ -279,67 +279,52 @@ The odd application requires its own scaling setting. Rofi requires setting <cod
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgd56fddc" class="outline-5"> <div id="outline-container-orgd8031ca" class="outline-5">
<h5 id="orgd56fddc">Display manager</h5> <h5 id="orgd8031ca">Display manager</h5>
<div class="outline-text-5" id="text-orgd56fddc"> <div class="outline-text-5" id="text-orgd8031ca">
<p> <p>
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don&rsquo;t usually use things in the whole QT ecosystem, so it&rsquo;s refreshing. I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don&rsquo;t usually use things in the whole QT ecosystem, so it&rsquo;s refreshing.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgd350c5d" class="outline-5"> <div id="outline-container-org69b4f04" class="outline-5">
<h5 id="orgd350c5d">Hibernate/suspend-to-disk</h5> <h5 id="org69b4f04">Hibernate/suspend-to-disk</h5>
<div class="outline-text-5" id="text-orgd350c5d"> <div class="outline-text-5" id="text-org69b4f04">
<p> <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&rsquo;ve observed the laptop auto-hibernating when the battery runs out, but it doesn&rsquo;t do this reliably, so I should probably configure it myself. 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&rsquo;ve observed the laptop auto-hibernating when the battery runs out, but it doesn&rsquo;t do this reliably, so I should probably configure it myself.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org9345999" class="outline-5"> <div id="outline-container-org04382ed" class="outline-5">
<h5 id="org9345999"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5> <h5 id="org04382ed"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
<div class="outline-text-5" id="text-org9345999"> <div class="outline-text-5" id="text-org04382ed">
<p> <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="#org53f9855">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;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="#orge8dc8af">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orga6cbd4d" class="outline-5"> <div id="outline-container-org5c2a1d6" class="outline-5">
<h5 id="orga6cbd4d">Wallpaper-setting script</h5> <h5 id="org5c2a1d6">Wallpaper-setting script</h5>
<div class="outline-text-5" id="text-orga6cbd4d"> <div class="outline-text-5" id="text-org5c2a1d6">
<p> <p>
I wrote a script to set a random wallpaper. I wrote a script to set a random wallpaper.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env python3</span> <pre class="src src-python">
<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-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)
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"> &gt; /tmp/wallpaper"</span>)
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> == <span class="org-string">"__main__"</span>:
set_wallpaper()
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org51e6729" class="outline-5"> <div id="outline-container-org573ac77" class="outline-5">
<h5 id="org51e6729">Lockscreen</h5> <h5 id="org573ac77">Lockscreen</h5>
<div class="outline-text-5" id="text-org51e6729"> <div class="outline-text-5" id="text-org573ac77">
<p> <p>
I hacked together some <a href="#org5d50302">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="#org5ec4854">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>
<p width="60%" class="center"> <p width="60%" class="center">
@@ -353,34 +338,34 @@ Is there a better lockscreen out there that will let me set my own image as the
</div> </div>
</div> </div>
<div id="outline-container-org6eaec95" class="outline-5"> <div id="outline-container-org132c50e" class="outline-5">
<h5 id="org6eaec95">TODO</h5> <h5 id="org132c50e">TODO</h5>
<div class="outline-text-5" id="text-org6eaec95"> <div class="outline-text-5" id="text-org132c50e">
</div> </div>
<ul class="org-ul"> <ul class="org-ul">
<li><a id="orgadc33d6"></a>Battery level notifications<br></li> <li><a id="orgd4adb46"></a>Battery level notifications<br></li>
<li><a id="orgd732f57"></a>sleep-then-hibernate<br></li> <li><a id="org87ecca7"></a>sleep-then-hibernate<br></li>
<li><a id="org0e93573"></a>Battery tuning<br></li> <li><a id="orga95bf6d"></a>Battery tuning<br></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orge4f28ea" class="outline-3"> <div id="outline-container-org95be02b" class="outline-3">
<h3 id="orge4f28ea">Impressions</h3> <h3 id="org95be02b">Impressions</h3>
<div class="outline-text-3" id="text-orge4f28ea"> <div class="outline-text-3" id="text-org95be02b">
</div> </div>
<div id="outline-container-orga3b9087" class="outline-5"> <div id="outline-container-orgbf8fdf0" class="outline-5">
<h5 id="orga3b9087">Build Quality</h5> <h5 id="orgbf8fdf0">Build Quality</h5>
<div class="outline-text-5" id="text-orga3b9087"> <div class="outline-text-5" id="text-orgbf8fdf0">
<p> <p>
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn&rsquo;t want to drop this thing. It looks sleek and elegant, but pretty muted. The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn&rsquo;t want to drop this thing. It looks sleek and elegant, but pretty muted.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org08d78a9" class="outline-5"> <div id="outline-container-org45b10f4" class="outline-5">
<h5 id="org08d78a9">Screen</h5> <h5 id="org45b10f4">Screen</h5>
<div class="outline-text-5" id="text-org08d78a9"> <div class="outline-text-5" id="text-org45b10f4">
<p> <p>
This is my first time ever using a high-DPI screen, and I&rsquo;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. This is my first time ever using a high-DPI screen, and I&rsquo;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> </p>
@@ -395,27 +380,27 @@ The brightness goes up quite high, but colours feel somewhat washed out at high
</div> </div>
</div> </div>
<div id="outline-container-org2c92f32" class="outline-5"> <div id="outline-container-orgc794a76" class="outline-5">
<h5 id="org2c92f32">Keyboard</h5> <h5 id="orgc794a76">Keyboard</h5>
<div class="outline-text-5" id="text-org2c92f32"> <div class="outline-text-5" id="text-orgc794a76">
<p> <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. 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> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgb34d3a9" class="outline-5"> <div id="outline-container-org6fa74ab" class="outline-5">
<h5 id="orgb34d3a9">Touchpad</h5> <h5 id="org6fa74ab">Touchpad</h5>
<div class="outline-text-5" id="text-orgb34d3a9"> <div class="outline-text-5" id="text-org6fa74ab">
<p> <p>
I&rsquo;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&rsquo;s still a step down. Pinch to zoom doesn&rsquo;t work very well, but I don&rsquo;t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it&rsquo;s hard not to mess up left/middle/right click. That&rsquo;s a good incentive for me to practice relying on the mouse less, though. There&rsquo;s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It&rsquo;s a nice time to be a linux laptop user! I&rsquo;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&rsquo;s still a step down. Pinch to zoom doesn&rsquo;t work very well, but I don&rsquo;t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it&rsquo;s hard not to mess up left/middle/right click. That&rsquo;s a good incentive for me to practice relying on the mouse less, though. There&rsquo;s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It&rsquo;s a nice time to be a linux laptop user!
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org0815a7f" class="outline-5"> <div id="outline-container-orgde7f208" class="outline-5">
<h5 id="org0815a7f">Battery</h5> <h5 id="orgde7f208">Battery</h5>
<div class="outline-text-5" id="text-org0815a7f"> <div class="outline-text-5" id="text-orgde7f208">
<p> <p>
With the disclaimer that I haven&rsquo;t tested very intensely and I haven&rsquo;t tuned power settings very much. <br> With the disclaimer that I haven&rsquo;t tested very intensely and I haven&rsquo;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&rsquo;t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I&rsquo;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~ I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don&rsquo;t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I&rsquo;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~
@@ -423,18 +408,18 @@ I seem to get about 6.5 hours of real-world use time when using Emacs and doing
</div> </div>
</div> </div>
<div id="outline-container-org9b0b9cb" class="outline-5"> <div id="outline-container-org86285de" class="outline-5">
<h5 id="org9b0b9cb">Expansion cards/ports</h5> <h5 id="org86285de">Expansion cards/ports</h5>
<div class="outline-text-5" id="text-org9b0b9cb"> <div class="outline-text-5" id="text-org86285de">
<p> <p>
The little expansion cards are one of Framework&rsquo;s big marketing things. I think they&rsquo;re pretty neat, though I don&rsquo;t always quite understand the way people talk about them, as &ldquo;dongle killers&rdquo;. 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&rsquo;m looking forward to the USB4 era! The little expansion cards are one of Framework&rsquo;s big marketing things. I think they&rsquo;re pretty neat, though I don&rsquo;t always quite understand the way people talk about them, as &ldquo;dongle killers&rdquo;. 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&rsquo;m looking forward to the USB4 era!
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org860fe14" class="outline-5"> <div id="outline-container-org0309d8d" class="outline-5">
<h5 id="org860fe14">Performance</h5> <h5 id="org0309d8d">Performance</h5>
<div class="outline-text-5" id="text-org860fe14"> <div class="outline-text-5" id="text-org0309d8d">
<p> <p>
So far I haven&rsquo;t felt limited by performance at all, the experience has been really snappy. I haven&rsquo;t thrown particularly difficult things at it, though, but that&rsquo;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&rsquo;t play very much. So far I haven&rsquo;t felt limited by performance at all, the experience has been really snappy. I haven&rsquo;t thrown particularly difficult things at it, though, but that&rsquo;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&rsquo;t play very much.
</p> </p>
@@ -442,9 +427,9 @@ So far I haven&rsquo;t felt limited by performance at all, the experience has be
</div> </div>
</div> </div>
<div id="outline-container-orgd823508" class="outline-3"> <div id="outline-container-orgef70972" class="outline-3">
<h3 id="orgd823508">Closing words</h3> <h3 id="orgef70972">Closing words</h3>
<div class="outline-text-3" id="text-orgd823508"> <div class="outline-text-3" id="text-orgef70972">
<p> <p>
Getting this laptop set up has been really fun! It&rsquo;s a good opportunity to take stock of where we&rsquo;re at. On the hardware side, I am very impressed that it&rsquo;s now possible to make a laptop that&rsquo;s this user-servicable, this well-specced and still not <i>that</i> expensive. It&rsquo;s a reminder of how much better things could be. Getting this laptop set up has been really fun! It&rsquo;s a good opportunity to take stock of where we&rsquo;re at. On the hardware side, I am very impressed that it&rsquo;s now possible to make a laptop that&rsquo;s this user-servicable, this well-specced and still not <i>that</i> expensive. It&rsquo;s a reminder of how much better things could be.
</p> </p>
@@ -462,28 +447,28 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
<div id="outline-container-org53f9855" class="outline-2"> <div id="outline-container-orge8dc8af" class="outline-2">
<h2 id="org53f9855">Appendix A: Transient Terminal Sources</h2> <h2 id="orge8dc8af">Appendix A: Transient Terminal Sources</h2>
<div class="outline-text-2" id="text-org53f9855"> <div class="outline-text-2" id="text-orge8dc8af">
<p> <p>
<code>togglescratch</code> <code>togglescratch</code>
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env fish</span> <pre class="src src-fish">#!/usr/bin/env fish
<span class="org-keyword">if</span> <span class="org-keyword">test</span> ! -e /tmp/scratch_id if test ! -e /tmp/scratch_id
<span class="org-builtin">exec</span> xst -e makescratch exec xst -e makescratch
<span class="org-keyword">end</span> end
<span class="org-keyword">set</span> <span class="org-variable-name">nid</span> (<span class="org-builtin">cat</span> /tmp/scratch_id) set nid (cat /tmp/scratch_id)
<span class="org-keyword">if</span> <span class="org-keyword">test</span> -e /tmp/scratch_on if test -e /tmp/scratch_on
<span class="org-builtin">rm</span> /tmp/scratch_on rm /tmp/scratch_on
<span class="org-builtin">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --to-desktop z bspc node $nid --to-desktop z
<span class="org-keyword">else</span> else
<span class="org-builtin">touch</span> /tmp/scratch_on touch /tmp/scratch_on
<span class="org-builtin">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --to-desktop focused --focus --state fullscreen --flag private=on bspc node $nid --to-desktop focused --focus --state fullscreen --flag private=on
<span class="org-keyword">end</span> end
</pre> </pre>
</div> </div>
@@ -491,14 +476,14 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
<code>makescratch</code> <code>makescratch</code>
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/fish</span> <pre class="src src-fish">#!/bin/fish
<span class="org-keyword">set</span> <span class="org-variable-name">nid</span> (<span class="org-builtin">xdo</span> id) set nid (xdo id)
<span class="org-builtin">echo</span> <span class="org-string">$</span><span class="org-variable-name">nid</span><span class="org-negation-char"> &gt; /tmp/scratch_id</span> echo $nid &gt; /tmp/scratch_id
<span class="org-negation-char">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --state fullscreen --flag private=on --to-desktop focused bspc node $nid --state fullscreen --flag private=on --to-desktop focused
<span class="org-builtin">touch</span> /tmp/scratch_on touch /tmp/scratch_on
<span class="org-keyword">set</span> <span class="org-variable-name">decid</span> (<span class="org-builtin">printf</span> <span class="org-string">'%d'</span> <span class="org-string">$</span><span class="org-variable-name">nid</span>) set decid (printf '%d' $nid)
<span class="org-builtin">xdotool</span> set_window --name <span class="org-string">"scratchterminal"</span> <span class="org-string">$</span><span class="org-variable-name">decid</span> xdotool set_window --name "scratchterminal" $decid
<span class="org-builtin">exec</span> <span class="org-string">"$HOME/Scripts/cleanscratch"</span> exec "$HOME/Scripts/cleanscratch"
</pre> </pre>
</div> </div>
@@ -506,11 +491,11 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
<code>cleanscratch</code> <code>cleanscratch</code>
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env fish</span> <pre class="src src-fish">#!/usr/bin/env fish
<span class="org-string">$</span><span class="org-variable-name">SHELL</span> $SHELL
<span class="org-builtin">rm</span> /tmp/scratch_id rm /tmp/scratch_id
<span class="org-builtin">rm</span> /tmp/scratch_on rm /tmp/scratch_on
</pre> </pre>
</div> </div>
@@ -518,20 +503,14 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
<code>picom.conf</code> <code>picom.conf</code>
</p> </p>
<pre class="example"> <pre class="example">
fading = true;
#no-fading-openclose = true;
fade-delta = 5;
vsync = true;
backend="glx";
opacity-rule=["90:name = 'scratchterminal'"];
#opacity-rule=["90:class_g = 'xst-256color'"];
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-org5d50302" class="outline-2"> <div id="outline-container-org5ec4854" class="outline-2">
<h2 id="org5d50302">Appendix B: lock.py</h2> <h2 id="org5ec4854">Appendix B: lock.py</h2>
<div class="outline-text-2" id="text-org5d50302"> <div class="outline-text-2" id="text-org5ec4854">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/python3</span> <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> os

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-23 Wed 22:21 --> <!-- 2022-04-18 Mon 14:18 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Sitemap for project pages</title> <title>Sitemap for project pages</title>
@@ -203,17 +203,15 @@
</div> </div>
<div id="content" class="content"> <div id="content" class="content">
<ul class="org-ul"> <ul class="org-ul">
<li><a href="todo.html">TODO</a></li>
<li><a href="experiments.html">Experiments</a></li> <li><a href="experiments.html">Experiments</a></li>
<li><a href="blogroll.html">Blogroll</a></li> <li><a href="blogroll.html">Blogroll</a></li>
<li><a href="todo.html">TODO</a></li>
<li><a href="snippets.html">Snippets</a></li>
<li><a href="about.html">About</a></li> <li><a href="about.html">About</a></li>
<li><a href="index.html">Index</a></li> <li><a href="index.html">Index</a></li>
<li><a href="snippets.html">Snippets</a></li>
<li>Posts <li>Posts
<ul class="org-ul"> <ul class="org-ul">
<li><a href="posts/test.html">chuu</a></li> <li><a href="posts/blog-tech.html">How this blog is built</a></li>
<li><a href="posts/elog-1-blog.html">Emacs Log 1: This Blog</a></li>
<li><a href="posts/resources.html">Resources</a></li>
<li><a href="posts/framework.html">Framework Laptop Review</a></li> <li><a href="posts/framework.html">Framework Laptop Review</a></li>
</ul></li> </ul></li>
</ul> </ul>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-04-18 Mon 12:54 --> <!-- 2022-04-18 Mon 14:07 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>Snippets</title> <title>Snippets</title>
@@ -203,13 +203,13 @@
</div> </div>
<div id="content" class="content"> <div id="content" class="content">
<div id="outline-container-orge59ef26" class="outline-2"> <div id="outline-container-orgb361ca7" class="outline-2">
<h2 id="orge59ef26">X11</h2> <h2 id="orgb361ca7">X11</h2>
<div class="outline-text-2" id="text-orge59ef26"> <div class="outline-text-2" id="text-orgb361ca7">
</div> </div>
<div id="outline-container-orgb476ad2" class="outline-3"> <div id="outline-container-orgab11f4b" class="outline-3">
<h3 id="orgb476ad2">Reset xrandr</h3> <h3 id="orgab11f4b">Reset xrandr</h3>
<div class="outline-text-3" id="text-orgb476ad2"> <div class="outline-text-3" id="text-orgab11f4b">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">xrandr -s <span class="org-highlight-numbers-number">0</span> <pre class="src src-bash">xrandr -s <span class="org-highlight-numbers-number">0</span>
</pre> </pre>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- 2022-03-21 Mon 19:57 --> <!-- 2022-04-18 Mon 14:18 -->
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=100%, initial-scale=0.7" /> <meta name="viewport" content="width=100%, initial-scale=0.7" />
<title>TODO</title> <title>TODO</title>
@@ -203,8 +203,20 @@
</div> </div>
<div id="content" class="content"> <div id="content" class="content">
<div id="outline-container-orgedfa30c" class="outline-2"> <div id="outline-container-org950f9ea" class="outline-2">
<h2 id="orgedfa30c">literate dotfiles?</h2> <h2 id="org950f9ea">literate dotfiles?</h2>
</div>
<div id="outline-container-orgfc4cc79" class="outline-2">
<h2 id="orgfc4cc79">How this blog was built</h2>
</div>
<div id="outline-container-orga0413e8" class="outline-2">
<h2 id="orga0413e8">project graveyard</h2>
</div>
<div id="outline-container-orge649f37" class="outline-2">
<h2 id="orge649f37">food thing</h2>
</div>
<div id="outline-container-orga421952" class="outline-2">
<h2 id="orga421952">fix picom.conf</h2>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">

9
org/posts/blog-tech.org Normal file
View File

@@ -0,0 +1,9 @@
#+TITLE: How this blog is built
#+MACRO: modified 2022-04-18
#+DATE: <2022-04-18 Mon 14:04>
* Blog Tech
** chuu
/last modified: {{{modified}}}/

View File

@@ -1,91 +0,0 @@
#+TITLE: Emacs Log 1: This Blog
#+DATE: <2022-03-18 Fri>
* Emacs Log 1: This Blog
_/*WARNING:*/_ This blog post is still under construction!
This blog is built on top of =org-mode=!
* Appendix A: config.el snippet
#+BEGIN_SRC emacs-lisp
(require 'ox-publish)
;; Get project settings
(defun akko/blog-spec ()
"Return project settings for use with `org-publish-project-alist'."
(let* ((get-util (lambda (x)
(with-temp-buffer
(insert-file-contents (concat "~/Blog/util/"
x))
(buffer-string))))
(html-head (funcall get-util "head.html"))
(html-preamble (funcall get-util "preamble.html"))
(html-postamble (funcall get-util "postamble.html")))
`(
("pages"
:base-directory "~/Blog/org"
:base-extension "org"
:recursive t
:publishing-directory "~/Blog/html"
:publishing-function org-html-publish-to-html
:html-doctype "html5"
:html-html5-fancy t
:html-viewport ((width "100%")
(initial-scale "0.7")
(minimum-scale "")
(maximum-scale "")
(user-scalable ""))
:language "en"
:section-numbers nil
:with-toc nil
:with-date nil
:with-title nil
:with-author nil
:auto-sitemap t
:sitemap-sort-files anti-chronologically
:sitemap-format-entry
(lambda (entry style project)
(cond ((not (directory-name-p entry))
(format
"[[file:%s][%s]]\n"
entry
(org-publish-find-title entry project)))
((eq style 'tree)
(capitalize (file-name-nondirectory (directory-file-name entry))))
(t entry)))
:headline-levels 4
:html-head ,html-head
:html-preamble ,html-preamble
:html-postamble ,html-postamble)
("static"
:base-directory "~/Blog/static"
:base-extension "css\\|txt\\|jpg\\|gif\\|png"
:recursive t
:publishing-directory "~/Blog/html/static"
:publishing-function org-publish-attachment)
("blog" :components ("pages" "static")))))
(setq org-publish-project-alist (akko/blog-spec))
(defun akko/publish-blog ()
(interactive)
(setq org-publish-project-alist (akko/blog-spec))
(org-publish-all))
(defun akko/force-publish-blog ()
(interactive)
(setq org-publish-project-alist (akko/blog-spec))
(org-publish-remove-all-timestamps)
(org-publish-all))
#+END_SRC

View File

@@ -1,6 +1,6 @@
#+TITLE: Framework Laptop Review #+TITLE: Framework Laptop Review
#+DATE: <2022-03-17 Thu> #+DATE: <2022-03-17 Thu>
#+MACRO: modified 2022-03-21 #+MACRO: modified 2022-05-17
* My Experience with the Framework Laptop * My Experience with the Framework Laptop
** Ordering ** Ordering

81
org/posts/grocery-log.org Normal file
View File

@@ -0,0 +1,81 @@
#+TITLE: ssdfsdfs
#+MACRO: modified 2022-04-27
#+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
/last modified: {{{modified}}}/

View File

@@ -1,4 +0,0 @@
#+TITLE: Resources
#+DATE:<2022-03-18 Fri>
#chuu

View File

@@ -1,7 +0,0 @@
#+TITLE: eheheawawawawa
#+MACRO: modified 2022-03-21
#+DATE: <2022-03-21 Mon 21:33>
* eheheawawawawa
/last modified: {{{modified}}}/

View File

@@ -7,7 +7,5 @@
- [[file:index.org][Index]] - [[file:index.org][Index]]
- [[file:snippets.org][Snippets]] - [[file:snippets.org][Snippets]]
- Posts - Posts
- [[file:posts/test.org][eheheawawawawa]] - [[file:posts/blog-tech.org][How this blog is built]]
- [[file:posts/elog-1-blog.org][Emacs Log 1: This Blog]]
- [[file:posts/resources.org][Resources]]
- [[file:posts/framework.org][Framework Laptop Review]] - [[file:posts/framework.org][Framework Laptop Review]]

View File

@@ -4,3 +4,4 @@
* How this blog was built * How this blog was built
* project graveyard * project graveyard
* food thing * food thing
* fix picom.conf