<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>hugonotes</title>
    <link>/index.html</link>
    <description>Recent content on hugonotes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 02 Oct 2021 10:10:12 +0200</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Links</title>
      <link>/notes/links.html</link>
      <pubDate>Sat, 02 Oct 2021 10:10:12 +0200</pubDate>
      <guid>/notes/links.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_technical&#34;&gt;Technical&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_mobile&#34;&gt;Mobile&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The Search for a FLOSS Mobile OS (Aug 2021)&#xA;&lt;a href=&#34;https://blog.emacsen.net/blog/2021/08/23/floss-mobile-os-aug-2021/&#34; class=&#34;bare&#34;&gt;https://blog.emacsen.net/blog/2021/08/23/floss-mobile-os-aug-2021/&lt;/a&gt;&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=28296738&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=28296738&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_programming&#34;&gt;Programming&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Data Structures and Algorithms in JavaScript&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=20634409&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=20634409&lt;/a&gt;&#xA;&lt;a href=&#34;https://amejiarosario.gumroad.com/l/dsajs&#34; class=&#34;bare&#34;&gt;https://amejiarosario.gumroad.com/l/dsajs&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;John Carmack on Functional Programming (2013&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=15036591&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=15036591&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;A Thought Experiment: Using the ECS Pattern Outside of Game Engines&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=21892126&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=21892126&lt;/a&gt;&#xA;&lt;a href=&#34;https://adventures.michaelfbryan.com/posts/ecs-outside-of-games/&#34; class=&#34;bare&#34;&gt;https://adventures.michaelfbryan.com/posts/ecs-outside-of-games/&lt;/a&gt;&#xA;&lt;a href=&#34;https://en.m.wikipedia.org/wiki/Entity_component_system#Characteristics&#34; class=&#34;bare&#34;&gt;https://en.m.wikipedia.org/wiki/Entity_component_system#Characteristics&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_web&#34;&gt;Web&lt;/h3&gt;&#xA;&lt;div class=&#34;sect3&#34;&gt;&#xA;&lt;h4 id=&#34;_html_css&#34;&gt;HTML, CSS&lt;/h4&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Scrollspy with ‘just JavaScript’&#xA;&lt;a href=&#34;https://medium.com/p1xts-blog/scrollspy-with-just-javascript-3131c114abdc&#34; class=&#34;bare&#34;&gt;https://medium.com/p1xts-blog/scrollspy-with-just-javascript-3131c114abdc&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;TypeSafe CSS&#xA;&lt;a href=&#34;https://uglyduck.ca/typesafe-sans-css/&#34; class=&#34;bare&#34;&gt;https://uglyduck.ca/typesafe-sans-css/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Ten modern layouts in one line of CSS&#xA;&lt;a href=&#34;https://web.dev/one-line-layouts/&#34; class=&#34;bare&#34;&gt;https://web.dev/one-line-layouts/&lt;/a&gt;&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=24003385&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=24003385&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;My current HTML boilerplate&#xA;&lt;a href=&#34;https://www.matuzo.at/blog/html-boilerplate/&#34; class=&#34;bare&#34;&gt;https://www.matuzo.at/blog/html-boilerplate/&lt;/a&gt;&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=26952557&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=26952557&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;HTML5 Boilerplate&#xA;&lt;a href=&#34;https://html5boilerplate.com/&#34; class=&#34;bare&#34;&gt;https://html5boilerplate.com/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;A simple guide to HTML &amp;lt;head&amp;gt; elements&#xA;&lt;a href=&#34;https://github.com/joshbuchea/HEAD&#34; class=&#34;bare&#34;&gt;https://github.com/joshbuchea/HEAD&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;HTML Tips (2020)&#xA;&lt;a href=&#34;https://markodenic.com/html-tips/&#34; class=&#34;bare&#34;&gt;https://markodenic.com/html-tips/&lt;/a&gt;&#xA;&lt;a href=&#34;https://news.ycombinator.com/item?id=27054348&#34; class=&#34;bare&#34;&gt;https://news.ycombinator.com/item?id=27054348&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Drop-in CSS Frameworks&#xA;&lt;a href=&#34;https://github.com/sw-yx/spark-joy#cssui-templates&#34; class=&#34;bare&#34;&gt;https://github.com/sw-yx/spark-joy#cssui-templates&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Installing Arch Linux on a VPS</title>
      <link>/arch/vps.html</link>
      <pubDate>Fri, 01 Oct 2021 18:21:42 +0200</pubDate>
      <guid>/arch/vps.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_1_base_system&#34;&gt;1. Base system&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;Create VPS, pick Debian 9.3 as OS.&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;-→ didn’t work 2nd time, stuck in 1st reboot&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;p&gt;picked centos and worked&lt;/p&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Copy bootstrap files from &lt;code&gt;M:\vm\isovps2arch&lt;/code&gt; to &lt;code&gt;M:\mshare\vps2arch&lt;/code&gt; and &lt;code&gt;cd&lt;/code&gt;&#xA;into the latter folder.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Upload bootstrap files to the newly created VPS:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;scp * root@IP_ADDRESS:&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Log into the VPS&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;chmod +x vps2arch&#xA;mv * / &amp;amp;&amp;amp; cd /&#xA;./vps2arch&#xA;echo HOSTNAME &amp;gt; /etc/hostname&#xA;sync; reboot -f&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_2_create_user&#34;&gt;2. Create user&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;useradd -m bert&#xA;groupadd sudoers&#xA;usermod -aG sudoers bert&#xA;passwd bert&#xA;&#xA;pacman -Syu sudo vim ufw knockd lighttpd git&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Installing Arch Linux in VirtualBox</title>
      <link>/arch/virtualbox.html</link>
      <pubDate>Fri, 01 Oct 2021 18:18:58 +0200</pubDate>
      <guid>/arch/virtualbox.html</guid>
      <description>&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_1_arch_linux_iso_file&#34;&gt;1. Arch Linux .iso file&lt;/h3&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;archlinux-2018.02.01-x86_64.iso&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;p&gt;from:&#xA;&lt;a href=&#34;https://archlinux.cu.be/iso/2018.02.01/archlinux-2018.02.01-x86_64.iso&#34; class=&#34;bare&#34;&gt;https://archlinux.cu.be/iso/2018.02.01/archlinux-2018.02.01-x86_64.iso&lt;/a&gt;&#xA;saved at: &amp;#34;M:vmisoarchlinux-2018.02.01-x86_64.iso&amp;#34;&lt;/p&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_2_virtualbox&#34;&gt;2. VirtualBox:&lt;/h3&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;This document applies to v5.2.6&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Help/About VirtualBox&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;File/Check for updates&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;in File/Preferences&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;General: check vm default location: &amp;#34;M:vm&amp;#34;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;in File/Host Network Manager&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&#xA;+&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;Create host-only network&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Set the IP address, e.g. : 192.168.236.2&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Network mask : 255.255.255.0&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;new vm&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&#xA;+&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;name: yeba&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;make sure &amp;#34;M:vmyeba&amp;#34; doesn’t exist before creation of VM&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;type/version: arch linux 64 bit&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;memory 4096 MB&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;create virtual HD&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;press &amp;#34;create&amp;#34;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;File size 30 GB&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;VDI&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;dynamically allocated&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Installing Arch Linux on a PC</title>
      <link>/arch/pc.html</link>
      <pubDate>Fri, 01 Oct 2021 18:17:19 +0200</pubDate>
      <guid>/arch/pc.html</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This guide explains how to install vanilla Arch Linux on a PC.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;A PC or a laptop, with&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;a USB port&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;wifi adapter&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;a HDD with contents that are no longer needed&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A USB stick with contents that are no longer needed.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A PC with a working operating system and internet access. This may&#xA;also be the machine we will install Arch Linux on. We will assume a&#xA;Linux(-like) environment with &amp;#39;curl&amp;#39; and &amp;#39;dd&amp;#39;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.07</title>
      <link>/sicp/chapter01/exercise-1.07.html</link>
      <pubDate>Fri, 01 Oct 2021 15:49:32 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.07.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_background_section_1_1_7_square_roots_by_newtons_method&#34;&gt;Background: Section 1.1.7, Square Roots by Newton’s Method&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(define (square x) (* x x))&#xA;&#xA;(define (average x y)&#xA;  (/ (+ x y) 2))&#xA;&#xA;(define (improve guess x)&#xA;  (average guess (/ x guess)))&#xA;&#xA;(define (good-enough? guess x)&#xA;  (&amp;lt; (abs (- (square guess) x)) 0.001))&#xA;&#xA;(define (sqrt-iter guess x)&#xA;  (if (good-enough? guess x)&#xA;      guess&#xA;      (sqrt-iter (improve guess x)&#xA;                 x)))&#xA;&#xA;(define (sqrt x)&#xA;  (sqrt-iter 1.0 x))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The &lt;code&gt;good-enough?&lt;/code&gt; test used in computing square roots will not be very&#xA;effective for finding the square roots of very small numbers. Also, in&#xA;real computers, arithmetic operations are almost always performed with&#xA;limited precision. This makes our test inadequate for very large&#xA;numbers. Explain these statements, with examples showing how the test&#xA;fails for small and large numbers. An alternative strategy for&#xA;implementing &lt;code&gt;good-enough?&lt;/code&gt; is to watch how &lt;code&gt;guess&lt;/code&gt; changes from one&#xA;iteration to the next and to stop when the change is a very small&#xA;fraction of the guess. Design a square-root procedure that uses this&#xA;kind of end test. Does this work better for small and large numbers?&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.06</title>
      <link>/sicp/chapter01/exercise-1.06.html</link>
      <pubDate>Fri, 01 Oct 2021 15:48:01 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.06.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_background_section_1_1_7_square_roots_by_newtons_method&#34;&gt;Background: Section 1.1.7, Square Roots by Newton’s Method&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(define (square x) (* x x))&#xA;&#xA;(define (average x y)&#xA;  (/ (+ x y) 2))&#xA;&#xA;(define (improve guess x)&#xA;  (average guess (/ x guess)))&#xA;&#xA;(define (good-enough? guess x)&#xA;  (&amp;lt; (abs (- (square guess) x)) 0.001))&#xA;&#xA;(define (sqrt-iter guess x)&#xA;  (if (good-enough? guess x)&#xA;      guess&#xA;      (sqrt-iter (improve guess x)&#xA;                 x)))&#xA;&#xA;(define (sqrt x)&#xA;  (sqrt-iter 1.0 x))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Alyssa P. Hacker doesn’t see why &lt;code&gt;if&lt;/code&gt; needs to be provided as a special&#xA;form. &amp;#34;Why can’t I just define it as an ordinary procedure in terms of&#xA;&lt;code&gt;cond&lt;/code&gt;?&amp;#34; she asks. Alyssa’s friend Eva Lu Ator claims this can indeed be&#xA;done, and she defines a new version of &lt;code&gt;if&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.05</title>
      <link>/sicp/chapter01/exercise-1.05.html</link>
      <pubDate>Fri, 01 Oct 2021 15:46:39 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.05.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Ben Bitdiddle has invented a test to determine whether the interpreter&#xA;he is faced with is using applicative-order evaluation or normal-order&#xA;evaluation. He defines the following two procedures:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(define (p) (p))&#xA;&#xA;(define (test x y)&#xA;  (if (= x 0)&#xA;      0&#xA;      y))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Then he evaluates the expression&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(test 0 (p))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;What behavior will Ben observe with an interpreter that uses&#xA;applicative-order evaluation? What behavior will he observe with an&#xA;interpreter that uses normal-order evaluation? Explain your answer.&#xA;(Assume that the evaluation rule for the special form &lt;code&gt;if&lt;/code&gt; is the same&#xA;whether the interpreter is using normal or applicative order: The&#xA;predicate expression is evaluated first, and the result determines&#xA;whether to evaluate the consequent or the alternative expression.)&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.04</title>
      <link>/sicp/chapter01/exercise-1.04.html</link>
      <pubDate>Fri, 01 Oct 2021 15:43:40 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.04.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Observe that our model of evaluation allows for combinations whose&#xA;operators are compound expressions. Use this observation to describe the&#xA;behavior of the following procedure:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(define (a-plus-abs-b a b)&#xA;    ((if (&amp;gt; b 0) + -) a b))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_answer&#34;&gt;Answer:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In the body of &lt;code&gt;a-plus-abs-b a b&lt;/code&gt;, the expression &lt;code&gt;(if (&amp;gt; b 0) + -)&lt;/code&gt;&#xA;evaluates to an arithmetic operation (either &lt;code&gt;+&lt;/code&gt; or &lt;code&gt;-&lt;/code&gt;, depending on&#xA;the sign of &lt;code&gt;b’s actual argument). The interpreter obtains a primitive&#xA;procedure that it applies to the arguments replacing the formal&#xA;parameters `a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.03</title>
      <link>/sicp/chapter01/exercise-1.03.html</link>
      <pubDate>Fri, 01 Oct 2021 15:42:25 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.03.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Define a procedure that takes three numbers as arguments and returns the&#xA;sum of the squares of the two larger numbers.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_answer&#34;&gt;Answer:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(define (square x) (* x x))&#xA;&#xA;(define (sum-of-squares x y) (+ (square x) (square y)))&#xA;&#xA;(define (sum-squares-larger a b c)&#xA;    (cond ((and (&amp;lt;= a b) (&amp;lt;= a c)) (sum-of-squares b c))&#xA;          ((and (&amp;lt;= b a) (&amp;lt;= b c)) (sum-of-squares a c))&#xA;          (else (sum-of-squares a b))))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.02</title>
      <link>/sicp/chapter01/exercise-1.02.html</link>
      <pubDate>Fri, 01 Oct 2021 15:38:53 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.02.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;todo&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;(+ 1 2)&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_answer&#34;&gt;Answer:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;todo&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Exercise 1.01</title>
      <link>/sicp/chapter01/exercise-1.01.html</link>
      <pubDate>Fri, 01 Oct 2021 15:34:34 +0200</pubDate>
      <guid>/sicp/chapter01/exercise-1.01.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_question&#34;&gt;Question:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Below is a sequence of expressions. What is the result printed by the&#xA;interpreter in response to each expression? Assume that the sequence is&#xA;to be evaluated in the order in which it is presented.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-scheme&#34; data-lang=&#34;scheme&#34;&gt;10&#xA;(+ 5 3 4)&#xA;(- 9 1)&#xA;(/ 6 2)&#xA;(+ (* 2 4) (- 4 6))&#xA;(define a 3)&#xA;(define b (+ a 1))&#xA;(+ a b (* a b))&#xA;(= a b)&#xA;(if (and (&amp;gt; b a) (&amp;lt; b (* a b)))&#xA;    b&#xA;    a)&#xA;(cond ((= a 4) 6)&#xA;      ((= b 4) (+ 6 7 a))&#xA;      (else 25))&#xA;(+ 2 (if (&amp;gt; b a) b a))&#xA;(* (cond ((&amp;gt; a b) a)&#xA;         ((&amp;lt; a b) b)&#xA;         (else -1))&#xA;   (+ a 1))&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Minecraft tips</title>
      <link>/notes/mctips.html</link>
      <pubDate>Fri, 01 Oct 2021 14:13:46 +0200</pubDate>
      <guid>/notes/mctips.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_hoofden_zetten&#34;&gt;Hoofden zetten&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Plaats het hoofd van &lt;code&gt;SpelerNaam&lt;/code&gt; in je inventaris: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;/give @p skull 1 3 {SkullOwner:&amp;#34;SpelerNaam&amp;#34;}&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Plaats het hoofd van een ghast in je inventaris: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;/give @p skull 1 3 {SkullOwner:&amp;#34;MHF_Ghast&amp;#34;}&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Voor andere mobs: vervang &lt;code&gt;MHF_Ghast&lt;/code&gt; door: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;MHF_Alex&#xA;MHF_Blaze&#xA;MHF_CaveSpider&#xA;MHF_Chicken&#xA;MHF_Cow&#xA;MHF_Creeper&#xA;MHF_Enderman&#xA;MHF_Ghast&#xA;MHF_Golem&#xA;MHF_Herobrine&#xA;MHF_LavaSlime&#xA;MHF_MushroomCow&#xA;MHF_Ocelot&#xA;MHF_Pig&#xA;MHF_PigZombie&#xA;MHF_Sheep&#xA;MHF_Skeleton&#xA;MHF_Slime&#xA;MHF_Spider&#xA;MHF_Squid&#xA;MHF_Steve&#xA;MHF_Villager&#xA;MHF_WSkeleton&#xA;MHF_Zombie&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Blokken: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;MHF_Cactus&#xA;MHF_Cake&#xA;MHF_Chest&#xA;MHF_CoconutB&#xA;MHF_CoconutG&#xA;MHF_Melon&#xA;MHF_OakLog&#xA;MHF_Present1&#xA;MHF_Present2&#xA;MHF_Pumpkin&#xA;MHF_TNT&#xA;MHF_TNT2&lt;/pre&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Babs</title>
      <link>/notes/babs.html</link>
      <pubDate>Fri, 01 Oct 2021 14:11:28 +0200</pubDate>
      <guid>/notes/babs.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;code&gt;babs&lt;/code&gt;, (an acronym for &amp;#34;&lt;strong&gt;b&lt;/strong&gt;abs: &lt;strong&gt;a&lt;/strong&gt; &lt;strong&gt;b&lt;/strong&gt;uild &lt;strong&gt;s&lt;/strong&gt;ystem&amp;#34;) is a set&#xA;of Makefiles meant to easily compile &amp;amp; link a set of interdependent&#xA;modules, containing C/C++ source code, binaries like object files,&#xA;static or dynamic libraries, etc …​&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_environment_variables&#34;&gt;Environment variables&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In order to do its work, &lt;code&gt;babs&lt;/code&gt; needs 3 environment variables:&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;BABS_DIR&lt;/code&gt; : the directory where the &lt;code&gt;babs&lt;/code&gt; build system is located.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;SOURCE_DIR&lt;/code&gt; : the directory where the source modules are located.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;BUILD_DIR&lt;/code&gt; : the directory where all target and intermediate files&#xA;are saved during the build process.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Headless install of Arch Linux on Raspberry Pi Zero W</title>
      <link>/notes/rp0w.html</link>
      <pubDate>Fri, 01 Oct 2021 14:06:50 +0200</pubDate>
      <guid>/notes/rp0w.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;Arch Linux, with the following packages&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;p&gt;dosfstools wpa_supplicant&lt;/p&gt;&#xA;&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Micro SD card&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;USB stick with slot for Micro SD Card&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Raspberry Pi Zero W&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_create_an_arch_linux_arm_system&#34;&gt;Create an Arch Linux ARM system&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;TODO : chroot binfmt qemu&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_partition_micro_sd_card&#34;&gt;Partition Micro SD Card&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In Linux, list the available devices: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;sudo fdisk -l&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If Linux is running inside VirtualBox, consult the list of devices in:&#xA;Devices&amp;gt;USB&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Insert the Micro SD card in the USB adapter, and insert the adapter in a&#xA;USB port.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Syntax highlighting</title>
      <link>/testbed/highlight.html</link>
      <pubDate>Fri, 01 Oct 2021 14:03:26 +0200</pubDate>
      <guid>/testbed/highlight.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_c_program&#34;&gt;C++ program&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-c++&#34; data-lang=&#34;c++&#34;&gt;#include &amp;lt;iostream&amp;gt;&#xA;&#xA;using namespace std;&#xA;&#xA;int main()&#xA;{&#xA;  cout &amp;lt;&amp;lt; &amp;#34;Hello world!&amp;#34; &amp;lt;&amp;lt; endl;&#xA;  return 0;&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_c_program_2&#34;&gt;C program&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-c&#34; data-lang=&#34;c&#34;&gt;#include &amp;lt;stdlib.h&amp;gt;&#xA;#include &amp;lt;stdio.h&amp;gt;&#xA;#include &amp;lt;dlfcn.h&amp;gt;&#xA;&#xA;&#xA;int main(int argc, char **argv)&#xA;{&#xA;  void *handle;&#xA;  char *error;&#xA;  void (*fun)();&#xA;  char fileName[300];&#xA;  char* buildDir = getenv(&amp;#34;BUILD_DIR&amp;#34;);&#xA;&#xA;  sprintf(fileName, &amp;#34;%s/toolkit/libtoolkit.so.1.0.0&amp;#34;, buildDir);&#xA;  printf(&amp;#34;fileName = %s\n&amp;#34;, fileName);&#xA;&#xA;  printf(&amp;#34;mark1\n&amp;#34;);&#xA;&#xA;  dlerror();&#xA;  handle = dlopen ( fileName , RTLD_LAZY);&#xA;  if (!handle) {&#xA;      fputs (dlerror(), stderr);&#xA;        printf(&amp;#34;\n&amp;#34;);&#xA;      exit(1);&#xA;  }&#xA;&#xA;  printf(&amp;#34;mark2\n&amp;#34;);&#xA;&#xA;  fun = (void (*)()) dlsym(handle, &amp;#34;testfun1&amp;#34;);&#xA;  if ((error = dlerror()) != NULL)  {&#xA;      fputs(error, stderr);&#xA;        printf(&amp;#34;\n&amp;#34;);&#xA;      exit(1);&#xA;  }&#xA;&#xA;  printf(&amp;#34;mark3\n&amp;#34;);&#xA;&#xA;  (*fun)();&#xA;&#xA;  printf(&amp;#34;mark4\n&amp;#34;);&#xA;&#xA;  dlclose(handle);&#xA;&#xA;}&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Android</title>
      <link>/notes/android.html</link>
      <pubDate>Fri, 01 Oct 2021 13:54:23 +0200</pubDate>
      <guid>/notes/android.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_nexus_10&#34;&gt;Nexus 10&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_boot_in_recovery_mode&#34;&gt;Boot in recovery mode&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.android.gs/how-to-boot-google-nexus-10-recovery-mode/&#34; class=&#34;bare&#34;&gt;https://www.android.gs/how-to-boot-google-nexus-10-recovery-mode/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect3&#34;&gt;&#xA;&lt;h4 id=&#34;_reset_to_factory_defaults&#34;&gt;Reset to factory defaults&lt;/h4&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.android.gs/how-to-hard-reset-the-google-nexus-10/&#34; class=&#34;bare&#34;&gt;https://www.android.gs/how-to-hard-reset-the-google-nexus-10/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Cheatsheet</title>
      <link>/notes/cheatsheet.html</link>
      <pubDate>Fri, 01 Oct 2021 13:26:18 +0200</pubDate>
      <guid>/notes/cheatsheet.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_check_folder_size&#34;&gt;Check folder size:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;du -sh foldername/&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_clear_trash_folder_ubuntu_friends&#34;&gt;Clear trash folder (Ubuntu &amp;amp; friends):&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;rm -rf ~/.local/share/Trash/files ~/.local/share/Trash/info&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_arch_linux_guest_vm_in_virtualbox&#34;&gt;Arch Linux guest VM in VirtualBox:&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_restore_networking&#34;&gt;Restore networking:&lt;/h3&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;sudo ip link set enp0s8 down &amp;amp;&amp;amp; sudo ip link set enp0s8 up &amp;amp;&amp;amp; curl www.google.com&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_mount_usb_drive&#34;&gt;Mount USB drive&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Before inserting the USB drive, show list of devices: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;literalblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre&gt;sudo lsblk -f&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Insert USB drive, and select device in VirtualBox GUI menu ( Devices &amp;gt;&#xA;USB &amp;gt; …​ )&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Asciidoc markup</title>
      <link>/testbed/asciidoc.html</link>
      <pubDate>Fri, 01 Oct 2021 10:37:14 +0200</pubDate>
      <guid>/testbed/asciidoc.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_text_formatting&#34;&gt;Text formatting&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;table class=&#34;tableblock frame-none grid-all stretch&#34;&gt;&#xA;&lt;colgroup&gt;&#xA;&lt;col style=&#34;width: 25%;&#34;/&gt;&#xA;&lt;col style=&#34;width: 25%;&#34;/&gt;&#xA;&lt;col style=&#34;width: 25%;&#34;/&gt;&#xA;&lt;col style=&#34;width: 25%;&#34;/&gt;&#xA;&lt;/colgroup&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Description&lt;/th&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Syntax&lt;/th&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Result&lt;/th&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Remark&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Emphasis, quotes&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &amp;#39;Two&amp;#39; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &amp;#39;Two&amp;#39; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Emphasis, underscores&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;em&gt;Two&lt;/em&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;em&gt;Two&lt;/em&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Emphasis, quotes, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&amp;#39;&amp;#39;Two&amp;#39;&amp;#39;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&amp;#39;&amp;#39;Two&amp;#39;&amp;#39;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Emphasis, underscores, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&lt;em&gt;Two&lt;/em&gt;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&lt;em&gt;Two&lt;/em&gt;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Strong&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;strong&gt;Two&lt;/strong&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;strong&gt;Two&lt;/strong&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Strong, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&lt;strong&gt;Two&lt;/strong&gt;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&lt;strong&gt;Two&lt;/strong&gt;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Monospace&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One Two Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One Two Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Monospace, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;OneTwoThree&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;OneTwoThree&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Single quote&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One `Two´ Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One `Two´ Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Doesn’t seem to work&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Double quotes&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One ``Two´´ Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One ``Two´´ Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Doesn’t seem to work&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Single quote, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One``Two´´Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One``Two´´Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Doesn’t seem to work&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Unquoted&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;mark&gt;Two&lt;/mark&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;mark&gt;Two&lt;/mark&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Meant to add inline attributes (see next line)&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Colored text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;red&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;red&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Colored background&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;yellow-background&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;yellow-background&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Big text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;big&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;big&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Underlined text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;underline&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;underline&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Overlined text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;overline&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;overline&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Line-through text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;line-through&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;line-through&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Combinations&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;strong class=&#34;red yellow-backgound line-through&#34;&gt;Two&lt;/strong&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;strong class=&#34;red yellow-backgound line-through&#34;&gt;Two&lt;/strong&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Combinations, unconstrained&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&lt;strong class=&#34;red yellow-backgound line-through&#34;&gt;Two&lt;/strong&gt;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&lt;strong class=&#34;red yellow-backgound line-through&#34;&gt;Two&lt;/strong&gt;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Big text&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;span class=&#34;big&#34;&gt;Two&lt;/span&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;span class=&#34;big&#34;&gt;Two&lt;/span&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Superscript&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;sup&gt;Two&lt;/sup&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;sup&gt;Two&lt;/sup&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;More superscript&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&lt;sup&gt;Two&lt;/sup&gt;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&lt;sup&gt;Two&lt;/sup&gt;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Subscript&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One &lt;sub&gt;Two&lt;/sub&gt; Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One &lt;sub&gt;Two&lt;/sub&gt; Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;More subscript&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;&lt;code&gt;One&lt;sub&gt;Two&lt;/sub&gt;Three&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;One&lt;sub&gt;Two&lt;/sub&gt;Three&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Install Void Linux on virt-manager</title>
      <link>/voidlinux/virtman.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/voidlinux/virtman.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_sources&#34;&gt;Sources&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Host OS: Void Linux&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Virtualization software: Virtual Machine Manager (virt-manager)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Guest OS: Void Linux&lt;/p&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Hostname: &lt;code&gt;vogu&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;One non-root user with &lt;code&gt;sudo&lt;/code&gt; rights, named &lt;code&gt;me&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Network access through the host system&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Dotfiles, with custom built Suckless tools: &lt;code&gt;dwm&lt;/code&gt;, &lt;code&gt;st&lt;/code&gt;, &lt;code&gt;dmenu&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Development tools: &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;nodejs&lt;/code&gt;, &lt;code&gt;gcc&lt;/code&gt;, &lt;code&gt;clang&lt;/code&gt;, &lt;code&gt;neovim&lt;/code&gt;, &lt;code&gt;zig&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Webservers etc running in the VM are reachable from the host system&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A running Void Linux host system&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The folllowing Void Linux live .iso: &lt;a href=&#34;https://repo-default.voidlinux.org/live/current/void-live-x86_64-20250202-base.iso&#34; class=&#34;bare&#34;&gt;https://repo-default.voidlinux.org/live/current/void-live-x86_64-20250202-base.iso&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Install Void Linux on VirtualBox</title>
      <link>/voidlinux/virtualbox.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/voidlinux/virtualbox.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_sources&#34;&gt;Sources&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://linuxiac.com/void-linux-installation/&#34; class=&#34;bare&#34;&gt;https://linuxiac.com/void-linux-installation/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://techviewleo.com/install-void-linux-on-virtualbox-vmware-workstation/&#34; class=&#34;bare&#34;&gt;https://techviewleo.com/install-void-linux-on-virtualbox-vmware-workstation/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://docs.voidlinux.org/installation/guides/chroot.html&#34; class=&#34;bare&#34;&gt;https://docs.voidlinux.org/installation/guides/chroot.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_goals&#34;&gt;Goals&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Host OS: Windows&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Virtualization software: VirtualBox&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Guest OS: Void Linux&lt;/p&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Hostname: &lt;code&gt;vivo&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;One non-root user with &lt;code&gt;sudo&lt;/code&gt; rights, named &lt;code&gt;me&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Network access through the host system&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A tiling window manager: &lt;code&gt;dwm&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Development tools: &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;nodejs&lt;/code&gt;, &lt;code&gt;gcc&lt;/code&gt;, &lt;code&gt;clang&lt;/code&gt;, &lt;code&gt;neovim&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Webservers etc running in the VM are reachable from the host system&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;olist arabic&#34;&gt;&#xA;&lt;ol class=&#34;arabic&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;VirtualBox: &lt;a href=&#34;https://www.virtualbox.org/&#34; class=&#34;bare&#34;&gt;https://www.virtualbox.org/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A Linux live &lt;code&gt;.iso&lt;/code&gt; file, like for instance the ``&lt;em&gt;Void Linux libc&#xA;base&lt;/em&gt;&amp;#39;&amp;#39; one:&#xA;&lt;a href=&#34;https://repo-default.voidlinux.org/live/current/void-live-x86_64-20230628-base.iso&#34; class=&#34;bare&#34;&gt;https://repo-default.voidlinux.org/live/current/void-live-x86_64-20230628-base.iso&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Installing Arch Linux on a Hetzner VPS</title>
      <link>/arch/hetzner.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/arch/hetzner.html</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_boot_live_iso&#34;&gt;Boot live iso&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In the web config panel of the VPS, mount the Arch Linux .iso in your server &amp;amp; reboot. Connect to the server with the web console.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;loadkeys be-latin1&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Network should work: :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;curl www.google.com&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Syncronize the system clock with NTP :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;timedatectl set-ntp true&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Create partition table :&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;fdisk -l /dev/sda&#xA;&#xA;fdisk /dev/sda&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;First, create a partition (sda1) of size 32 MB (+32M). Change its type to 1 (EFI System).&#xA;Then, create a partion (sda2) with the rest of the available space.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
