<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dominik Gedon</title><link>https://deploy-preview-51--gedon-org.netlify.app/</link><description>Recent content on Dominik Gedon</description><generator>Hugo</generator><language>en-us</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Wed, 01 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-51--gedon-org.netlify.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Tumbleweed with LUKS2 and Argon2</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/tumbleweed-luks2/</link><pubDate>Sun, 31 Mar 2024 16:01:47 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/tumbleweed-luks2/</guid><description>&lt;p&gt;The steps below show you how to install openSUSE Tumbleweed with &lt;a href="https://gitlab.com/cryptsetup/LUKS2-docs/blob/main/luks2_doc_wip.pdf"&gt;LUKS2&lt;/a&gt; and &lt;a href="https://datatracker.ietf.org/doc/html/rfc9106"&gt;Argon2id&lt;/a&gt; as Password-Based Key Derivation Function (PBKDF) when using &lt;a href="https://news.opensuse.org/2024/03/05/systemd-boot-integration-in-os"&gt;systemd-boot&lt;/a&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; instead of GRUB2 as bootloader.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Perform an installation with full disk encryption&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;code&gt;Guided Setup&lt;/code&gt; during partitioning the disk and use LVM
&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/tw_luks2/lvm.png" alt="Image LVM"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Change the bootloader by selecting &amp;lsquo;Booting&amp;rsquo; at the top ot the summary screen
&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/tw_luks2/confirmation.png" alt="Image summary page"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;code&gt;Systemd Boot&lt;/code&gt; as bootloader
&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/tw_luks2/systemd-boot.png" alt="Image systemd-boot"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the installation is finished, boot into the rescue system of the installation medium.
The LUKS conversion cannot be done while the device is in use.
&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/tw_luks2/rescue_1.png" alt="Image rescue system 1"&gt;
&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/tw_luks2/rescue_2.png" alt="Image rescue system 2"&gt;&lt;/p&gt;</description></item><item><title>Apple product prices over time</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/apple/</link><pubDate>Mon, 06 Nov 2023 00:00:00 +0000</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/apple/</guid><description>&lt;p&gt;The following table shows the development of Apple product prices in Germany over time&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h2 id="iphone"&gt;iPhone&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Year&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Model&lt;/th&gt;
 &lt;th style="text-align: right"&gt;Price [EUR]&lt;/th&gt;
 &lt;th style="text-align: right"&gt;Base storage [GB]&lt;/th&gt;
 &lt;th style="text-align: right"&gt;Last supported OS&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;2007&lt;/td&gt;
 &lt;td style="text-align: center"&gt;1&lt;/td&gt;
 &lt;td style="text-align: right"&gt;contract only&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 3.1.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2008&lt;/td&gt;
 &lt;td style="text-align: center"&gt;3G&lt;/td&gt;
 &lt;td style="text-align: right"&gt;contract only&lt;/td&gt;
 &lt;td style="text-align: right"&gt;8&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 4.2.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2009&lt;/td&gt;
 &lt;td style="text-align: center"&gt;3GS&lt;/td&gt;
 &lt;td style="text-align: right"&gt;519&lt;/td&gt;
 &lt;td style="text-align: right"&gt;8&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 6.1.6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2010&lt;/td&gt;
 &lt;td style="text-align: center"&gt;4&lt;/td&gt;
 &lt;td style="text-align: right"&gt;629&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 7.1.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2011&lt;/td&gt;
 &lt;td style="text-align: center"&gt;4S&lt;/td&gt;
 &lt;td style="text-align: right"&gt;629&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 9.3.6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2012&lt;/td&gt;
 &lt;td style="text-align: center"&gt;5&lt;/td&gt;
 &lt;td style="text-align: right"&gt;679&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 10.3.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2013&lt;/td&gt;
 &lt;td style="text-align: center"&gt;5S&lt;/td&gt;
 &lt;td style="text-align: right"&gt;699&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 12.5.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2014&lt;/td&gt;
 &lt;td style="text-align: center"&gt;6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;699&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 12.5.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2015&lt;/td&gt;
 &lt;td style="text-align: center"&gt;6S&lt;/td&gt;
 &lt;td style="text-align: right"&gt;739&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 15.8.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2016&lt;/td&gt;
 &lt;td style="text-align: center"&gt;7&lt;/td&gt;
 &lt;td style="text-align: right"&gt;759&lt;/td&gt;
 &lt;td style="text-align: right"&gt;32&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 15.8.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2017&lt;/td&gt;
 &lt;td style="text-align: center"&gt;8&lt;/td&gt;
 &lt;td style="text-align: right"&gt;799&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 16.7.12&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2017&lt;/td&gt;
 &lt;td style="text-align: center"&gt;X&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1149&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 16.7.12&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2018&lt;/td&gt;
 &lt;td style="text-align: center"&gt;XS&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1149&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 18.7.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2019&lt;/td&gt;
 &lt;td style="text-align: center"&gt;11&lt;/td&gt;
 &lt;td style="text-align: right"&gt;799&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;12&lt;/td&gt;
 &lt;td style="text-align: right"&gt;899&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2021&lt;/td&gt;
 &lt;td style="text-align: center"&gt;13&lt;/td&gt;
 &lt;td style="text-align: right"&gt;899&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;14&lt;/td&gt;
 &lt;td style="text-align: right"&gt;999&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2023&lt;/td&gt;
 &lt;td style="text-align: center"&gt;15&lt;/td&gt;
 &lt;td style="text-align: right"&gt;949&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2024&lt;/td&gt;
 &lt;td style="text-align: center"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;949&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;17&lt;/td&gt;
 &lt;td style="text-align: right"&gt;949&lt;/td&gt;
 &lt;td style="text-align: right"&gt;256&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2019&lt;/td&gt;
 &lt;td style="text-align: center"&gt;11 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1149&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;12 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1149&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2021&lt;/td&gt;
 &lt;td style="text-align: center"&gt;13 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1149&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;14 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1299&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2023&lt;/td&gt;
 &lt;td style="text-align: center"&gt;15 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1199&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2024&lt;/td&gt;
 &lt;td style="text-align: center"&gt;16 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1199&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;17 Pro&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1299&lt;/td&gt;
 &lt;td style="text-align: right"&gt;256&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Air&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Air&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1199&lt;/td&gt;
 &lt;td style="text-align: right"&gt;256&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Mini&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;12 mini&lt;/td&gt;
 &lt;td style="text-align: right"&gt;778&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2021&lt;/td&gt;
 &lt;td style="text-align: center"&gt;13 mini&lt;/td&gt;
 &lt;td style="text-align: right"&gt;799&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Budget&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2013&lt;/td&gt;
 &lt;td style="text-align: center"&gt;5C&lt;/td&gt;
 &lt;td style="text-align: right"&gt;599&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 10.3.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2016&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 1&lt;/td&gt;
 &lt;td style="text-align: right"&gt;489&lt;/td&gt;
 &lt;td style="text-align: right"&gt;16&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 15.8.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2018&lt;/td&gt;
 &lt;td style="text-align: center"&gt;XR&lt;/td&gt;
 &lt;td style="text-align: right"&gt;849&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;iOS 18.7.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 2&lt;/td&gt;
 &lt;td style="text-align: right"&gt;479&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 3&lt;/td&gt;
 &lt;td style="text-align: right"&gt;519&lt;/td&gt;
 &lt;td style="text-align: right"&gt;64&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2024&lt;/td&gt;
 &lt;td style="text-align: center"&gt;16e&lt;/td&gt;
 &lt;td style="text-align: right"&gt;699&lt;/td&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="watch"&gt;Watch&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Year&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Model (size)&lt;/th&gt;
 &lt;th style="text-align: right"&gt;Price [EUR]&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Requirements&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Last supported OS&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;2015&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 0 (38)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;399&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 5 (iOS 8.2)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 4.3.2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2016&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 1 (38)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;319&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 5 (iOS 10)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 6.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2016&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 2 (38)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;419&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 5 (iOS 10)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 6.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2017&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 3 (38)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;369&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 5S (iOS 11)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 8.8.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2018&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 4 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;429&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 5S (iOS 12)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 11.6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2019&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 5 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;449&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 6S (iOS 13)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 11.6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 6 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;418&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 6S (iOS 14)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2021&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 7 (41)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;479&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 6S (iOS 14)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 8 (41)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;499&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 8 (iOS 16)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2023&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 9 (41)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;499&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone XS (iOS 17)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2024&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 10 (42)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;449&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone XS (iOS 18)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Series 11 (42)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;449&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 11 (iOS 26)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Ultra&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Ultra&lt;/td&gt;
 &lt;td style="text-align: right"&gt;999&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 8 (iOS 16)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2023&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Ultra 2&lt;/td&gt;
 &lt;td style="text-align: right"&gt;999&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone XS (iOS 17)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2024&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Ultra 2&lt;/td&gt;
 &lt;td style="text-align: right"&gt;999&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone XS (iOS 17)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Ultra 3&lt;/td&gt;
 &lt;td style="text-align: right"&gt;899&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 11 (iOS 26)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;-&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Budget&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&amp;mdash;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 1 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;299&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 6S (iOS 14)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;watchOS 11.6&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2022&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 2 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;299&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 8 (iOS 16)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2025&lt;/td&gt;
 &lt;td style="text-align: center"&gt;SE 3 (40)&lt;/td&gt;
 &lt;td style="text-align: right"&gt;269&lt;/td&gt;
 &lt;td style="text-align: left"&gt;iPhone 11 (iOS 26)&lt;/td&gt;
 &lt;td style="text-align: left"&gt;current&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;From &lt;a href="https://web.archive.org/web/20230000000000*/www.apple.com/de"&gt;Apple&amp;rsquo;s website via archive.org&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Migrating to GitHub Pages</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/gh_pages/gh_pages/</link><pubDate>Sat, 06 May 2023 21:29:28 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/gh_pages/gh_pages/</guid><description>&lt;p&gt;Today I migrated this website from a manual workflow to GitHub Pages. I followed the
