<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Misc on Alwaldend</title>
		<link>https://www-staging.alwaldend.com/docs/misc/</link>
		<description>Recent content in Misc on Alwaldend</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://www-staging.alwaldend.com/docs/misc/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Android</title>
				<link>https://www-staging.alwaldend.com/docs/misc/android/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/android/</guid>
				<description>&lt;h2 id=&#34;diagnostics&#34;&gt;Diagnostics&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#diagnostics&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Android has some built-in tests for the display and other components in&#xA;&lt;code&gt;Settings -&amp;gt; System -&amp;gt; Device diagnostics&lt;/code&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Bazel</title>
				<link>https://www-staging.alwaldend.com/docs/misc/bazel/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/bazel/</guid>
				<description>&lt;h2 id=&#34;advantages&#34;&gt;Advantages&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#advantages&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Hermetic builds&lt;/li&gt;&#xA;&lt;li&gt;Dependency graph&lt;/li&gt;&#xA;&lt;li&gt;Local build and test cache&lt;/li&gt;&#xA;&lt;li&gt;Remote cache&lt;/li&gt;&#xA;&lt;li&gt;Remote execution&lt;/li&gt;&#xA;&lt;li&gt;Unified API for builds, tasks, and tests&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;disadvantages&#34;&gt;Disadvantages&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#disadvantages&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Additional layer of abstraction and complexity&lt;/li&gt;&#xA;&lt;li&gt;Weird edge cases and occasional bugs&lt;/li&gt;&#xA;&lt;li&gt;Lack of support, documentation, and information on the internet&lt;/li&gt;&#xA;&lt;li&gt;The majority of advantages are irrelevant for the majority of codebases&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bazelrc-has-variables&#34;&gt;.bazelrc has variables&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#bazelrc-has-variables&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;%workspace%&lt;/code&gt;: Workspace directory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://bazel.build/run/bazelrc&#34;&gt;https://bazel.build/run/bazelrc&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;local-registry-module-is-cached&#34;&gt;Local registry module is cached&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#local-registry-module-is-cached&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;If you changed a local registry module, but bazel still uses the old version,&#xA;restart bazel: &lt;code&gt;bazel shutdown&lt;/code&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Glossary</title>
				<link>https://www-staging.alwaldend.com/docs/misc/glossary/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/glossary/</guid>
				<description>&lt;h3 id=&#34;advanced-persistent-threat-apt&#34;&gt;Advanced Persistent Threat (APT)&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#advanced-persistent-threat-apt&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;An advanced persistent threat (APT) refers to an attack that continues,&#xA;secretively, using innovative hacking methods to access a system and stay inside&#xA;for a long period of time. Typical attackers are cyber criminals, like the&#xA;Iranian group APT34, the Russian organization APT28, and others.&#xA;Although they can come from all over the world, some of the most notable&#xA;attackers come from Iran, other areas of the Middle East, and North Korea.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gnome boxes</title>
				<link>https://www-staging.alwaldend.com/docs/misc/gnome-boxes/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/gnome-boxes/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://apps.gnome.org/Boxes/&#34;&gt;Gnome boxes&lt;/a&gt; is a hypervisor.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cpu&#34;&gt;Cpu&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#cpu&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The default cpu doesn&amp;rsquo;t have a lot of capabilities, so you might need to patch&#xA;the config:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- https://www.qemu.org/docs/master/system/i386/cpu.html --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;cpu&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mode=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;host-model&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;network&#34;&gt;Network&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#network&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Default libvirt network interferes with gnome-boxes, you might need to disable it:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable --now libvirtd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;disk-size&#34;&gt;Disk size&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#disk-size&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Just increasing the disk size is not enough, you need to increase the logical volume&#xA;size:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo growpart /dev/vda &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo lvextend -l +100%FREE /dev/fedora/root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo xfs_growfs /dev/fedora/root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Links:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hugo</title>
				<link>https://www-staging.alwaldend.com/docs/misc/hugo/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/hugo/</guid>
				<description>&lt;p&gt;Hugo is a static site builder&lt;/p&gt;&#xA;&lt;h2 id=&#34;environment-variables&#34;&gt;Environment variables&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#environment-variables&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Hugo has an allowlist of environment variables, and &lt;code&gt;js_binary&lt;/code&gt; rules&#xA;do not work because they need a &lt;code&gt;BAZEL_BINDIR&lt;/code&gt; variable&lt;/p&gt;&#xA;&lt;p&gt;Fix:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;security&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;exec&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;osEnv&lt;/span&gt; = [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;(?i)^((HTTPS?|NO)_PROXY|PATH(EXT)?|APPDATA|TE?MP|TERM|GO\w+|(XDG_CONFIG_)?HOME|USERPROFILE|SSH_AUTH_SOCK|DISPLAY|LANG|SYSTEMDRIVE|BAZEL.+)$&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configuration reference: &lt;a href=&#34;https://gohugo.io/configuration/security/&#34;&gt;https://gohugo.io/configuration/security/&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mullvad</title>
				<link>https://www-staging.alwaldend.com/docs/misc/mullvad/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/mullvad/</guid>
				<description>&lt;h2 id=&#34;device-limit&#34;&gt;Device limit&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#device-limit&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mullvad will invalidate a key If a host connects to many vpns with it at the&#xA;same time&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pgp</title>
				<link>https://www-staging.alwaldend.com/docs/misc/pgp/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/pgp/</guid>
				<description>&lt;h2 id=&#34;openpgp-with-yubikey&#34;&gt;Openpgp with Yubikey&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#openpgp-with-yubikey&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://support.yubico.com/s/article/Using-Your-YubiKey-with-OpenPGP&#34;&gt;https://support.yubico.com/s/article/Using-Your-YubiKey-with-OpenPGP&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;advanced-yubikey-with-openpgp-guide&#34;&gt;Advanced Yubikey with openpgp guide&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#advanced-yubikey-with-openpgp-guide&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/drduh/YubiKey-Guide&#34;&gt;https://github.com/drduh/YubiKey-Guide&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ping</title>
				<link>https://www-staging.alwaldend.com/docs/misc/ping/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/ping/</guid>
				<description>&lt;h2 id=&#34;sendmsg-operation-not-permitted&#34;&gt;&lt;code&gt;sendmsg: operation not permitted&lt;/code&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#sendmsg-operation-not-permitted&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;This problem can be caused by vpns with &amp;ldquo;kill-switch&amp;rdquo; enabled, so you might need to disable them.&lt;/p&gt;&#xA;&lt;p&gt;Disable Mullvad VPN:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl disable --now mullvad-daemon&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Qubes OS</title>
				<link>https://www-staging.alwaldend.com/docs/misc/qubes_os/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/qubes_os/</guid>
				<description>&lt;h2 id=&#34;links&#34;&gt;Links&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#links&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Site: &lt;a href=&#34;https://www.qubes-os.org/&#34;&gt;https://www.qubes-os.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;qube-startup-timeout&#34;&gt;Qube startup timeout&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#qube-startup-timeout&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Run in dom0:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qmv-prefs &amp;lt;VM NAME&amp;gt; qrexec_timeout &amp;lt;seconds&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Repo</title>
				<link>https://www-staging.alwaldend.com/docs/misc/repo/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/repo/</guid>
				<description>&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Install packages:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo dnf install &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  clang clang-tools-extra java-latest-openjdk-devel rust cargo mesa-libGL-devel &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  go Xvfb python3 gmp-devel patch podman git git-lfs fuse fuse-libs pcsc-lite pcsc-lite-devel &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  openssl gnutls-utils opensc openssl-pkcs11 libdnet qemu-kvm qemu-img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;Install bazelisk: &lt;a href=&#34;https://bazel.build/install/bazelisk&#34;&gt;https://bazel.build/install/bazelisk&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Symlink bazel:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s ~/.local/bin/bazelisk ~/.local/bin/bazel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;Install git hooks:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bazel run //:write_git_hooks&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;Install android tools:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ANDROID_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/Android/Sdk&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  bazel run --config&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;agent &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    --repo_env&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ANDROID_HOME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    //tools/android:install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;The empty repository environment is required for the first installation so&#xA;Bazel does not try to load the SDK before &lt;code&gt;sdkmanager&lt;/code&gt; installs it.&#xA;Afterwards, export &lt;code&gt;ANDROID_HOME&lt;/code&gt; and &lt;code&gt;ANDROID_NDK_HOME&lt;/code&gt;, or set both with&#xA;&lt;code&gt;--repo_env&lt;/code&gt; in the ignored &lt;code&gt;user.bazelrc&lt;/code&gt;. The repository dotfiles export&#xA;the expected paths.&lt;/li&gt;&#xA;&lt;li&gt;Setup dotfiles (optional):&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bazel run //projects/dotfiles:install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;Install nvm: &lt;a href=&#34;https://github.com/nvm-sh/nvm&#34;&gt;https://github.com/nvm-sh/nvm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Install node:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nvm install node&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;Qt is downloaded by Bazel; no host installation is required.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;vault-login&#34;&gt;Vault login&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#vault-login&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bazel run //tools/vault -- login --method&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;userpass username&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;USER&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;setup-bzlenv&#34;&gt;Setup .bzlenv&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup-bzlenv&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;. &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;bazel run //tools/bzlenv&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;compile-commands&#34;&gt;Compile commands&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#compile-commands&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Build &lt;code&gt;compile_commands.json&lt;/code&gt;:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Shell</title>
				<link>https://www-staging.alwaldend.com/docs/misc/shell/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/shell/</guid>
				<description>&lt;h2 id=&#34;deactivate-venv-in-subshell&#34;&gt;Deactivate venv in subshell&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#deactivate-venv-in-subshell&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;A subshell doesn&amp;rsquo;t have the &lt;code&gt;deactivate&lt;/code&gt; function, so you have to use a&#xA;workaround:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;. .venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;subshell, still in venv: &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;which python&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    . &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;dirname &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;which python&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/activate&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    deactivate &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;subshell, out of venv: &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;which python&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;a-subshell--is-different-from-a-subprocess&#34;&gt;A subshell &lt;code&gt;()&lt;/code&gt; is different from a subprocess&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#a-subshell--is-different-from-a-subprocess&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://unix.stackexchange.com/a/138498&#34;&gt;https://unix.stackexchange.com/a/138498&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;A subshell starts out as an almost identical copy of the original shell process.&#xA;Under the hood, the shell calls the fork system call1, which creates a new&#xA;process whose code and memory are copies2. When the subshell is created, there&#xA;are very few differences between it and its parent. In particular, they have the&#xA;same variables. Even the $$ special variable keeps the same value in subshells:&#xA;it&amp;rsquo;s the original shell&amp;rsquo;s process ID. Similarly $PPID is the PID of the parent&#xA;of the original shell.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ssh</title>
				<link>https://www-staging.alwaldend.com/docs/misc/ssh/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/ssh/</guid>
				<description>&lt;h2 id=&#34;store-ssh-key-on-yubikey&#34;&gt;Store ssh key on Yubikey&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#store-ssh-key-on-yubikey&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;General: &lt;a href=&#34;https://developers.yubico.com/SSH/&#34;&gt;https://developers.yubico.com/SSH/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Fido: &lt;a href=&#34;https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html&#34;&gt;https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Ssl</title>
				<link>https://www-staging.alwaldend.com/docs/misc/ssl/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/ssl/</guid>
				<description>&lt;ul&gt;&#xA;&lt;li&gt;How to create your own CA: &lt;a href=&#34;https://arminreiter.com/2022/01/create-your-own-certificate-authority-ca-using-openssl/&#34;&gt;https://arminreiter.com/2022/01/create-your-own-certificate-authority-ca-using-openssl/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Vault PKI: &lt;a href=&#34;https://developer.hashicorp.com/vault/tutorials/pki/pki-engine&#34;&gt;https://developer.hashicorp.com/vault/tutorials/pki/pki-engine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Todo</title>
				<link>https://www-staging.alwaldend.com/docs/misc/todo/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/todo/</guid>
				<description>&lt;h3 id=&#34;setup-proper-issue-tracking&#34;&gt;Setup proper issue tracking&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup-proper-issue-tracking&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.openproject.org/&#34;&gt;https://www.openproject.org/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/makeplane/plane&#34;&gt;https://github.com/makeplane/plane&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://taiga.io/&#34;&gt;https://taiga.io/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;setup-api-docs-for-python-go-lua&#34;&gt;Setup API docs for python, go, lua&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup-api-docs-for-python-go-lua&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;codify-build-restrictions&#34;&gt;Codify build restrictions&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#codify-build-restrictions&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&#34;https://www-staging.alwaldend.com/docs/projects/&#34;&gt;//projects&lt;/a&gt; builds should not depend on&#xA;&lt;a href=&#34;https://www-staging.alwaldend.com/docs/tools/&#34;&gt;//tools&lt;/a&gt;, etc&lt;/p&gt;&#xA;&lt;p&gt;Maybe wth aspects, aspect hints? Or check deps using genquery?&lt;/p&gt;&#xA;&lt;h3 id=&#34;fix-infinitime-build-in-projectsinfinitime&#34;&gt;Fix infinitime build in &lt;a href=&#34;https://www-staging.alwaldend.com/docs/projects/infinitime/&#34;&gt;//projects/infinitime&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#fix-infinitime-build-in-projectsinfinitime&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;add-missing-code-for-projectsnexus_security_plugin-and-projectsci_platform&#34;&gt;Add missing code for &lt;a href=&#34;https://www-staging.alwaldend.com/docs/projects/nexus_security_plugin/&#34;&gt;//projects/nexus_security_plugin&lt;/a&gt; and &lt;a href=&#34;https://www-staging.alwaldend.com/docs/projects/ci_platform/&#34;&gt;//projects/ci_platform&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#add-missing-code-for-projectsnexus_security_plugin-and-projectsci_platform&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;setup-java-language-server&#34;&gt;Setup java language server&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup-java-language-server&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;setup-a-script-that-adds-bazel-tools-to-path&#34;&gt;Setup a script that adds bazel tools to &lt;code&gt;${PATH}&lt;/code&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#setup-a-script-that-adds-bazel-tools-to-path&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;write-firefox-extension-for-projectsleetcode_downloader&#34;&gt;Write firefox extension for &lt;a href=&#34;https://www-staging.alwaldend.com/docs/projects/leetcode_downloader/&#34;&gt;//projects/leetcode_downloader&lt;/a&gt;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#write-firefox-extension-for-projectsleetcode_downloader&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;write-tool-to-sync-remote-repos-with-local-fs&#34;&gt;Write tool to sync remote repos with local FS&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#write-tool-to-sync-remote-repos-with-local-fs&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;rewrite-python-checkers-to-aspects&#34;&gt;Rewrite python checkers to aspects&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#rewrite-python-checkers-to-aspects&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h3 id=&#34;add-prettier-checks&#34;&gt;Add prettier checks&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#add-prettier-checks&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;</description>
			</item>
			<item>
				<title>Vault</title>
				<link>https://www-staging.alwaldend.com/docs/misc/vault/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/vault/</guid>
				<description>&lt;h2 id=&#34;manual-certificate-creation&#34;&gt;Manual certificate creation&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#manual-certificate-creation&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://arminreiter.com/2022/01/create-your-own-certificate-authority-ca-using-openssl/&#34;&gt;https://arminreiter.com/2022/01/create-your-own-certificate-authority-ca-using-openssl/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;unseal-process&#34;&gt;Unseal process&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#unseal-process&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Get the encrypted unseal key&lt;/li&gt;&#xA;&lt;li&gt;Unencrypt it: &lt;code&gt;cat unseal.txt | base64 --decode | gpg -dq&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Run &lt;code&gt;vault operator unseal&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>Waydroid</title>
				<link>https://www-staging.alwaldend.com/docs/misc/waydroid/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://www-staging.alwaldend.com/docs/misc/waydroid/</guid>
				<description>&lt;h2 id=&#34;links&#34;&gt;Links&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#links&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.waydro.id/&#34;&gt;https://docs.waydro.id/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;shared-folder-and-copying-files&#34;&gt;Shared folder and copying files&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#shared-folder-and-copying-files&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod &lt;span style=&#34;color:#ae81ff&#34;&gt;777&lt;/span&gt; file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo cp file ~/.local/share/waydroid/data/media/0/Download/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Docs: &lt;a href=&#34;https://docs.waydro.id/faq/setting-up-a-shared-folder&#34;&gt;https://docs.waydro.id/faq/setting-up-a-shared-folder&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
