<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>rikosjett</title><link>https://rikosjett.com/</link><description>Ronnie André Bjørvik Sletta's little corner of the internet.</description><generator>Hugo 0.161.1</generator><language>en</language><lastBuildDate>Mon, 25 May 2026 22:08:39 +0000</lastBuildDate><atom:link href="https://rikosjett.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Use .gitignore_global</title><link>https://rikosjett.com/til/44/</link><guid>https://rikosjett.com/til/44/</guid><pubDate>Sun, 19 Apr 2026 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;I hate .DS_Store. The files that constantly sneak their way into git history. Not anymore!&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;git config --global core.excludesfile &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;~/.gitignore_global&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;echo &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;.DS_Store&amp;amp;#39;&amp;lt;/span&amp;gt; &amp;amp;gt;&amp;amp;gt; ~/.gitignore_global&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Install Colima and configure Docker CLI plugins</title><link>https://rikosjett.com/til/43/</link><guid>https://rikosjett.com/til/43/</guid><pubDate>Tue, 31 Mar 2026 00:00:00 +0200</pubDate><description>&amp;lt;h2 id=&amp;#34;install-colima&amp;#34;&amp;gt;Install colima&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;brew install colima&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;install-docker-client-and-docker-compose&amp;#34;&amp;gt;Install docker client and docker compose&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;brew install docker docker-compose&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;configure-plugin&amp;#34;&amp;gt;Configure plugin&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;For Docker to find the plugin, add &amp;amp;quot;cliPluginsExtraDirs&amp;amp;quot; to ~/.docker/config.json:
&amp;amp;quot;cliPluginsExtraDirs&amp;amp;quot;: [
&amp;amp;quot;/opt/homebrew/lib/docker/cli-plugins&amp;amp;quot;
]&amp;lt;/p&amp;gt;</description></item><item><title>Exposing Immich over Tailscale with a companion container</title><link>https://rikosjett.com/blog/exposing-immich-over-tailscale-with-a-companion-container/</link><guid>https://rikosjett.com/blog/exposing-immich-over-tailscale-with-a-companion-container/</guid><pubDate>Sat, 07 Mar 2026 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;I already had &amp;lt;a href=&amp;#34;https://immich.app&amp;#34;&amp;gt;Immich&amp;lt;/a&amp;gt; running on a &amp;lt;a href=&amp;#34;https://docs.immich.app/install/synology/&amp;#34;&amp;gt;Synology NAS&amp;lt;/a&amp;gt;, with the &amp;lt;a href=&amp;#34;https://tailscale.com&amp;#34;&amp;gt;Tailscale&amp;lt;/a&amp;gt; package installed on the NAS itself. Accessing Immich meant hitting the NAS IP and port. It&amp;#39;s functional, but not great. I wanted a proper subdomain, HTTPS, and no port in the URL.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;My idea was to run a Tailscale container alongside Immich, use &amp;lt;code&amp;gt;ts serve&amp;lt;/code&amp;gt; to terminate HTTPS and proxy traffic, and not touch the existing Immich setup at all.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;the-tailscale-container&amp;#34;&amp;gt;The Tailscale container&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Create a new directory for the stack, e.g. &amp;lt;code&amp;gt;/volume1/docker/IMMICH-TAILSCALE/&amp;lt;/code&amp;gt;, and create the sub-directories &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;. You should also prepare some files on your computer, that you will upload before running the stack.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;docker-compose-file&amp;#34;&amp;gt;Docker Compose file&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;compose.yaml&amp;lt;/strong&amp;gt;:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;YAML&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-yaml&amp;#34; data-lang=&amp;#34;yaml&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;name&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;immich-tailscale&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;services&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;immich-tailscale&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;container_name&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;immich-tailscale&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;image&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;ghcr.io/tailscale/tailscale:latest&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;hostname&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;immich&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;environment&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;TS_AUTHKEY=${TS_AUTHKEY}&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;TS_USERSPACE=true&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;TS_STATE_DIR=/var/lib/tailscale&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;TS_SERVE_CONFIG=/config/ts-serve.json&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;volumes&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;./state:/var/lib/tailscale&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;./config:/config&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;networks&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; - &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;immich_default&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;restart&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;always&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;networks&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;immich_default&amp;lt;/span&amp;gt;:
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;external&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;A few things worth explaining:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;TS_USERSPACE=true&amp;lt;/code&amp;gt; runs Tailscale in userspace networking mode. This avoids needing &amp;lt;code&amp;gt;/dev/net/tun&amp;lt;/code&amp;gt; to exist on the host, which it doesn&amp;#39;t on Synology DSM by default.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;hostname: immich&amp;lt;/code&amp;gt; is what your node will be called in the Tailscale admin console, and what shows up in the URL.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;immich_default&amp;lt;/code&amp;gt; is the Docker network that Compose automatically created for my Immich stack. By joining it as an external network, the Tailscale container can reach &amp;lt;code&amp;gt;immich-server&amp;lt;/code&amp;gt; by name. Yours might be called something else. Check the &amp;lt;code&amp;gt;immich-server&amp;lt;/code&amp;gt; container, and scroll down to the network information to confirm the name.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://tailscale.com/docs/features/containers/docker&amp;#34;&amp;gt;Tailscale on Docker guide&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;auth-key&amp;#34;&amp;gt;Auth key&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;You need a Tailscale auth key in a &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file next to your compose file. &amp;lt;strong&amp;gt;WARNING&amp;lt;/strong&amp;gt;: It is extremely important that you keep this key secret. If someone get their hands on it, they have the key to your tailnet.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;pre tabindex=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;code&amp;gt;TS_AUTHKEY=tskey-auth-xxxxx&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;A &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; contains what&amp;#39;s called key-value pairs, where &amp;lt;code&amp;gt;TS_AUTHKEY&amp;lt;/code&amp;gt; is the key, and &amp;lt;code&amp;gt;tskey-auth-xxxxx&amp;lt;/code&amp;gt; is the value. This is a way to prevent hard coding configuration and secrets in the &amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Generate a auth key at tailscale.com/admin/settings/keys. It is only visible at creation time, so remember to copy it before dismissing it.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;When you start the stack, docker replace the &amp;lt;code&amp;gt;${TS_AUTHKEY}&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt; with value from &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;the-ts-serve-config&amp;#34;&amp;gt;The ts serve config&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;ts-serve.json&amp;lt;/strong&amp;gt;:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;{
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;TCP&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;443&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;HTTPS&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; },
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;Web&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;immich.your-tailnet.ts.net:443&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;Handlers&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;/&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;Proxy&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;http://immich-server:2283&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Replace &amp;lt;code&amp;gt;your-tailnet&amp;lt;/code&amp;gt; with your actual tailnet name. Tailscale handles the TLS cert automatically — no certbot, no manual renewal. HTTP requests get redirected to HTTPS.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;starting-it-up&amp;#34;&amp;gt;Starting it up&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Copy &amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; to the root of the directory you created for the stack. &amp;lt;code&amp;gt;ts-serve.json&amp;lt;/code&amp;gt; needs to be copied to the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; directory.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Go into &amp;lt;code&amp;gt;Container Manager&amp;lt;/code&amp;gt;and select &amp;lt;code&amp;gt;Project&amp;lt;/code&amp;gt; -&amp;amp;gt; &amp;lt;code&amp;gt;Create&amp;lt;/code&amp;gt;. Give the project a fitting name.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;name.png&amp;#34; alt=&amp;#34;Select a name for the project&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;Press the button to select the directory you created. Since you copied over the files you created, you will get the question to use your existing &amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt;. Agree to that.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;import.png&amp;#34; alt=&amp;#34;Import existing docker-compose-yaml&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;You will see you &amp;lt;code&amp;gt;compose.yaml&amp;lt;/code&amp;gt; in the text box. Just press next until you can save and build the stack.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If everything is working you&amp;#39;ll see it connect to the tailnet and apply the serve config. It should show up in your Tailscale admin console under the hostname you set, and you should be able to connect to it from the url you set in &amp;lt;code&amp;gt;ts-serve.json&amp;lt;/code&amp;gt;. With HTTPS and no port. 🤓&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;what-about-immich&amp;#34;&amp;gt;What about Immich?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Nothing changes. Immich keeps running exactly as it was. The Tailscale container just joins its network and routes traffic to it. You can still access Immich on the local network via the port as before.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;another-approach&amp;#34;&amp;gt;Another approach&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;A tighter approach would be to run Tailscale as a sidecar inside the Immich stack itself, using &amp;lt;code&amp;gt;network_mode: service:tailscale&amp;lt;/code&amp;gt; to share the network stack directly. That works well if you&amp;#39;re setting everything up from scratch. But if you already have Immich running and don&amp;#39;t want to touch it, keeping Tailscale in its own stack and joining the existing network is the easier path.&amp;lt;/p&amp;gt;</description></item><item><title>ASUS ROG STRIX B450-E GAMING - No bluetooth after firmware upgrade</title><link>https://rikosjett.com/til/42/</link><guid>https://rikosjett.com/til/42/</guid><pubDate>Sun, 29 Dec 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;I upgraded the firmware(bios/UEFI) of my motherboard, the ASUS ROG STRIX B450-E GAMING, and after that the bluetooth adapter was not available in both Windows and Linux.
I spent several hours debugging, but after i dropped into a Reddit thread concerning another ASUS motherboard, I found the solution.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;i-had-to-shutdown-the-computer-and-pull-out-the-power-cord-after-waiting-5-minutes-i-put-it-back-in-and-booted-the-computer&amp;#34;&amp;gt;I had to shutdown the computer, and pull out the power cord. After waiting 5 minutes, I put it back in and booted the computer.&amp;lt;/h3&amp;gt;
&amp;lt;h2 id=&amp;#34;bluetooth-was-back&amp;#34;&amp;gt;Bluetooth was back...&amp;lt;/h2&amp;gt;
&amp;lt;h2 id=&amp;#34;who-knew-have-you-tried-turning-it-off-and-on-again-would-actually-be-the-answer&amp;#34;&amp;gt;WHO KNEW &amp;amp;quot;Have you tried turning it off and on again?&amp;amp;quot; would actually be the answer?!?!&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;PS: I assume the cord pulling and waiting is the important part, making sure the system is completely without power.&amp;lt;/p&amp;gt;</description></item><item><title>Unofficial Logitech driver for Linux</title><link>https://rikosjett.com/til/39/</link><guid>https://rikosjett.com/til/39/</guid><pubDate>Sat, 28 Dec 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Had issues with my Logitech MX Master 3 on &amp;lt;a href=&amp;#34;https://cachyos.org&amp;#34;&amp;gt;CachyOS&amp;lt;/a&amp;gt; over 2.4Ghz dongle.
Found the solution in installing the unofficial userspace driver &amp;lt;a href=&amp;#34;https://github.com/PixlOne/logiops?tab=readme-ov-file&amp;#34;&amp;gt;LogiOps&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;BASH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-bash&amp;#34; data-lang=&amp;#34;bash&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;paru logiops&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Theme rEFInd</title><link>https://rikosjett.com/til/40/</link><guid>https://rikosjett.com/til/40/</guid><pubDate>Sat, 28 Dec 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Started using rEFInd as bootloader since I dual-boot Linux and Windows.
Wanted to make it look a bit better than stock. Found a great resource for themes.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://refind-themes-collection.netlify.app&amp;#34;&amp;gt;rEFInd Theme Collection&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Get correct icon in rEFInd</title><link>https://rikosjett.com/til/41/</link><guid>https://rikosjett.com/til/41/</guid><pubDate>Sat, 28 Dec 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;When booting rEFInd it found both my linux and my windows, but it displayed Tux as the icon for linux.
Solved it by putting a png of the CachyOS icon in &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; directory with the same name as the kernel.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;BASH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-bash&amp;#34; data-lang=&amp;#34;bash&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;┣ /boot
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;┗━# tree -L &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;1&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;.
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── amd-ucode.img
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── EFI
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── initramfs-linux-cachyos-fallback.img
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── initramfs-linux-cachyos.img
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── refind_linux.conf
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── System Volume Information
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;├── vmlinuz-linux-cachyos
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;└── vmlinuz-linux-cachyos.png
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;3&amp;lt;/span&amp;gt; directories, &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;6&amp;lt;/span&amp;gt; files
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;┏━
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;┣ /boot
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;┗━#&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Cluster Access</title><link>https://rikosjett.com/til/38/</link><guid>https://rikosjett.com/til/38/</guid><pubDate>Sat, 30 Nov 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://docs.k3s.io/cluster-access&amp;#34;&amp;gt;Cluster Access @ k3s.io&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;BASH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-bash&amp;#34; data-lang=&amp;#34;bash&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ export KUBECONFIG&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;amp;lt;path_to_cluster_config.yaml&amp;amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl get pods --all-namespaces&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Untracking stuff in git</title><link>https://rikosjett.com/til/37/</link><guid>https://rikosjett.com/til/37/</guid><pubDate>Sun, 18 Aug 2024 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;Accidental tracking and commits to git happens. Here&amp;#39;s how to remove the stuff again.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Remember to add the stuff to .gitignore&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;BASH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-bash&amp;#34; data-lang=&amp;#34;bash&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git rm -r --cached &amp;amp;lt;file-or-directory-name&amp;amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git commit -m &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;Yes I did not mean to include these...&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git push origin main&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Getting prettier to work with Tailswind</title><link>https://rikosjett.com/til/36/</link><guid>https://rikosjett.com/til/36/</guid><pubDate>Mon, 11 Mar 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Getting Prettier to run was not easy. This seemed to do the trick.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;.prettierrc&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;{
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;tailwindConfig&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;./tailwind.config.js&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;pluginSearchDirs&amp;amp;#34;&amp;lt;/span&amp;gt;: [&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;.&amp;amp;#34;&amp;lt;/span&amp;gt;],
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;overrides&amp;amp;#34;&amp;lt;/span&amp;gt;: [{ &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;files&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;*.svelte&amp;amp;#34;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;options&amp;amp;#34;&amp;lt;/span&amp;gt;: { &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;parser&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;svelte&amp;amp;#34;&amp;lt;/span&amp;gt; } }],
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;plugins&amp;amp;#34;&amp;lt;/span&amp;gt;: [&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;prettier-plugin-svelte&amp;amp;#34;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;prettier-plugin-tailwindcss&amp;amp;#34;&amp;lt;/span&amp;gt;]
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;settings.json&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;{
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;prettier.requireConfig&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;prettier.documentSelectors&amp;amp;#34;&amp;lt;/span&amp;gt;: [&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;**/*.svelte&amp;amp;#34;&amp;lt;/span&amp;gt;],
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;[svelte]&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;editor.defaultFormatter&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;esbenp.prettier-vscode&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Autosuggest Tailwind CSS class IntelliSense</title><link>https://rikosjett.com/til/35/</link><guid>https://rikosjett.com/til/35/</guid><pubDate>Mon, 11 Mar 2024 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;By default, the Tailwind CSS IntelliSense extension didn&amp;#39;t give automatic IntelliSense when typing. Adding the following to settings.json fixed this.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;editor.quickSuggestions&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;:&amp;lt;/span&amp;gt; {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;strings&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;,&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;css.validate&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;:&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;false&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;,&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;editor.inlineSuggest.enabled&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;:&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Change git init default branch to main</title><link>https://rikosjett.com/til/34/</link><guid>https://rikosjett.com/til/34/</guid><pubDate>Wed, 03 Aug 2022 00:00:00 +0200</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git config --global init.defaultBranch main&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Turn on macOS screen share from terminal</title><link>https://rikosjett.com/til/33/</link><guid>https://rikosjett.com/til/33/</guid><pubDate>Fri, 13 May 2022 00:00:00 +0200</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Unified clipboard between Neovim and Windows WSL2</title><link>https://rikosjett.com/til/32/</link><guid>https://rikosjett.com/til/32/</guid><pubDate>Thu, 07 Apr 2022 00:00:00 +0200</pubDate><description>&amp;lt;h2 id=&amp;#34;install-win32yankexe&amp;#34;&amp;gt;Install win32yank.exe&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ curl -sLo/tmp/win32yank.zip https://github.com/equalsraf/win32yank/releases/download/v0.0.4/win32yank-x64.zip
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ unzip -p /tmp/win32yank.zip win32yank.exe &amp;amp;gt; /tmp/win32yank.exe
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ chmod +x /tmp/win32yank.exe
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo mv /tmp/win32yank.exe /usr/local/bin/&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Remember to restart shell, to cache binary. I experienced not being able to access it straight after download and move.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;configure-neovim&amp;#34;&amp;gt;Configure Neovim&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;TEXT&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-text&amp;#34; data-lang=&amp;#34;text&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;amp;#34; Unified clipboard WSL2
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;set clipboard+=unnamedplus
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;let g:clipboard = {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;name&amp;amp;#39;: &amp;amp;#39;win32yank-wsl&amp;amp;#39;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;copy&amp;amp;#39;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;+&amp;amp;#39;: &amp;amp;#39;win32yank.exe -i --crlf&amp;amp;#39;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;*&amp;amp;#39;: &amp;amp;#39;win32yank.exe -i --crlf&amp;amp;#39;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ },
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;paste&amp;amp;#39;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;+&amp;amp;#39;: &amp;amp;#39;win32yank.exe -o --lf&amp;amp;#39;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;*&amp;amp;#39;: &amp;amp;#39;win32yank.exe -o --lf&amp;amp;#39;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ },
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ &amp;amp;#39;cache_enabled&amp;amp;#39;: 0,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; \ }&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;a href=&amp;#34;https://github.com/neovim/neovim/wiki/FAQ#where-should-i-put-my-config-vimrc&amp;#34;&amp;gt;Neovim FAQ&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Logitech MX Master 3 laggy startup after sleep fix - Microsoft Surface Laptop Studio</title><link>https://rikosjett.com/til/31/</link><guid>https://rikosjett.com/til/31/</guid><pubDate>Tue, 15 Mar 2022 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;When the MX Master 3 is not in constant use, it seems like it is going into sleep mode, or something like that. Turning off sleep in power management in device manager, for the Intel Wireless Bluetooth seems to fix the issue.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;158328716-cac8ff0a-8251-4d70-b158-93e251f42004.png&amp;#34; alt=&amp;#34;device_manager&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;img src=&amp;#34;158328723-82d3b2d6-043b-403b-a9cb-4ae6e8c15c2a.png&amp;#34; alt=&amp;#34;power_management&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;</description></item><item><title>The correct and easy way to migrate from CentOS Linux 8 to CentOS Stream 8</title><link>https://rikosjett.com/til/30/</link><guid>https://rikosjett.com/til/30/</guid><pubDate>Sun, 27 Feb 2022 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;CentOS 8 went EOL at the end of December 2021.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ dnf --disablerepo &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;*&amp;amp;#39;&amp;lt;/span&amp;gt; --enablerepo&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;extras swap centos-linux-repos centos-stream-repos
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ dnf distro-sync&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Monitor serial connection with screen</title><link>https://rikosjett.com/til/29/</link><guid>https://rikosjett.com/til/29/</guid><pubDate>Wed, 05 Jan 2022 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Connect to developer board (Arduino/RPi Pico/etc) using screen, to monitor serial output from a terminal emulator on macOS.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Find port&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ ls /dev/tty*&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Arduino uses the format /dev/tty.usbmodem&amp;amp;lt;some number&amp;amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;span class=&amp;#34;video-embed&amp;#34;&amp;gt;
&amp;lt;iframe
src=&amp;#34;https://www.youtube-nocookie.com/embed/LXAwW2IYT7o&amp;#34;
title=&amp;#34;YouTube video&amp;#34;
loading=&amp;#34;lazy&amp;#34;
referrerpolicy=&amp;#34;strict-origin-when-cross-origin&amp;#34;
allow=&amp;#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;#34;
allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Turn of encryption in Vino, to enable access through VNC Viewer</title><link>https://rikosjett.com/til/28/</link><guid>https://rikosjett.com/til/28/</guid><pubDate>Mon, 13 Sep 2021 00:00:00 +0200</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ gsettings set org.gnome.Vino require-encryption false&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Finding and removing metadata files and folders (.DS_Store, thumbs.db, etc)</title><link>https://rikosjett.com/til/27/</link><guid>https://rikosjett.com/til/27/</guid><pubDate>Sun, 05 Sep 2021 00:00:00 +0200</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ find . -type &amp;amp;lt;f or d&amp;amp;gt; -name &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;&amp;amp;lt;name of entity to remove&amp;amp;gt;&amp;amp;#34;&amp;lt;/span&amp;gt; -print0 | xargs -0 rm -rf&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Stop Proxmox VM from shell</title><link>https://rikosjett.com/til/25/</link><guid>https://rikosjett.com/til/25/</guid><pubDate>Sat, 03 Apr 2021 00:00:00 +0200</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ qm stop &amp;amp;lt;vmid&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Mount NFS file system to Ubuntu</title><link>https://rikosjett.com/til/24/</link><guid>https://rikosjett.com/til/24/</guid><pubDate>Sat, 03 Apr 2021 00:00:00 +0200</pubDate><description>&amp;lt;h2 id=&amp;#34;install-dependencies-if-missing&amp;#34;&amp;gt;Install dependencies (if missing)&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo apt update
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo apt install nfs-common&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h2 id=&amp;#34;create-mount-directory&amp;#34;&amp;gt;Create mount directory&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ mkdir &amp;amp;lt;dir name&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h2 id=&amp;#34;mount-nfs-share&amp;#34;&amp;gt;Mount NFS share&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo mount -t nfs &amp;amp;lt;host ip&amp;amp;gt;:&amp;amp;lt;share&amp;amp;gt; &amp;amp;lt;mount dir&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Rename git master branch to main</title><link>https://rikosjett.com/til/23/</link><guid>https://rikosjett.com/til/23/</guid><pubDate>Thu, 01 Apr 2021 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;How to rename old repository &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; branch to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;rename-local-branch&amp;#34;&amp;gt;Rename local branch&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git branch -m master main&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;push-new-main-branch-to-origin&amp;#34;&amp;gt;Push new &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; branch to origin&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git push -u origin main&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;delete-old-master-branch&amp;#34;&amp;gt;Delete old master branch&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;If old master isn&amp;#39;t the &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;branch on the remote&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ git push origin --delete master&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;If you get an error, this step needs to be done manually on the remote, as &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; needs to be set as &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;before deleting the old &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Error message:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;To github.com:&amp;amp;lt;account&amp;amp;gt;/&amp;amp;lt;repo name&amp;amp;gt;.git
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; ! &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;[&amp;lt;/span&amp;gt;remote rejected&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;]&amp;lt;/span&amp;gt; master &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;(&amp;lt;/span&amp;gt;refusing to delete the current branch: refs/heads/master&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;)&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;error: failed to push some refs to &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;github.com:&amp;amp;lt;account&amp;amp;gt;/&amp;amp;lt;repo name&amp;amp;gt;.git&amp;amp;#39;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Prevent double initializations of views</title><link>https://rikosjett.com/til/22/</link><guid>https://rikosjett.com/til/22/</guid><pubDate>Wed, 31 Mar 2021 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;It is best practice to not have the same view as both root view, and target of &amp;lt;em&amp;gt;blank&amp;lt;/em&amp;gt; route. Using it for both, causes it to initialize twice.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;sap.ui5&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;:&amp;lt;/span&amp;gt; {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;flexEnabled&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;rootView&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewName&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;namespace.view.Root&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;type&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;XML&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;async&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;id&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;appControl&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; },
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;routing&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;config&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;routerClass&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;sap.m.routing.Router&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewType&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;XML&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewPath&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;namespace.view&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;controlId&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;appControl&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;transition&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;slide&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;controlAggregation&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;pages&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;async&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;true&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;bypassed&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;target&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;notFound&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; },
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;routes&amp;amp;#34;&amp;lt;/span&amp;gt;: [
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;name&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;appHome&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;pattern&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;target&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;Home&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; ],
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;targets&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;Home&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewName&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;App&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewId&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;appView&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewType&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;XML&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;viewLevel&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;1&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Reference: &amp;lt;a href=&amp;#34;https://github.com/SAP/openui5/issues/1746#issuecomment-346808328&amp;#34;&amp;gt;Root View and Controller is instantiated 2 times #1746&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Cleaning up files with awk</title><link>https://rikosjett.com/til/21/</link><guid>https://rikosjett.com/til/21/</guid><pubDate>Wed, 31 Mar 2021 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;Needed to clean up a JSON file, after I copied the JSON from the browser and got the line numbers too.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Move every even line to clean file&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ awk &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;NR % 2 == 0&amp;amp;#39;&amp;lt;/span&amp;gt; dirty.json &amp;amp;gt; clean.json&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Move every odd line to clean file&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ awk &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;NR % 2 != 0&amp;amp;#39;&amp;lt;/span&amp;gt; dirty.json &amp;amp;gt; clean.json&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Install GitHub CLI</title><link>https://rikosjett.com/til/20/</link><guid>https://rikosjett.com/til/20/</guid><pubDate>Sun, 28 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;h2 id=&amp;#34;manual-install&amp;#34;&amp;gt;Manual Install&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;get-version&amp;#34;&amp;gt;Get Version&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;curl &amp;amp;#34;&amp;lt;/span&amp;gt;https://api.github.com/repos/cli/cli/releases/latest&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34; | grep &amp;amp;#39;&amp;amp;#34;&amp;lt;/span&amp;gt;tag_name&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;&amp;amp;#39; | sed -E &amp;amp;#39;s/.*&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;([&amp;lt;/span&amp;gt;^&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;]+)&amp;amp;#34;&amp;lt;/span&amp;gt;.*/&amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;\1&amp;lt;/span&amp;gt;/&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;&amp;amp;#39;&amp;lt;/span&amp;gt; | cut -c2-&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;download-latest-version&amp;#34;&amp;gt;Download latest version&amp;lt;/h3&amp;gt;
&amp;lt;h3 id=&amp;#34;with-wget&amp;#34;&amp;gt;With wget&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ wget https://github.com/cli/cli/releases/download/v&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;/gh_&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;_linux_amd64.tar.gz&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;with-curl&amp;#34;&amp;gt;With curl&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ curl -sSL https://github.com/cli/cli/releases/download/v&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;/gh_&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;_linux_amd64.tar.gz -o gh_&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;_linux_amd64.tar.gz&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;extract-downloaded-file&amp;#34;&amp;gt;Extract downloaded file&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ tar xvf gh_&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;_linux_amd64.tar.gz&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;copy-to-usrlocalbin&amp;#34;&amp;gt;Copy to /usr/local/bin&amp;lt;/h3&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo cp gh_&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;${&amp;lt;/span&amp;gt;VERSION&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;}&amp;lt;/span&amp;gt;_linux_amd64/bin/gh /usr/local/bin/&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>SAP GUI for Java - Connection strings</title><link>https://rikosjett.com/til/19/</link><guid>https://rikosjett.com/til/19/</guid><pubDate>Sat, 27 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;The way you define a new SAP Connection in SAP GUI For Java differs slightly from SAP GUI For Windows. Let’s assume that you have the following connection information:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Address: 10.1.3.40
System No: 02
In SAP GUI For Java, you need to get to the “Advanced” tab, click “Expert mode” and enter the following connection string:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;TEXT&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-text&amp;#34; data-lang=&amp;#34;text&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;conn=/H/10.1.3.40/S/3202&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Obviously, the address goes between /H/ and /S/ and the system number goes to the end of the string. If your system ID is 00, you need to enter 3200. If your system ID is 07, you need to enter 3207. In our case, your system ID is 02 so you need to enter 3202.&amp;lt;/p&amp;gt;</description></item><item><title>Change user password in HANA Express</title><link>https://rikosjett.com/til/17/</link><guid>https://rikosjett.com/til/17/</guid><pubDate>Sat, 27 Mar 2021 00:00:00 +0100</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ hdbsql -i &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;90&amp;lt;/span&amp;gt; -d systemdb -u SYSTEM&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ alter user XSA_DEV password &amp;amp;lt;new password&amp;amp;gt;;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Certificate error in HXE Web IDE logs</title><link>https://rikosjett.com/til/18/</link><guid>https://rikosjett.com/til/18/</guid><pubDate>Sat, 27 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Enter HXE container&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Logon to XSA CLI with command xs login&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ XSA reset-certificate&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Turn of IPv6 Raspian Strech install</title><link>https://rikosjett.com/til/11/</link><guid>https://rikosjett.com/til/11/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Edit &amp;lt;code&amp;gt;/etc/sysctl.conf&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;VIM&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-vim&amp;#34; data-lang=&amp;#34;vim&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;net&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;ipv6&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;conf&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;all&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;disable_ipv6&amp;lt;/span&amp;gt; = &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Save&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Modify kernel parameters&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;~ $ sudo sysctl -p&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Rewrite commit author in Git repo</title><link>https://rikosjett.com/til/6/</link><guid>https://rikosjett.com/til/6/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;#!/bin/sh
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;git filter-branch --env-filter &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;OLD_EMAIL=&amp;amp;#34;Wrong user e-mail&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;CORRECT_NAME=&amp;amp;#34;User name&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;CORRECT_EMAIL=&amp;amp;#34;User e-mail&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;if [ &amp;amp;#34;$GIT_COMMITTER_EMAIL&amp;amp;#34; = &amp;amp;#34;$OLD_EMAIL&amp;amp;#34; ]
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;then
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; export GIT_COMMITTER_NAME=&amp;amp;#34;$CORRECT_NAME&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; export GIT_COMMITTER_EMAIL=&amp;amp;#34;$CORRECT_EMAIL&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;fi
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;if [ &amp;amp;#34;$GIT_AUTHOR_EMAIL&amp;amp;#34; = &amp;amp;#34;$OLD_EMAIL&amp;amp;#34; ]
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;then
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; export GIT_AUTHOR_NAME=&amp;amp;#34;$CORRECT_NAME&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; export GIT_AUTHOR_EMAIL=&amp;amp;#34;$CORRECT_EMAIL&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;fi
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;&amp;lt;/span&amp;gt; --tag-name-filter cat -- --branches --tags&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Proxmox trying to acquire lock to stop VM - fix error</title><link>https://rikosjett.com/til/13/</link><guid>https://rikosjett.com/til/13/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;trying to acquire lock...
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;TASK ERROR: can&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;t lock file &amp;amp;#39;&amp;lt;/span&amp;gt;/var/lock/qemu-server/lock-&amp;amp;lt;VM id&amp;amp;gt;.conf&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;&amp;amp;#39;&amp;lt;/span&amp;gt; - got timeout&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ rm /var/lock/qemu-server/lock-&amp;amp;lt;VM id&amp;amp;gt;.conf&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>PlantUML icons</title><link>https://rikosjett.com/til/2/</link><guid>https://rikosjett.com/til/2/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://github.com/Roemer/plantuml-office&amp;#34;&amp;gt;PlantUML Office&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://github.com/rabelenda/cicon-plantuml-sprites&amp;#34;&amp;gt;Cloudinsight PlantUML sprites&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://useiconic.com/open/&amp;#34;&amp;gt;Open Iconic&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://github.com/Templarian/MaterialDesign&amp;#34;&amp;gt;Material Design&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://github.com/milo-minderbinder/AWS-PlantUML&amp;#34;&amp;gt;AWS PlantUML&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;examples&amp;#34;&amp;gt;Examples&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Default (Open Iconic)&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;pre tabindex=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;code&amp;gt;@startuml
listopeniconic
@enduml&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Devicons / Font-awesome&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;pre tabindex=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;code&amp;gt;@startuml
&amp;amp;#39; Include common to use icon macros.
!include &amp;amp;lt;devicons/common&amp;amp;gt;
&amp;amp;#39; Include icon from Devicons.
!include &amp;amp;lt;devicons/github&amp;amp;gt;
&amp;amp;#39; Include icon from Font Awesome icons.
!include &amp;amp;lt;font-awesome/gitlab&amp;amp;gt;
&amp;amp;#39; Use macros from common library.
&amp;amp;#39; First argument is alias, second label.
DEV_GITHUB(github, &amp;amp;#39;Github&amp;amp;#39;)
FA_GITLAB(gitlab, &amp;amp;#39;Gitlab&amp;amp;#39;)
&amp;amp;#39; Use ~ to escape #
github -&amp;amp;gt; gitlab : ~#movingtogitlab
@enduml&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Manage multiple Docker instances using Portainer agent</title><link>https://rikosjett.com/til/8/</link><guid>https://rikosjett.com/til/8/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;h2 id=&amp;#34;run-instance-of-portainer-agent-on-docker-instance&amp;#34;&amp;gt;Run instance of portainer agent on docker instance&amp;lt;/h2&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-sh&amp;#34; data-lang=&amp;#34;sh&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;docker run -d -p 9001:9001 --name portainer_agent --restart&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h2 id=&amp;#34;configure-endpoint-in-portainer-on-management-instance&amp;#34;&amp;gt;Configure endpoint in Portainer on management instance&amp;lt;/h2&amp;gt;
&amp;lt;img src=&amp;#34;112557327-850d0580-8dcc-11eb-890d-f2aefe8171da.jpg&amp;#34; alt=&amp;#34;agent-endpoint&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;</description></item><item><title>Keyboard identified wrong</title><link>https://rikosjett.com/til/7/</link><guid>https://rikosjett.com/til/7/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;If the keyboard has been identified wrong, for example ISO kb as ANSI kb&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ sudo rm /Library/Preferences/com.apple.keyboardtype.plist&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Reboot - Use keybord assistant&amp;lt;/p&amp;gt;</description></item><item><title>jQuery-Electron fix</title><link>https://rikosjett.com/til/16/</link><guid>https://rikosjett.com/til/16/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;When using Electron and UI5, there are som issues with loading jQuery. Fix this using the following snippet:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;HTML&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-html&amp;#34; data-lang=&amp;#34;html&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;&amp;amp;lt;!-- Insert this line above script imports --&amp;amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;if&amp;lt;/span&amp;gt; (&amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;typeof&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;===&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;object&amp;amp;#39;&amp;lt;/span&amp;gt;) {window.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt;; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;undefined&amp;lt;/span&amp;gt;;}&amp;amp;lt;/&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt;&amp;amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;&amp;amp;lt;!-- normal script imports etc --&amp;amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;id&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;sap-ui-bootstrap&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;src&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;../resources/sap-ui-core.js&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-theme&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;sap_belize&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-libs&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;sap.m&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-compatVersion&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;edge&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-bindingSyntax&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;complex&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-resourceroots&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;{
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; &amp;amp;#34;&amp;amp;lt;namespace&amp;amp;gt;&amp;amp;#34;: &amp;amp;#34;./&amp;amp;#34;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt; }&amp;amp;#39;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;data-sap-ui-preload&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;async&amp;amp;#39;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;lt;/&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt;&amp;amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;&amp;amp;lt;!-- Insert this line after script imports --&amp;amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;if&amp;lt;/span&amp;gt; (window.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt; window.&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;module&amp;lt;/span&amp;gt;;&amp;amp;lt;/&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;script&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;source-electron-jquery-is-not-defined&amp;#34;&amp;gt;Source: &amp;lt;a href=&amp;#34;https://stackoverflow.com/questions/32621988/electron-jquery-is-not-defined/37480521#37480521&amp;#34;&amp;gt;Electron: jQuery is not defined&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;</description></item><item><title>Install PlantUML with Homebrew</title><link>https://rikosjett.com/til/1/</link><guid>https://rikosjett.com/til/1/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;macOS:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SH&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-sh&amp;#34; data-lang=&amp;#34;sh&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; brew install plantuml&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Install NVM with Homebrew</title><link>https://rikosjett.com/til/9/</link><guid>https://rikosjett.com/til/9/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Install NVM
&amp;lt;code&amp;gt;brew install nvm&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Add NVM folder
&amp;lt;code&amp;gt;mkdir ~/.nvm &amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Add config to .shell_profile
export NVM_DIR=&amp;amp;quot;$HOME/.nvm&amp;amp;quot;
. &amp;amp;quot;/usr/local/opt/nvm/nvm.sh&amp;amp;quot;&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;</description></item><item><title>Fix DNS issues on fresh Raspian Strech install</title><link>https://rikosjett.com/til/10/</link><guid>https://rikosjett.com/til/10/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Edit &amp;lt;code&amp;gt;/etc/dhcpcd.conf&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;static domain_name_servers=1.1.1.1 1.0.0.1 208.69.38.205 8.8.8.8&amp;lt;/p&amp;gt;</description></item><item><title>Fix commit author with git amend</title><link>https://rikosjett.com/til/4/</link><guid>https://rikosjett.com/til/4/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;git commit --amend --author=&amp;amp;quot;Author Name &amp;amp;lt;email@address.com&amp;amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Extract git commit messages since &amp;lt;commit&amp;gt;</title><link>https://rikosjett.com/til/3/</link><guid>https://rikosjett.com/til/3/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;To quickly get list of events. Usefull for release notes etc.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;git log --format=%B &amp;amp;lt;commit hash&amp;amp;gt;..HEAD &amp;amp;gt; filename.ext&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Enable 2FA and access github repo</title><link>https://rikosjett.com/til/5/</link><guid>https://rikosjett.com/til/5/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;When 2FA is enabled, one must create a personal access token, and use that as password. Remote repo must be on HTTPS, not SSH.
&amp;lt;a href=&amp;#34;https://help.github.com/articles/accessing-github-using-two-factor-authentication/#using-two-factor-authentication-with-the-command-line&amp;#34;&amp;gt;Using two-factor authentication with the command line&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;</description></item><item><title>Deactivate batch ajax on OData model</title><link>https://rikosjett.com/til/15/</link><guid>https://rikosjett.com/til/15/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Edit in manifest.json.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;models&amp;amp;#34;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#960050;background-color:#1e0010&amp;#34;&amp;gt;:&amp;lt;/span&amp;gt; {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;yourModel&amp;amp;#34;&amp;lt;/span&amp;gt;: {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;dataSource&amp;amp;#34;&amp;lt;/span&amp;gt; : &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;yourDataSource&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;settings&amp;amp;#34;&amp;lt;/span&amp;gt; : {
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;useBatch&amp;amp;#34;&amp;lt;/span&amp;gt; : &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;false&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; }
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Copy public key to remote server</title><link>https://rikosjett.com/til/12/</link><guid>https://rikosjett.com/til/12/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ ssh-copy-id username@remote_host&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;</description></item><item><title>Add Nord theme to Windows Terminal</title><link>https://rikosjett.com/til/26/</link><guid>https://rikosjett.com/til/26/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Add the following to &amp;lt;code&amp;gt;&amp;amp;quot;schemes&amp;amp;quot;&amp;lt;/code&amp;gt; in Windows Terminal &amp;lt;code&amp;gt;settings.json&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;JSON&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-json&amp;#34; data-lang=&amp;#34;json&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;{
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;name&amp;amp;#34;&amp;lt;/span&amp;gt; : &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;nord&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;background&amp;amp;#34;&amp;lt;/span&amp;gt; : &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#2e3440&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;foreground&amp;amp;#34;&amp;lt;/span&amp;gt; : &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#d8dee9&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;black&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#3b4252&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;blue&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#81a1c1&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightBlack&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#4c566a&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightBlue&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#81a1c1&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightCyan&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#8fbcbb&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightGreen&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#a3be8c&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightPurple&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#b48ead&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightRed&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#bf616a&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightWhite&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#eceff4&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;brightYellow&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#ebcb8b&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;cyan&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#88c0d0&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;green&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#a3be8c&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;purple&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#b48ead&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;red&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#bf616a&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;white&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#e5e9f0&amp;amp;#34;&amp;lt;/span&amp;gt;,
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt; &amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;&amp;amp;#34;yellow&amp;amp;#34;&amp;lt;/span&amp;gt;: &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#34;#ebcb8b&amp;amp;#34;&amp;lt;/span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;}&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;a href=&amp;#34;https://compiledexperience.com/blog/posts/windows-terminal-nord&amp;#34;&amp;gt;Blog post&amp;lt;/a&amp;gt; by &amp;lt;a href=&amp;#34;https://twitter.com/nigelsampson&amp;#34;&amp;gt;Nigel Sampson&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;</description></item><item><title>Activate OpenUI5 support assistant</title><link>https://rikosjett.com/til/14/</link><guid>https://rikosjett.com/til/14/</guid><pubDate>Fri, 26 Mar 2021 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;Keybind: CTRL-ALT-SHIFT-P&amp;lt;/p&amp;gt;</description></item><item><title>Minikube on Docker Desktop</title><link>https://rikosjett.com/blog/minikube-on-docker-desktop/</link><guid>https://rikosjett.com/blog/minikube-on-docker-desktop/</guid><pubDate>Wed, 20 Feb 2019 00:00:00 +0100</pubDate><description>&amp;lt;p&amp;gt;(&amp;lt;em&amp;gt;This post is also on the &amp;lt;a href=&amp;#34;https://blogs.sap.com/2019/02/17/run-minikube-from-docker-desktop/&amp;#34;&amp;gt;SAP Community blogs&amp;lt;/a&amp;gt;&amp;lt;/em&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://people.sap.com/nabheet.madan3#overview&amp;#34;&amp;gt;Nabheet Madan&amp;lt;/a&amp;gt; has released a great blog series about using UI5 with Kubernetes (&amp;lt;a href=&amp;#34;https://blogs.sap.com/2019/02/08/helloworld-sapui5-meets-kubernetes-containers/&amp;#34;&amp;gt;1&amp;lt;/a&amp;gt;,&amp;lt;a href=&amp;#34;https://blogs.sap.com/2019/02/08/helloworld-sapui5-meets-kubernetes-containers-meet-orchestrators/&amp;#34;&amp;gt;2&amp;lt;/a&amp;gt;,&amp;lt;a href=&amp;#34;https://blogs.sap.com/2019/02/11/helloworld-sapui5-meets-kubernetes-integration-of-database-via-separate-pods/&amp;#34;&amp;gt;3&amp;lt;/a&amp;gt;), using Minikube. I&amp;#39;ve been tinkering with containers, and run docker on my home server. I&amp;#39;ve also been trying to get into Kubernetes, but have hit some hurdles every time. When Minikube came to my attention, I decided to try again.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;As a Mac user, I tried to install it via Homebrew, but hit some issues. But coincidentally I listened to the &amp;lt;a href=&amp;#34;https://itunes.apple.com/no/podcast/kubernetes-podcast-from-google/id1370049232?l=nb&amp;amp;amp;mt=2&amp;amp;amp;i=1000429264990&amp;#34;&amp;gt;Minikube episode of the Kubernetes Podcast&amp;lt;/a&amp;gt;, where they mentioned that you can run Minikube through Docker Desktop. I run Docker Desktop on all my machines. Perfect! This is how you do it.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;enable-kubernetes-on-docker-desktop&amp;#34;&amp;gt;Enable Kubernetes on Docker Desktop&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you don&amp;#39;t have Docker Desktop installed, you can get it on Docker Hub. It&amp;#39;s available for both &amp;lt;a href=&amp;#34;https://store.docker.com/editions/community/docker-ce-desktop-windows&amp;#34;&amp;gt;Windows&amp;lt;/a&amp;gt; and &amp;lt;a href=&amp;#34;https://store.docker.com/editions/community/docker-ce-desktop-mac&amp;#34;&amp;gt;macOS&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;When it&amp;#39;s installed, you get a little docker icon in your taskbar. Click it, and open &amp;lt;strong&amp;gt;Preferences&amp;lt;/strong&amp;gt;. Navigate to the &amp;#39;Kubernetes&amp;#39; tab, and check the &amp;#39;Enable Kubernetes&amp;#39; checkbox.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;enable-k8s.webp&amp;#34; alt=&amp;#34;enable-k8s&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;If it&amp;#39;s the first time Kubernetes is enabled, Docker Desktop will download the Kubernetes cluster and install it, before the green light turns on.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;docker-desktop.webp&amp;#34; alt=&amp;#34;docker-desktop&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;And there you go. Minikube is running through Docker Desktop. Now you can use &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt; in your favourite terminal emulator as usual. Use it to verify the installation:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl version&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;If you are using Kubernetes with another environment, you can check which one &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt; is working with:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl config current-context&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;If needed, you can change the context to your docker instance:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl config use-context docker-for-desktop&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h2 id=&amp;#34;bonus-mission-install-kubernetes-dashboard&amp;#34;&amp;gt;Bonus mission: Install Kubernetes Dashboard&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you want to, you can deploy &amp;lt;a href=&amp;#34;https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/&amp;#34;&amp;gt;Kubernetes Dashboard&amp;lt;/a&amp;gt;, a web-based Kubernetes user interface, to your Minikube. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;To deploy it, run the following command:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;To access the dashboard, you need to forward a specific port. To do this, you have to get the pod name for the dashboard. The dashboard pod is in the &amp;lt;strong&amp;gt;kube-system&amp;lt;/strong&amp;gt; namespace. To find it&amp;#39;s name, list the pods:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl get pods --namespace&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;kube-system&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;You will get a result like:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;NAME READY STATUS RESTARTS AGE
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;etcd-docker-for-desktop 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kube-apiserver-docker-for-desktop 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kube-controller-manager-docker-for-desktop 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kube-dns-86f4d74b45-dzrlw 3/3 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kube-proxy-7w5gn 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kube-scheduler-docker-for-desktop 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;0&amp;lt;/span&amp;gt; 2h
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;kubernetes-dashboard-669f9bbd46-xlqfj 1/1 Running &amp;lt;span style=&amp;#34;color:#ae81ff&amp;#34;&amp;gt;1&amp;lt;/span&amp;gt; 1h&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Verify that the pod is in a &amp;#39;Running&amp;#39; state. It might take some time, so be patient. To forward the port, you need to copy the name of the dashboard pod, and use it in the command:&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl port-forward &amp;amp;lt;dashboard pod name&amp;amp;gt; 8443:8443 --namespace&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;=&amp;lt;/span&amp;gt;kube-system&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;You can now open a browser, and navigate to https://localhost:8443.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Upon opening the Kubernetes Dashboard, we come to a sign in page.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;signin.webp&amp;#34; alt=&amp;#34;Sign in&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;There are ways to enable a &amp;#39;SKIP LOGIN&amp;#39; button, but it&amp;#39;s also pretty easy to get the login TOKEN, to sign in properly. A quick Google search pointed med towards a Stack Overflow &amp;lt;a href=&amp;#34;https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard&amp;#34;&amp;gt;question&amp;lt;/a&amp;gt;, providing both explanation of why, and also a handy one-liner to extract the token.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;SHELL&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-shell&amp;#34; data-lang=&amp;#34;shell&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;$ kubectl -n kube-system describe secret &amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;$(&amp;lt;/span&amp;gt;kubectl -n kube-system get secret | awk &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;/^deployment-controller-token-/{print $1}&amp;amp;#39;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;color:#66d9ef&amp;#34;&amp;gt;)&amp;lt;/span&amp;gt; | awk &amp;lt;span style=&amp;#34;color:#e6db74&amp;#34;&amp;gt;&amp;amp;#39;$1==&amp;amp;#34;token:&amp;amp;#34;{print $2}&amp;amp;#39;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;p&amp;gt;Copy the TOKEN from your terminal, paste it in the input field, and press &amp;#39;SIGN IN&amp;#39;. And et voilà! We&amp;#39;re in.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;dashboard.webp&amp;#34; alt=&amp;#34;dashboard&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;I really hope this has been useful. Good luck in your adventures with containers and Kubernetes. Now go to Naabhets blog posts, and get startet. :)&amp;lt;/p&amp;gt;</description></item><item><title>Jekyll</title><link>https://rikosjett.com/blog/jekyll/</link><guid>https://rikosjett.com/blog/jekyll/</guid><pubDate>Sat, 22 Aug 2015 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;I&amp;#39;ve had websites, in one form or another, continuously since 1996. There has been a massive change in the ecosystem, since I started coding simples sites in &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Microsoft_Notepad&amp;#34;&amp;gt;Notepad&amp;lt;/a&amp;gt;). I&amp;#39;ve been through several tools, like &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Microsoft_FrontPage&amp;#34;&amp;gt;Frontpage&amp;lt;/a&amp;gt; and &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Adobe_Dreamweaver&amp;#34;&amp;gt;Dreamweaver&amp;lt;/a&amp;gt;, and platforms like &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Drupal&amp;#34;&amp;gt;Drupal&amp;lt;/a&amp;gt;, &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Joomla&amp;#34;&amp;gt;Joomla&amp;lt;/a&amp;gt;, and of course &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/WordPress&amp;#34;&amp;gt;Wordpress&amp;lt;/a&amp;gt;. But since I have to admit that my content production has been somewhat lacking, I&amp;#39;ve felt that these solutions might be overkill, primarily driven by curiosity. By accident, I stumbled across something that got my attention; something that would take my &amp;amp;quot;content publication&amp;amp;quot; back to basics. I found &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;what-is-jekyll&amp;#34;&amp;gt;What is Jekyll?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; is a tool for generating static websites. It&amp;#39;s developed in Ruby, and uses a combination of templates, and textfiles written in &amp;lt;a href=&amp;#34;http://daringfireball.net/projects/markdown/&amp;#34;&amp;gt;Markdown&amp;lt;/a&amp;gt; for content. Using this, it generates a regular website, with pages consisting of HTML, CSS, and Javascript. These can then be hosted on any webserver, since they don&amp;#39;t require advanced features like PHP og databases like MySQL. These also makes them generally faster to load, than dynamically generated websites.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; is easy to install on your own computer, to enable you to generate the website before it&amp;#39;s uploaded to a server. But the easiest method is actually to let &amp;lt;a href=&amp;#34;https://github.com&amp;#34;&amp;gt;Github&amp;lt;/a&amp;gt; handle the hosting. If your not frightened by Git, you can let then generate the website for you on push to you repository, and host it on &amp;lt;a href=&amp;#34;https://pages.github.com/&amp;#34;&amp;gt;Github Pages&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There are of course some caveats. You loose some functionality brought by plug-ins, if they&amp;#39;re not used by Github. It can also be a bit cumbersome to commit, push, and wait for the site to re-generate, just to check som minor changes while developing your site. I would recommend installing &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; locally anyhow, if not for anything but convenience during development.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;how-hard-is-it-to-get-started&amp;#34;&amp;gt;How hard is it to get started?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;If you consider something like &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt;, I assume your technical skill level is somewhere above average. With that in mind, I wouldn&amp;#39;t say this will be too hard, if you do some reading before you start. I spent a couple of hours from start, until all content was transfered from Wordpress and my domain pointed towards Github Pages. And when your initial setup is done, the hard part ahead is creating the content.&amp;lt;/p&amp;gt;
&amp;lt;h4 id=&amp;#34;resources&amp;#34;&amp;gt;Resources&amp;lt;/h4&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html&amp;#34;&amp;gt;Blogging Like a Hacker&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.smashingmagazine.com/2014/08/build-blog-jekyll-github-pages/&amp;#34;&amp;gt;Build A Blog With Jekyll And GitHub Pages&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://jekyllrb.com/docs/home/&amp;#34;&amp;gt;Jekyll - Official site&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://paulstamatiou.com/how-to-wordpress-to-jekyll/&amp;#34;&amp;gt;How To: WordPress to Jekyll&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://alanwsmith.com/jekyll-liquid-date-formatting-examples&amp;#34;&amp;gt;Jekyll Date Formatting Examples (for norsk datostempling)&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://wptavern.com/export-your-wordpress-blog-to-jekyll-with-one-click&amp;#34;&amp;gt;Export Your WordPress Blog to Jekyll with One Click&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://blog.8thcolor.com/en/2014/05/migrate-from-wordpress/&amp;#34;&amp;gt;From Wordpress to Jekyll&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://blog.codeinside.eu/2014/09/13/How-We-Moved-From-Wordpress-To-Jekyll-On-Windows/&amp;#34;&amp;gt;How we moved from Wordpress to Jekyll - on Windows&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://jekyllthemes.org&amp;#34;&amp;gt;Jekyll Themes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;how-hard-is-it-to-use&amp;#34;&amp;gt;How hard is it to use?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;As many other publishing platforms, &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; also separates content from presentation. The big difference is that in &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt;, the content is stored in plain text-files, instead of a database like in Wordpress. You create (or download) a theme with templates, using HTML, CSS, and Javascript. In these templates you use a shortcode syntax called Liquid, to merge you content and template into a page. The content is written in text files, each per page og post. These get a header called &amp;amp;quot;Front matter&amp;amp;quot;, defining some attributes for the post or page. When building the site, &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; goes through all these, and generates the pages.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You can write your content in HTML if you want, but the better choice is using &amp;lt;a href=&amp;#34;http://daringfireball.net/projects/markdown/&amp;#34;&amp;gt;Markdown&amp;lt;/a&amp;gt;. What &amp;lt;em&amp;gt;Markdown&amp;lt;/em&amp;gt; is, could be a whole new post, but in short it&amp;#39;s created by John Gruber at &amp;lt;a href=&amp;#34;http://daringfireball.net/projects/markdown/&amp;#34;&amp;gt;Daring Fireball&amp;lt;/a&amp;gt;, as a easy alternative to HTML-syntex, for formatting text. The markdown syntax is the generated to HTML, when &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; build the site.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;A small example of Markdown&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;this-is-a-header-h2&amp;#34;&amp;gt;This is a header (H2)&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;and-this-is-a-bit-smaller-h3&amp;#34;&amp;gt;And this is a bit smaller (H3)&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;In markdown you can have &amp;lt;strong&amp;gt;bold&amp;lt;/strong&amp;gt; and &amp;lt;em&amp;gt;italic&amp;lt;/em&amp;gt; text.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You can link &amp;lt;a href=&amp;#34;https://www.example.com&amp;#34;&amp;gt;directly&amp;lt;/a&amp;gt; or using a &amp;lt;a href=&amp;#34;https://www.example.com&amp;#34;&amp;gt;footnote&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;figure class=&amp;#34;code-block&amp;#34;&amp;gt;
&amp;lt;figcaption&amp;gt;MARKDOWN&amp;lt;/figcaption&amp;gt;
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt;&amp;lt;pre tabindex=&amp;#34;0&amp;#34; style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-markdown&amp;#34; data-lang=&amp;#34;markdown&amp;#34;&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;#### A small example of Markdown
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;## This is a header (H2)
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;span style=&amp;#34;color:#75715e&amp;#34;&amp;gt;### And this is a bit smaller (H3)
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;In markdown you can have &amp;lt;span style=&amp;#34;font-weight:bold&amp;#34;&amp;gt;**bold**&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;#34;font-style:italic&amp;#34;&amp;gt;_italic_&amp;lt;/span&amp;gt; text.
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;You can link [&amp;lt;span style=&amp;#34;color:#f92672&amp;#34;&amp;gt;directly&amp;lt;/span&amp;gt;](&amp;lt;span style=&amp;#34;color:#a6e22e&amp;#34;&amp;gt;https://www.example.com&amp;lt;/span&amp;gt;) or using a [footnote][6].
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;
&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;#34;display:flex;&amp;#34;&amp;gt;&amp;lt;span&amp;gt;[6]: https://www.example.com&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/figure&amp;gt;
&amp;lt;h3 id=&amp;#34;so-whats-the-conclusion&amp;#34;&amp;gt;So what&amp;#39;s the conclusion?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;It&amp;#39;s easy to be over the moon, when you find something new and exciting. But I feel that &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; can serve my purpose going forward. For some people, a platform like Wordpress will be the best solution, but if you just want to share some toughts from time to time and don&amp;#39;t want to manage infrastructure, &amp;lt;a href=&amp;#34;https://jekyllrb.com/&amp;#34;&amp;gt;Jekyll&amp;lt;/a&amp;gt; might be what you&amp;#39;re looking for.&amp;lt;/p&amp;gt;</description></item><item><title>Are your ready for some nostalgia?</title><link>https://rikosjett.com/blog/are-you-ready-for-some-nostalgia/</link><guid>https://rikosjett.com/blog/are-you-ready-for-some-nostalgia/</guid><pubDate>Sun, 19 Apr 2015 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;Raise your hand, everyone who remembers Monkey Island, Sam &amp;amp;amp; Max - Hit the road, and Day of the Tentacle! Does it bring back memories? Would you wish to relive those old adventures again? Keep reading, because here comes a tip to bring the classics back!&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;SamMax_banner.png&amp;#34; alt=&amp;#34;Sam &amp;amp;amp; Max - Hit the road&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;In recent years, several publishers have noticed that there is a market for the good old adventure games and you can again buy them in digital form. For example, at &amp;lt;a href=&amp;#34;http://www.gog.com/&amp;#34;&amp;gt;GOG.com&amp;lt;/a&amp;gt; or on &amp;lt;a href=&amp;#34;http://store.steampowered.com/&amp;#34;&amp;gt;Steam&amp;lt;/a&amp;gt; you can, for a nice sum, get versions that work on modern machines. Some of them have also received a makeover, in nice remastered editions, including Monkey Island.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;However, if you already have the games in your collection, you can actually play them without having to buy them again. Or how about playing on, for example, your phone or tablet? Not all the games are available there in a new form. The trick is to use emulation, and the program we&amp;#39;re talking about is called &amp;lt;a href=&amp;#34;http://scummvm.org/&amp;#34;&amp;gt;ScummVM&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;what-is-scummvm&amp;#34;&amp;gt;What is ScummVM?&amp;lt;/h2&amp;gt;
&amp;lt;img src=&amp;#34;ScummVM_.png&amp;#34; alt=&amp;#34;ScummVM&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;In short, ScummVM replaces the original program file from the relevant game, so you can play it on systems it was originally never released on. The reason this works is that the old adventure games are created as script files, which are played through a game engine. It&amp;#39;s this game engine ScummVM replaces, and today ScummVM has been developed to support many such game engines.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It naturally started with LucasArts&amp;#39; SCUMM (Monkey Island 1-3, Day of the Tentacle, Sam &amp;amp;amp; Max, Indiana Jones - Fate of Atlantis, etc.), and then followed SIERRA&amp;#39;s AGI and SCI (King&amp;#39;s Quest, Space Quest, Police Quest, etc.). Today, several other game engines are also supported, and a full overview of compatible games can be found on &amp;lt;a href=&amp;#34;http://scummvm.org/&amp;#34;&amp;gt;their website&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;4-steps-to-memory-lane&amp;#34;&amp;gt;4 steps to memory lane&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Download &amp;lt;a href=&amp;#34;http://scummvm.org/downloads/&amp;#34;&amp;gt;ScummVM&amp;lt;/a&amp;gt; for the desired platform. (They support, among other things, Linux, Mac OS X, Windows, PS3, Android, and many more).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Find the original files from the game you want to play, and place them somewhere you can find them again (for example, in a nostalgia folder)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Add the game to ScummVM. If you wish, you have the opportunity to change various settings here. You can also do this later, if necessary.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Select the game from the list, and start your journey back to the past.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;img src=&amp;#34;ScummVM_rediger.png&amp;#34; alt=&amp;#34;ScummVM edit&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;h2 id=&amp;#34;is-it-worth-it&amp;#34;&amp;gt;Is it worth it?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Why use &amp;lt;a href=&amp;#34;http://scummvm.org/&amp;#34;&amp;gt;ScummVM&amp;lt;/a&amp;gt; when I can play it through &amp;lt;a href=&amp;#34;http://store.steampowered.com/&amp;#34;&amp;gt;Steam&amp;lt;/a&amp;gt; or from &amp;lt;a href=&amp;#34;http://www.gog.com/&amp;#34;&amp;gt;GOG.com&amp;lt;/a&amp;gt;, you might ask? It might be just as good if you&amp;#39;re only playing on a PC. But with ScummVM you can also bring your favorite games over to, for example, your Android tablet, and that is worth taking a look at. It doesn&amp;#39;t hurt with a little Monkey Island on the bus or train, when you&amp;#39;re out traveling.&amp;lt;/p&amp;gt;</description></item><item><title>5 steps to custom firmware on you Asus RT-N66U</title><link>https://rikosjett.com/blog/5-steps-to-custom-firmware-asus-rt-n66u/</link><guid>https://rikosjett.com/blog/5-steps-to-custom-firmware-asus-rt-n66u/</guid><pubDate>Mon, 06 Apr 2015 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;&amp;amp;quot;ASUS RT-N66U&amp;amp;quot; is well-known for its reliability and performance, and is considered one of the best consumer routers on the market. However, if you find its software a bit limited, you can easily install third-party firmware to make it even better. And if you do everything right, you&amp;#39;ll be up and running within 30 minutes.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;asus-forfra_63031e_0.jpg&amp;#34; alt=&amp;#34;ASUS RT-N66U&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;WARNING&amp;lt;/strong&amp;gt;: This post is for informational purposes only and is intended for people who know what they are doing. If the terminology seems scary or foreign at any point, I recommend finding a more comprehensive guide, or keeping the original firmware on your router. If something unexpected happens along the way, or if a user error occurs, you may have to reinstall the original firmware. In extreme cases, it could render your router unusable. Read the steps carefully before you decide to go ahead, and if you choose to follow the steps, do so at your own risk.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;h2 id=&amp;#34;5-steps-to-tomatousb&amp;#34;&amp;gt;5 steps to TomatoUSB&amp;lt;/h2&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Download the latest version of Shibby&amp;#39;s TomatoUSB (currently build5x-128-EN). &amp;amp;quot;Asus RT-N66u 64k&amp;amp;quot; is the one that works on RT-N66U, and download the file with AIO (All in one) in the name. [http://tomato.groov.pl/download/K26RT-N/]&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Clear the NVRAM on the router - hold down the WPS button and restart the router. Hold WPS for 10 seconds to clear the NVRAM.&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Boot the router in recovery mode - hold down the RESET button and restart the router. Hold RESET for 10 seconds.&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Ensure that your PC has an IP in the 192.168.1.X series. Go to 192.168.1.1 in your browser. You will then go to the web-based tool on the router.&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;Choose the file you downloaded from Shibby, and upload it. You can track the status at the bottom of your browser. Once it&amp;#39;s uploaded, you will get a message in your browser, and you will see that the router starts blinking.IMPORTANT: NOW YOU MUST WAIT FOR ABOUT 15-20 MINUTES, AND LET THE ROUTER WORK ON ITS OWN. The router takes a long time to install the firmware, and there is no way to see the progress except that the router restarts when it&amp;#39;s done. Then you can go to 192.168.1.1 again, and start setting up your new router. The username is root. The password is admin. You should change this as soon as you start setting it up, to secure your router.&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;img src=&amp;#34;TomatoUSB_Status.png&amp;#34; alt=&amp;#34;TomatoUSB Status&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;h2 id=&amp;#34;sources&amp;#34;&amp;gt;Sources:&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.shadowandy.net/2012/03/asus-rt-n66u-tomatousb-firmware-flashing-guide.htm&amp;#34;&amp;gt;http://www.shadowandy.net/2012/03/asus-rt-n66u-tomatousb-firmware-flashing-guide.htm&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://gist.github.com/joshenders/3941269&amp;#34;&amp;gt;https://gist.github.com/joshenders/3941269&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.dd-wrt.com/wiki/index.php/Asus_RT-N66U&amp;#34;&amp;gt;http://www.dd-wrt.com/wiki/index.php/Asus_RT-N66U&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;</description></item><item><title>Passwords and Internet</title><link>https://rikosjett.com/blog/passwords-and-internet-keepass-and-browsers/</link><guid>https://rikosjett.com/blog/passwords-and-internet-keepass-and-browsers/</guid><pubDate>Mon, 06 Oct 2014 00:00:00 +0200</pubDate><description>&amp;lt;p&amp;gt;Throughout a day, most of us use several online services that require some form of login. Considering that a password should be unique and difficult to crack, this can quickly become a cumbersome affair. Does it have to be this way? This is often the reason why we choose shortcuts and easy solutions, which may not provide the necessary security we should desire. This is where KeePass can help us. For assistance to start using KeePass, simply read my previous post.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;so-how-can-keepass-help-me&amp;#34;&amp;gt;So, how can KeePass help me?&amp;lt;/h2&amp;gt;
&amp;lt;img src=&amp;#34;keepass1.png&amp;#34; alt=&amp;#34;Keepass&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;Once you have opened the database in KeePass, you have access to all your stored usernames and passwords. By right-clicking on an entry, you get a menu where the top choices let you copy either username or password so you can paste them where they should go.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;An even quicker method is to choose the first text field you need to fill out before right-clicking in KeePass, and choose &amp;amp;quot;Perform Auto-Type&amp;amp;quot;. KeePass will then fill out both fields for you, with the username and password from the entry you have selected.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;integration-into-the-browser&amp;#34;&amp;gt;Integration into the browser&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you use Mozilla Firefox or Google Chrome, there is also an even easier method to get usernames and passwords to and from KeePass. With the add-on KeePassHttp, an integrated connection is created between KeePass and your browser, which also assists you in generating strong passwords when you are creating a new user somewhere.&amp;lt;/p&amp;gt;
&amp;lt;img src=&amp;#34;keepasshttp_options.png&amp;#34; alt=&amp;#34;Keepass HTTP options&amp;#34; loading=&amp;#34;lazy&amp;#34;&amp;gt;
&amp;lt;p&amp;gt;To use it, you need to download KeePassHttp[&amp;lt;a href=&amp;#34;https://raw.github.com/pfn/keepasshttp/master/KeePassHttp.plgx&amp;#34;&amp;gt;direct link&amp;lt;/a&amp;gt;] from the developer&amp;#39;s website. Here you will also find a detailed guide for setup and settings. Once KeePassHttp is downloaded, you just need to place the file in the folder where KeePass was installed, and restart KeePass. You will then get a new choice in the &amp;amp;quot;Tools&amp;amp;quot; menu called &amp;amp;quot;KeePassHttp Options&amp;amp;quot;. I recommend that you read the section &amp;amp;quot;Settings in KeePassHttp Options&amp;amp;quot; with the developer when you set it up.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;In addition to KeePassHttp, you also need to install either &amp;lt;a href=&amp;#34;https://chrome.google.com/webstore/detail/chromeipass/ompiailgknfdndiefoaoiligalphfdae&amp;#34;&amp;gt;chromeIPass&amp;lt;/a&amp;gt; for Google Chrome or &amp;lt;a href=&amp;#34;https://passifox.appspot.com/passifox.xpi&amp;#34;&amp;gt;PassIFox&amp;lt;/a&amp;gt; for Mozilla Firefox. You can read more about them on the &amp;lt;a href=&amp;#34;https://github.com/pfn/passifox/&amp;#34;&amp;gt;developer&amp;#39;s website&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;installed-what-now&amp;#34;&amp;gt;Installed, what now?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If all has gone according to plan, you no longer have any excuse to create users with weak passwords, as you can now quickly access your stored passwords in KeePass. But there are of course more possibilities with KeePass, and next time I will discuss how I handle the need for my passwords on multiple devices.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;I greatly appreciate feedback that can help me move forward, and I hope you will take the time to let me know if you have anything that can improve my posts.&amp;lt;/p&amp;gt;</description></item></channel></rss>