&lt;a href="https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site"&gt;docs&lt;/a&gt; for
adding a custom domain, which was to set proper &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;AAAA&lt;/code&gt; and &lt;code&gt;CNAME&lt;/code&gt; records for the domain I
want to use and enable GitHub pages for the repository. In the beginning GitHub had some issues
in finding the new entries and did not went past the following message:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/post/gh_pages/c_domain1.png" alt="Image Custom domain 1"&gt;&lt;/p&gt;
&lt;p&gt;The DNS records, however, were properly set to the GitHub Pages server found in the
above documentation.&lt;/p&gt;</description></item><item><title>Setting up a knowledge base</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/knowledge/</link><pubDate>Sat, 06 May 2023 21:29:28 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/knowledge/</guid><description>&lt;p&gt;The idea of &lt;a href="https://deploy-preview-51--gedon-org.netlify.app/post/gh_pages/gh_pages/"&gt;migrating my website&lt;/a&gt; from a custom workflow to GitHub Pages was born after
setting up a knowledge base I always wanted to be able to collect my knowledge in a central place.
Since I really like Hugo, I had a look if I can find a good theme that works well as a knowledge base. I came across &lt;a href="https://github.com/thegeeklab/hugo-geekdoc"&gt;Geekdoc&lt;/a&gt; that looked really promising. I created a &lt;a href="https://github.com/nodeg/prv-geekdoc.git"&gt;fork&lt;/a&gt; of it to be able to make some own adjustments and added it as a git submodule to my
main &lt;a href="https://github.com/nodeg/knowledge"&gt;GitHub repository&lt;/a&gt; for the knowledge base. This theme is heavily relying on
NodeJS, so I had to add the following to my Hugo GitHub Action &lt;a href="https://github.com/nodeg/knowledge/blob/main/.github/workflows/hugo.yaml#L53-L57"&gt;workflow&lt;/a&gt; for publishing it.&lt;/p&gt;</description></item><item><title>About me</title><link>https://deploy-preview-51--gedon-org.netlify.app/about/</link><pubDate>Thu, 17 Nov 2022 09:10:20 +0100</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/about/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PGP&lt;/strong&gt;: 4F01 C768 F1A8 DEEF 49B8 95E3 &lt;a href="https://gedon.org/0x263BF422CC90C832"&gt;263B F422 CC90 C832&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH&lt;/strong&gt;: &lt;a href="https://gedon.org/ssh"&gt;public key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Software engineer &lt;a href="https://www.suse.com"&gt;@SUSE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Part time minimalist&lt;/li&gt;
&lt;li&gt;Ergonomics lover&lt;/li&gt;
&lt;li&gt;Open source and privacy advocate&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="info"&gt;Info&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Made in Germany&lt;/li&gt;
&lt;li&gt;The code can be found on &lt;a href="https://github.com/nodeg/gedon.org"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Powered by &lt;a href="https://github.com/gohugoio/hugo"&gt;Hugo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nodeg/prv-hermit"&gt;prv-hermit&lt;/a&gt; theme originally developed by
&lt;a href="https://github.com/Track3/hermit"&gt;Track3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Impress</title><link>https://deploy-preview-51--gedon-org.netlify.app/impress/</link><pubDate>Sat, 12 Mar 2022 21:05:41 +0100</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/impress/</guid><description>&lt;h2&gt;Angaben gem&amp;auml;&amp;szlig; &amp;sect; 5 TMG&lt;/h2&gt;

