<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2025-04-05 Sat 08:15 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>My feed</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>
<style>*{font-family: sans-serif !important}</style>
</head>
<body>
<div id="content" class="content">
<h1 class="title">My feed</h1>
<table border="2" cellspacing="0" cellpadding="6" rules="all" frame="border" align="center">


<colgroup>
<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />

<col  class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left"><a href="https://skylarcloud.xyz">🌎 Home</a></td>
<td class="org-left"><a href="https://skylarcloud.xyz/feed.html">📡 My feed</a></td>
<td class="org-left"><a href="https://searx.skylarcloud.xyz">🔭 SearXNG</a></td>
<td class="org-left"><a href="https://git.skylarcloud.xyz">⚙️ Git Repos</a></td>
</tr>
</tbody>
</table>

<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgf88b782">1. Siddhartha by Hermann Hesse&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="book">book</span></span></a></li>
<li><a href="#orga0d9e8c">2. Spinning, combing, waiting, waiting - draft&#xa0;&#xa0;&#xa0;<span class="tag"><span class="song">song</span></span></a></li>
<li><a href="#org808a61d">3. The Tor Browser&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="tor">tor</span></span></a></li>
<li><a href="#org4e99643">4. 3 Browser extensions I almost always install&#xa0;&#xa0;&#xa0;<span class="tag"><span class="note">note</span></span></a></li>
<li><a href="#org5a046db">5. Prepping for v2 of my salt repo&#xa0;&#xa0;&#xa0;<span class="tag"><span class="note">note</span>&#xa0;<span class="qubes">qubes</span></span></a></li>
<li><a href="#org14dfa2d">6. Examples of installing software in QubesOS with Saltstack&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="qubes">qubes</span></span></a></li>
<li><a href="#orgde16f69">7. Convenient torrenting with qBittorrent&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span></span></a></li>
</ul>
</div>
</div>
<div id="outline-container-orgf88b782" class="outline-2">
<h2 id="orgf88b782"><span class="section-number-2">1.</span> Siddhartha by Hermann Hesse&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="book">book</span></span></h2>
<div class="outline-text-2" id="text-1">
<p>
(This post contains spoilers)
</p>

<p>
This book has been rattling in my brain since I read it a couple month ago. I wanted to share two of my favorite passages, where Siddhartha is at his wits end, and within a few pages his suffering is reframed as the best possible news: a new start. Full forgiveness of yourself.
</p>

<blockquote>
<p>

</p>

<p>
&ldquo;A hang bent over the bank of the river, a coconut-tree; Siddhartha leaned against its trunk with his shoulder, embraced the trunk with one arm, and looked down into the green water, which ran and ran under him, looked down and found himself to be entirely filled with the wish to let go and to drown in these waters. A frightening emptiness was reflected back at him by the water, answering to the terrible emptiness in his soul. Yes, he had reached the end. There was nothing left for him, except to annihilate himself, except to smash the failure into which he had shaped his life, to throw it away, before the feet of mockingly laughing gods. This was the great vomiting he had longed for: death, the smashing to bits of the form he hated! Let him be food for fishes, this dog Siddhartha, this lunatic, this depraved and rotten body, this weakened and abused soul! Let him be food for fishes and crocodiles, let him be chopped to bits by the daemons!&rdquo;
</p>

