<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>My Tech Blog</title><link>https://kocurkovo.cz/</link><description>Recent content on My Tech Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 29 Aug 2026 11:06:07 +0200</lastBuildDate><atom:link href="https://kocurkovo.cz/index.xml" rel="self" type="application/rss+xml"/><item><title>Arch Linux - OBS 2026 Aug bug</title><link>https://kocurkovo.cz/posts/arch-linux-obs/</link><pubDate>Sat, 29 Aug 2026 11:06:07 +0200</pubDate><guid>https://kocurkovo.cz/posts/arch-linux-obs/</guid><description>&lt;p&gt;Currently obs-studio does not start on Arch linux, it will fail with&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;obs: error &lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; loading shared libraries: libbluray.so.3: cannot open shared object file: No such file or directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;streaming with NVENC H.264 works with workaround:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ln -s /usr/lib/libbluray.so.4 /usr/lib/libbluray.so.3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;current obs-studio and libbluray versions:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mdujava $ sudo pacman -Qi libbluray&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Name : libbluray&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Version : 1.5.0-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description : Library to access Blu-Ray disks &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; video playback&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Architecture : x86_64&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;URL : https://www.videolan.org/developers/libbluray.html&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Provides : libbluray.so&lt;span style="color:#f92672"&gt;=&lt;/span&gt;4-64&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Packager : Maxime Gauduin &amp;lt;alucryd@archlinux.org&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Build Date : Sat Aug &lt;span style="color:#ae81ff"&gt;22&lt;/span&gt; 23:37:53 &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Date : Fri Aug &lt;span style="color:#ae81ff"&gt;28&lt;/span&gt; 19:27:39 &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Reason : Installed as a dependency &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; another package&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Script : No&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Validated By : Signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mdujava $ sudo pacman -Qi obs-studio&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Name : obs-studio&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Version : 32.2.2-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description : Free, open source software &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; live streaming and recording&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Architecture : x86_64&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;...&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Packager : Christian Heusel &amp;lt;gromit@archlinux.org&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Build Date : Sat Aug &lt;span style="color:#ae81ff"&gt;15&lt;/span&gt; 02:15:39 &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Date : Fri Aug &lt;span style="color:#ae81ff"&gt;28&lt;/span&gt; 19:06:49 &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Reason : Explicitly installed&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Install Script : No&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Validated By : Signature&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Git does not find commit to !fixup</title><link>https://kocurkovo.cz/posts/git-does-not-find-commit-to-fixup/</link><pubDate>Sun, 09 Aug 2026 20:10:34 +0200</pubDate><guid>https://kocurkovo.cz/posts/git-does-not-find-commit-to-fixup/</guid><description>&lt;h2 id="introduction"&gt;introduction&lt;/h2&gt;&#10;&lt;p&gt;I started to use &lt;code&gt;--fixup&lt;/code&gt; instead of doing &amp;ldquo;fixing typo&amp;rdquo; commits in my branches and with &lt;code&gt;git rebase upstream/main --autosquash&lt;/code&gt; I prepared branch for a new MR. Receantly I discovered that in one case this worflow is breaking.&lt;/p&gt;&#10;&lt;p&gt;Problem is having whitespace at the start of targeted commit message (see reproduction steps).&lt;/p&gt;&#10;&lt;p&gt;After investigating &lt;code&gt;git&lt;/code&gt; source code, there is &amp;ldquo;lstrip&amp;rdquo; right after skipping the &amp;ldquo;!fixup: &amp;quot; message so when using &lt;code&gt;hashmap_get_from_hash&lt;/code&gt; it uses striped message, hence can not find the commit.&lt;/p&gt;</description></item><item><title>Nginx SSL Config</title><link>https://kocurkovo.cz/posts/nginx-ssl-config/</link><pubDate>Sun, 07 May 2023 20:00:00 +0200</pubDate><guid>https://kocurkovo.cz/posts/nginx-ssl-config/</guid><description>&lt;h1 id="nginx-config-for-a-grade-ssl-labs-by-qualys"&gt;Nginx config for A+ grade SSL labs by Qualys&lt;/h1&gt;&#10;&lt;p&gt;Here is my to-go config for any internet facing config with grade &lt;code&gt;A+&lt;/code&gt; on &lt;a href="https://www.ssllabs.com/ssltest"&gt;Qualys ssllabs&lt;/a&gt;.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;server&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#e6db74"&gt;ssl&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#e6db74"&gt;[::]:443&lt;/span&gt; &lt;span style="color:#e6db74"&gt;ssl&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;example.com&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;http2&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_certificate&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/etc/letsencrypt/live/example.com/fullchain.pem&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_certificate_key&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/etc/letsencrypt/live/example.com/privkey.pem&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_dhparam&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/etc/letsencrypt/ssl-dhparams.pem&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# HSTS (ngx_http_headers_module is required) (2 years)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;add_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;Strict-Transport-Security&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;max-age=63072000&lt;/span&gt;; &lt;span style="color:#f92672"&gt;includeSubDomains&lt;/span&gt;; &lt;span style="color:#f92672"&gt;preload&amp;#39;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;always&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_session_cache&lt;/span&gt; &lt;span style="color:#e6db74"&gt;shared:le_nginx_SSL:10m&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_session_timeout&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1440m&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_session_tickets&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;off&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_protocols&lt;/span&gt; &lt;span style="color:#e6db74"&gt;TLSv1.2&lt;/span&gt; &lt;span style="color:#e6db74"&gt;TLSv1.3&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_prefer_server_ciphers&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_ecdh_curve&lt;/span&gt; &lt;span style="color:#e6db74"&gt;secp521r1:secp384r1&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_ciphers&lt;/span&gt; &lt;span style="color:#e6db74"&gt;EECDH+AESGCM:EECDH+AES256&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# OCSP stapling&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_stapling&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_stapling_verify&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;resolver&lt;/span&gt; 127.0.0.1; &lt;span style="color:#75715e"&gt;# or other DNS server&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;root&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/var/www/html/&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; ~ &lt;span style="color:#e6db74"&gt;/\.ht&lt;/span&gt; { &lt;span style="color:#f92672"&gt;deny&lt;/span&gt; &lt;span style="color:#e6db74"&gt;all&lt;/span&gt;; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# First attempt to serve request as file, then&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# as directory, then fall back to displaying a 404.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;try_files&lt;/span&gt; $uri $uri/ =&lt;span style="color:#ae81ff"&gt;404&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;index&lt;/span&gt; &lt;span style="color:#e6db74"&gt;index.html&lt;/span&gt; &lt;span style="color:#e6db74"&gt;index.htm&lt;/span&gt; &lt;span style="color:#e6db74"&gt;index.nginx-debian.html&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;server&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;if&lt;/span&gt; &lt;span style="color:#e6db74"&gt;(&lt;/span&gt;$host = &lt;span style="color:#e6db74"&gt;example.com)&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;return&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;301&lt;/span&gt; &lt;span style="color:#e6db74"&gt;https://&lt;/span&gt;$host$request_uri;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#e6db74"&gt;[::]:80&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;example.com&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;return&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;404&lt;/span&gt;; &lt;span style="color:#75715e"&gt;# managed by Certbot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Pass and multiple contexts</title><link>https://kocurkovo.cz/posts/pass-and-multiple-contexts/</link><pubDate>Mon, 17 Apr 2023 20:20:20 +0200</pubDate><guid>https://kocurkovo.cz/posts/pass-and-multiple-contexts/</guid><description>&lt;h2 id="work-and-personal-password-store"&gt;Work and Personal password store&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://www.passwordstore.org/"&gt;&lt;strong&gt;pass&lt;/strong&gt; the standard unix password manager&lt;/a&gt; stores passwords in one directory (default one is &lt;code&gt;~/.password-store&lt;/code&gt;). You can create another seprate store by running following command:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ PASSWORD_STORE_DIR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;$HOME/.path/to/another/store pass init pgp@key.id&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;New password stores can contain new set of gpg keys.&lt;/p&gt;&#10;&lt;p&gt;For quicker access to new store without using &lt;code&gt;(reverse-i-search)&lt;/code&gt; you can create an alias&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ alias personal_pass&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;PASSWORD_STORE_DIR=/home/username/.path/to/another/store pass&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or create a script in folder that is in your &lt;code&gt;$PATH&lt;/code&gt;&lt;br&gt;&#10;&lt;code&gt;~/.local/bin/personal_pass:&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Pass and multiple computers</title><link>https://kocurkovo.cz/posts/pass-and-multiple-computers/</link><pubDate>Mon, 17 Apr 2023 20:00:00 +0200</pubDate><guid>https://kocurkovo.cz/posts/pass-and-multiple-computers/</guid><description>&lt;h2 id="synchronization-by-git"&gt;Synchronization by git&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://www.passwordstore.org/"&gt;&lt;strong&gt;pass&lt;/strong&gt; the standard unix password manager&lt;/a&gt; can be synchronized by a git. If you don&amp;rsquo;t have store yet inicialize it. Inicialization of git is simple as well.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ pass init pgp@key.id&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ pass git init&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After this all password changes make a new commit, to update or get latest data from remote you can use following commands.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ pass git push&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ pass git pull&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>About</title><link>https://kocurkovo.cz/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kocurkovo.cz/about/</guid><description>&lt;p&gt;This is my first attept for a personal blog containg my tech findings and my usage of sw projects.&lt;/p&gt;</description></item></channel></rss>