&lt;figure&gt;&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/impress/address.png"
 alt="address"&gt;
&lt;/figure&gt;


&lt;h2&gt;Redaktionell verantwortlich&lt;/h2&gt;

&lt;figure&gt;&lt;img src="https://deploy-preview-51--gedon-org.netlify.app/impress/address.png"
 alt="address"&gt;
&lt;/figure&gt;


&lt;h1&gt;Datenschutz&amp;shy;erkl&amp;auml;rung&lt;/h1&gt;
&lt;h2&gt;1. Datenschutz auf einen Blick&lt;/h2&gt;
&lt;h3&gt;Allgemeine Hinweise&lt;/h3&gt; &lt;p&gt;Die folgenden Hinweise geben einen einfachen &amp;Uuml;berblick dar&amp;uuml;ber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie pers&amp;ouml;nlich identifiziert werden k&amp;ouml;nnen. Ausf&amp;uuml;hrliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgef&amp;uuml;hrten Datenschutzerkl&amp;auml;rung.&lt;/p&gt;
&lt;h3&gt;Datenerfassung auf dieser Website&lt;/h3&gt; &lt;h4&gt;Wer ist verantwortlich f&amp;uuml;r die Datenerfassung auf dieser Website?&lt;/h4&gt; &lt;p&gt;Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten k&amp;ouml;nnen Sie dem Abschnitt &amp;bdquo;Hinweis zur Verantwortlichen Stelle&amp;ldquo; in dieser Datenschutzerkl&amp;auml;rung entnehmen.&lt;/p&gt;</description></item><item><title>Moving from Thunderbird to NeoMutt</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/neomutt/</link><pubDate>Tue, 09 Jun 2020 18:16:30 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/neomutt/</guid><description>&lt;p&gt;In order to use Neomutt which is only a mail user agent, you need to install tools to fetch and send mail. I use &lt;code&gt;mbsync&lt;/code&gt; for delivering mail and &lt;code&gt;msmtp&lt;/code&gt; for sending mail.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zypper in mbsync msmtp neomutt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configuring-mbsync"&gt;Configuring mbsync&lt;/h2&gt;
&lt;p&gt;The instructions on how to setup &lt;code&gt;mbsync&lt;/code&gt; can be found in the man page (&lt;code&gt;man 1 mbsync&lt;/code&gt;) under the section &amp;ldquo;configuration&amp;rdquo;. Below you find a basic &lt;code&gt;.mbsyncrc&lt;/code&gt; configuration file which uses one email account for receiving email.&lt;/p&gt;</description></item><item><title>Moving from KeePassXC to pass</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/pass/</link><pubDate>Mon, 01 Jun 2020 19:29:30 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/pass/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;I use several plugins for &lt;code&gt;pass&lt;/code&gt; and the tool &lt;code&gt;tomb&lt;/code&gt; to be more flexible and secure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/roddhjav/pass-import"&gt;pass-import&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roddhjav/pass-update"&gt;pass-update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roddhjav/pass-audit"&gt;pass-audit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roddhjav/pass-tomb"&gt;pass-tomb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dyne/Tomb"&gt;tomb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# requisities for pass-import&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zypper in python3-setuptools
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip3 install python3-yaml pykeepass
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pass-import&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/roddhjav/pass-import/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; pass-import
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make install &lt;span class="c1"&gt;# For OSX: make install PREFIX=/usr/local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pass-update&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/roddhjav/pass-update/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; pass-update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make install &lt;span class="c1"&gt;# For OSX: make install PREFIX=/usr/local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pass-audit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/roddhjav/pass-audit/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; pass-audit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pass-tomb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/roddhjav/pass-tomb/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; pass-tomb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Tomb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://files.dyne.org/tomb/Tomb-2.7.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar xvfz Tomb-2.7.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; Tomb-2.7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="generate-gpg-key-to-open-pass"&gt;Generate GPG key to open pass&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpg --gen-full-key --expert
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt;...&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pub ed25519/0xxxxx 2020-06-09 &lt;span class="o"&gt;[&lt;/span&gt;SC&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Key &lt;span class="nv"&gt;fingerprint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uid &lt;span class="o"&gt;(&lt;/span&gt;Password Store&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Password Store&lt;span class="o"&gt;)&lt;/span&gt; &amp;lt;xxxx@xxxx.de&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sub cv25519/0xxxxx 2020-06-09 &lt;span class="o"&gt;[&lt;/span&gt;E&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="initialize-pass-and-tomb"&gt;Initialize pass and tomb&lt;/h2&gt;
&lt;p&gt;With the newly created GPG key we create a new &lt;a href="https://github.com/dyne/Tomb"&gt;tomb&lt;/a&gt; and inside this tomb a initialize the passwort store.&lt;/p&gt;</description></item><item><title>Working with npm</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/npm/</link><pubDate>Tue, 18 Feb 2020 08:29:30 +0200</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/npm/</guid><description>&lt;h2 id="installing-npm"&gt;Installing npm&lt;/h2&gt;
&lt;p&gt;Since npm is bundled with Node.js it is sufficient to install Node.js:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;zypper in nodejs14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# check versions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="updating-npm"&gt;Updating npm&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g npm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="updating-dependencies"&gt;Updating dependencies&lt;/h2&gt;
&lt;p&gt;A convenient way to update dependencies is using the tool &lt;a href="https://www.npmjs.com/package/npm-check-updates"&gt;npm-check-updates&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g npm-check-updates
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# check for updates&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ncu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# apply updates&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ncu -u
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# necessary to fetch the new dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="linking-packages"&gt;Linking packages&lt;/h2&gt;
&lt;p&gt;When building a package you usually want to test it. You can either publish it directly but when you change something you have to publish it again.
This is not an ideal process. The better way is to locally link the package and test it afterwards. This process has 2 steps:&lt;/p&gt;</description></item><item><title>Coreboot on the Lenovo T420</title><link>https://deploy-preview-51--gedon-org.netlify.app/post/coreboot-t420/</link><pubDate>Mon, 09 Dec 2019 00:00:00 +0000</pubDate><guid>https://deploy-preview-51--gedon-org.netlify.app/post/coreboot-t420/</guid><description>&lt;p&gt;Since 2014 the Lenovo T420 is replacing my broken Dell XPS M1710. The first thing I did was replacing the HDD with a 256 GB Samsung 840 SSD and installing Arch Linux on it.
In the same year I stumbled across coreboot after gathering information related to the Snowden leaks the year before. Until October 2015 there was no support for the
T420 in coreboot and the &lt;a href="https://www.coreboot.org/Board:lenovo/t420"&gt;T420 wiki&lt;/a&gt; page gave little information about the topic. Months have passed and finally in March 2017 I dealt with the subject again
and successfully flashed coreboot 4.5 on my T420, replacing the proprietary BIOS from Lenovo. The wiki page has now much more content and a guide on how to compile and build coreboot, too.&lt;/p&gt;</description></item></channel></rss>