<p>
(a few pages later&#x2026;)
</p>

<p>
&ldquo;Wondrous indeed was my life, so he thought, wondrous detours it has taken. As a boy, I had only to do with gods and offerings. As a youth, I had only to do with asceticism, with thinking and meditation, was searching for Brahman, worshipped the eternal in the Atman. But as a young man, I followed the penitents, lived in the forest, suffered of heat and frost, learned to hunger, taught my body to become dead. Wonderfully, soon afterwards, insight came towards me in the form of the great Buddha’s teachings, I felt the knowledge of the oneness of the world circling in me like my own blood. But I also had to leave Buddha and the great knowledge. I went and learned the art of love with Kamala, learned trading with Kamaswami, piled up money, wasted money, learned to love my stomach, learned to please my senses. I had to spend many years losing my spirit, to unlearn thinking again, to forget the oneness. Isn’t it just as if I had turned slowly and on a long detour from a man into a child, from a thinker into a childlike person? And yet, this path has been very good; and yet, the bird in my chest has not died. But what a path has this been! I had to pass through so much stupidity, through so much vice, through so many errors, through so much disgust and disappointments and woe, just to become a child again and to be able to start over. But it was right so, my heart says “Yes” to it, my eyes smile to it. I’ve had to experience despair, I’ve had to sink down to the most foolish one of all thoughts, to the thought of suicide, in order to be able to experience divine grace, to hear Om again, to be able to sleep properly and awake properly again. I had to become a fool, to find Atman in me again. I had to sin, to be able to live again. Where else might my path lead me to? It is foolish, this path, it moves in loops, perhaps it is going around in a circle. Let it go as it likes, I want to take it.&rdquo;
</p>
</blockquote>
</div>
</div>
<div id="outline-container-orga0d9e8c" class="outline-2">
<h2 id="orga0d9e8c"><span class="section-number-2">2.</span> Spinning, combing, waiting, waiting - draft&#xa0;&#xa0;&#xa0;<span class="tag"><span class="song">song</span></span></h2>
<div class="outline-text-2" id="text-2">
<p>
<a href="https://skylarcloud.xyz/music/spinning-combing-waiting-waiting.m4a">Spinning, combing, waiting, waiting - draft</a>
</p>
</div>
</div>
<div id="outline-container-org808a61d" class="outline-2">
<h2 id="org808a61d"><span class="section-number-2">3.</span> The Tor Browser&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="tor">tor</span></span></h2>
<div class="outline-text-2" id="text-3">
<p>
<a href="https://skylarcloud.xyz/posts/tor-browser.html">How and why of the Tor Browser, used to browse/publish on the internet anonymously and escape censorship.</a>
</p>
</div>
</div>
<div id="outline-container-org4e99643" class="outline-2">
<h2 id="org4e99643"><span class="section-number-2">4.</span> 3 Browser extensions I almost always install&#xa0;&#xa0;&#xa0;<span class="tag"><span class="note">note</span></span></h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-orgb1dd7db" class="outline-3">
<h3 id="orgb1dd7db">uBlock Origin</h3>
<div class="outline-text-3" id="text-orgb1dd7db">
<p>
Perhaps the most ubiquitous content/ad blocker, reliable as ever. I recommend this to anyone and everyone.
</p>
</div>
</div>
<div id="outline-container-org00381db" class="outline-3">
<h3 id="org00381db">Vimium C</h3>
<div class="outline-text-3" id="text-org00381db">
<p>
This lets do basic navigation in your browser with vim-like keybindings. You can click links, scroll, go back and forth between tabs and through your history, select/copy/search text and more with your keyboard.
</p>
</div>
</div>
<div id="outline-container-org72b0224" class="outline-3">
<h3 id="org72b0224">Dark Reader</h3>
<div class="outline-text-3" id="text-org72b0224">
<p>
Makes all websites default to a dark mode, and provides an easy toggle bound to Alt-Shift-d.
</p>
</div>
</div>
</div>
<div id="outline-container-org5a046db" class="outline-2">
<h2 id="org5a046db"><span class="section-number-2">5.</span> Prepping for v2 of my salt repo&#xa0;&#xa0;&#xa0;<span class="tag"><span class="note">note</span>&#xa0;<span class="qubes">qubes</span></span></h2>
<div class="outline-text-2" id="text-5">
<p>
I&rsquo;ve massively restructured my salt repo and added enough features that I&rsquo;m going to make a new repository and release it again in full, as a 2.0 version. This should be done within the next week or two.
</p>
</div>
</div>
<div id="outline-container-org14dfa2d" class="outline-2">
<h2 id="org14dfa2d"><span class="section-number-2">6.</span> Examples of installing software in QubesOS with Saltstack&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span>&#xa0;<span class="qubes">qubes</span></span></h2>
<div class="outline-text-2" id="text-6">
<p>
Here are some various methods of installing software that I&rsquo;ve used in my personal salt configuration:
</p>
</div>
<div id="outline-container-orgd33854f" class="outline-3">
<h3 id="orgd33854f">pkg.installed</h3>
<div class="outline-text-3" id="text-orgd33854f">
<p>
Here&rsquo;s <code>/srv/user_salt/pkgs/accounting.sls</code> as an example. It uses the simplest way of installing programs, which is by using <code>pkg.installed</code> and passing it a list of packages to pull from a qube&rsquo;s repositories. This is the typically the most preferable way to install software if the desired package is already in your distro&rsquo;s repositories.
</p>

<div class="org-src-container">
<pre class="src src-salt"><span style="color: #928374;"># </span><span style="color: #928374;">Install accounting tools</span>
<span style="color: #d3869b;">accounting--install-apps</span>:
  <span style="color: #b8bb26;">pkg.installed</span>:
    - <span style="color: #83a598;">pkgs</span>:
      - hledger <span style="color: #928374;"># </span><span style="color: #928374;">Command-line plain text accounting</span>
      - gnucash <span style="color: #928374;"># </span><span style="color: #928374;">Graphical GNU accounting suite</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd9e682b" class="outline-3">
<h3 id="orgd9e682b">Install from third-party repo with a script</h3>
<div class="outline-text-3" id="text-orgd9e682b">
<p>
Here&rsquo;s <code>/srv/user_salt/pkgs/signal.sls</code> as an example. It places an installation script, <code>/srv/user_salt/pkgs/install-scripts/signal-repo.sh</code> into a qube and executes it to install the Signal messenger.
</p>

<div class="org-src-container">
<pre class="src src-salt"><span style="color: #928374;">...</span>

<span style="color: #d3869b;">signal--repo-script</span>:
  <span style="color: #b8bb26;">file.managed</span>:
    - <span style="color: #fe8019;">name</span>: /usr/bin/install-repo <span style="color: #928374;"># </span><span style="color: #928374;">this is where the installation script is placed</span>
    - <span style="color: #83a598;">source</span>: <span style="color: #fe8019;">salt://</span>pkgs/install-scripts/signal-repo.sh <span style="color: #928374;"># </span><span style="color: #928374;">This is where the installation script was sourced</span>
    - <span style="color: #83a598;">user</span>: root <span style="color: #928374;"># </span><span style="color: #928374;">sets the owner of the file, you can usually default to root</span>
    - <span style="color: #83a598;">group</span>: root <span style="color: #928374;"># </span><span style="color: #928374;">sets the group of the file, you can usually default to root</span>
    - <span style="color: #83a598;">mode</span>: 777 <span style="color: #928374;"># </span><span style="color: #928374;">sets the permissions of the file, you can usually default to 777 (any user on the qube has permissions)</span>

<span style="color: #928374;"># </span><span style="color: #928374;">This simply executes the install-repo script in a qube</span>
<span style="color: #b8bb26;">'install-repo'</span>:
  <span style="color: #b8bb26;">cmd.run</span>
</pre>
</div>

<p>
Here&rsquo;s the installation script that&rsquo;s ran:
</p>
</div>
<div id="outline-container-org9b3e8cd" class="outline-4">
<h4 id="org9b3e8cd"><code>/srv/user_salt/pkgs/install-scripts/signal-repo.sh</code></h4>
<div class="outline-text-4" id="text-org9b3e8cd">
<div class="org-src-container">
<pre class="src src-bash"><span style="color: #928374;"># </span><span style="color: #928374;">Retrieves Signal's key for verifying the package</span>
<span style="color: #928374;"># </span><span style="color: #928374;">The request is proxied through 127.0.0.1:8082 to allow the template qube to access the internet</span>
<span style="color: #fabd2f;">sudo</span> <span style="color: #fabd2f;">curl</span> --proxy 127.0.0.1:8082 -s https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor | <span style="color: #fabd2f;">sudo</span> tee -a /usr/share/keyrings/signal-desktop-keyring.gpg &gt; /dev/null

<span style="color: #928374;"># </span><span style="color: #928374;">Defines Signal's repo in /etc/apt/sources.list.d/</span>
<span style="color: #fabd2f;">echo</span> <span style="color: #b8bb26;">'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main'</span> | tee /etc/apt/sources.list.d/signal-xenial.list

<span style="color: #928374;"># </span><span style="color: #928374;">Updates packages and installs signal-desktop through the newly configured repository</span>
<span style="color: #fabd2f;">sudo</span> apt update
<span style="color: #fabd2f;">sudo</span> apt install signal-desktop -y
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orged29529" class="outline-3">
<h3 id="orged29529">Move a binary file into /usr/bin</h3>
<div class="outline-text-3" id="text-orged29529">
<p>
Here&rsquo;s <code>/srv/user_salt/pkgs/st.sls</code> as an example. It very simply takes a binary file that&rsquo;s part of the salt repository, and moves it into the ~/usr/bin/ directory in a qube.
</p>

<div class="org-src-container">
<pre class="src src-salt"><span style="color: #928374;"># </span><span style="color: #928374;">Installs my build of st terminal</span>
<span style="color: #d3869b;">/usr/bin/st</span>:
  <span style="color: #b8bb26;">file.managed</span>:
    - <span style="color: #83a598;">source</span>: <span style="color: #fe8019;">salt://</span>pkgs/bin/st.bin
    - <span style="color: #83a598;">user</span>: root
    - <span style="color: #83a598;">group</span>: root
    - <span style="color: #83a598;">mode</span>: 777
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgde16f69" class="outline-2">
<h2 id="orgde16f69"><span class="section-number-2">7.</span> Convenient torrenting with qBittorrent&#xa0;&#xa0;&#xa0;<span class="tag"><span class="post">post</span></span></h2>
<div class="outline-text-2" id="text-7">
<p>
<a href="https://skylarcloud.xyz/posts/torrenting.html">Straightforward guide for using qBittorrent to search for and download media files</a>
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2025-04-05 Sat 08:15</p>
</div>
</body>
</html>