<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Qols on Iduoad</title>
    <link>https://www.iduoad.com/qol/</link>
    <description>Recent content in Qols on Iduoad</description>
    <generator>Hugo -- 0.155.3</generator>
    <language>en</language>
    <lastBuildDate>Tue, 14 Oct 2025 17:38:06 +0100</lastBuildDate>
    <atom:link href="https://www.iduoad.com/qol/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Manage multiple AWS SSO accounts</title>
      <link>https://www.iduoad.com/qol/manage-multiple-aws-sso-accounts/</link>
      <pubDate>Tue, 14 Oct 2025 14:01:36 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/manage-multiple-aws-sso-accounts/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You are working with multiple client. Each client manages multiple accounts using his own AWS Identity Center.&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;This can be done with a combination of &lt;code&gt;aws-sso-util&lt;/code&gt; and &lt;code&gt;mise&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;First we generate aws profiles for all the accounts/roles for both clients.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; aws-sso-util configure populate --sso-region &amp;lt;sso-region&amp;gt; -r &amp;lt;default-region&amp;gt; -u https://client1.awsapps.com/start --components &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;client1&amp;#34;&lt;/span&gt;,account_name,role_name
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; aws-sso-util configure populate --sso-region &amp;lt;sso-region&amp;gt; -r &amp;lt;default-region&amp;gt; -u https://client2.awsapps.com/start --components &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;client2&amp;#34;&lt;/span&gt;,account_name,role_name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;The profile names will be formatted &lt;code&gt;client1.&amp;lt;account_name&amp;gt;.&amp;lt;role_name&amp;gt;&lt;/code&gt; for client 1 and &lt;code&gt;client2.&amp;lt;account_name&amp;gt;.&amp;lt;role_name&amp;gt;&lt;/code&gt; for client 2.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use different Tools and Versions for different projects</title>
      <link>https://www.iduoad.com/qol/use-different-tools-and-versions/</link>
      <pubDate>Tue, 14 Oct 2025 13:55:41 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/use-different-tools-and-versions/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You are working on multiple projects and you need multiple versions and tools of each project.&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;There are multiple ways to do this. Some are stack specific and others are stack agnostic (e.g pipx, npx, asdf, cargo&amp;hellip;).&lt;/p&gt;
&lt;p&gt;My favorite tool is Mise (AKA mise-en-place). The best 2 things about mise besides speed are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mise is one stop shop for building dev envs. It includes tool version management, environment setup and task execution.&lt;/li&gt;
&lt;li&gt;Mise supports multiple backend to download and install dev tools including stack specific ones (pipx, Go, Cargo &amp;hellip;) and stack agnostic ones (aqua, asdf, ub2&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s say you have 2 projects using different versions of terraform. And each projects uses a different set of tools.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Move Fast in Filesystem</title>
      <link>https://www.iduoad.com/qol/move-fast-in-filesystem/</link>
      <pubDate>Tue, 14 Oct 2025 13:52:13 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/move-fast-in-filesystem/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You are working on many projects and you have hundreds of folders to &lt;code&gt;cd&lt;/code&gt; to. You can&amp;rsquo;t remember all the names and paths, and you are tired of long &lt;code&gt;cd&lt;/code&gt; commands.&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;zoxide&lt;/code&gt; (successor of &lt;code&gt;z&lt;/code&gt;) is a smarter &lt;code&gt;cd&lt;/code&gt; which let you jump fast in your filesystem without remembering entire paths. &lt;code&gt;zoxide&lt;/code&gt; uses shell hooks to record and scores all the directories you navigate to into a local directory DB.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Work With Multiple Git Accounts</title>
      <link>https://www.iduoad.com/qol/work-with-multiple-git-accounts/</link>
      <pubDate>Tue, 14 Oct 2025 13:24:56 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/work-with-multiple-git-accounts/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You are working with multiple teams. You are using a different GitLab/GitHub account for each team. For example:&lt;/p&gt;
&lt;p&gt;| Team 1 | &lt;a href=&#34;mailto:username@team1.com&#34;&gt;username@team1.com&lt;/a&gt; | ssh_key_1 |
| Team 2 | &lt;a href=&#34;mailto:username@team2.com&#34;&gt;username@team2.com&lt;/a&gt; | ssh_key_2 |
| Personal | &lt;a href=&#34;mailto:username@gmail.com&#34;&gt;username@gmail.com&lt;/a&gt; | ssh_key_0 |&lt;/p&gt;
&lt;p&gt;Since the SSH key is unique and cannot be used across accounts. How to manage multiple accounts without hassle?&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;This is done using Git &lt;code&gt;includeIf&lt;/code&gt;. Let&amp;rsquo;s say in addition to my personal GitLab account, I have a separate account for my Mrrakc organization with &lt;strong&gt;&lt;a href=&#34;mailto:mrrakc@gmail.com&#34;&gt;mrrakc@gmail.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Follow Up With Versions and Releases</title>
      <link>https://www.iduoad.com/qol/follow-up-with-versions-and-releases/</link>
      <pubDate>Tue, 14 Oct 2025 13:05:22 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/follow-up-with-versions-and-releases/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You are using multiple open-source tools in your projects and need to stay up to date with their releases to track new features, bug fixes, and breaking changes.&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;Use an RSS feed reader.&lt;/p&gt;
&lt;p&gt;First, for each github project you want to track create an entry in a releases file in the following format&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;https://github.com/&amp;lt;repository_namespace&amp;gt;/releases.atom
# e.g.
https://github.com/helm/charts/releases.atom
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then open the file using an RSS reader like newsboat or newsraft.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clone GitLab hierarchy of projects</title>
      <link>https://www.iduoad.com/qol/clone-gitlab-hierarchy/</link>
      <pubDate>Fri, 19 Sep 2025 23:57:51 +0100</pubDate>
      <guid>https://www.iduoad.com/qol/clone-gitlab-hierarchy/</guid>
      <description>&lt;h2 id=&#34;-what&#34;&gt;🤔 What?&lt;/h2&gt;
&lt;p&gt;You join a team with a multiple GitLab repositories spread across multiple groups and subgroups. How to clone all of them?&lt;/p&gt;
&lt;h2 id=&#34;-how&#34;&gt;🚀 How?&lt;/h2&gt;
&lt;p&gt;To do this you need to have GitLab cli (aka &lt;code&gt;glab&lt;/code&gt;), then&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;glab repo clone -group &amp;lt;your-group&amp;gt; --include-subgroups --archived=false --paginate --preserve-namespace
glab repo clone -g &amp;lt;you-group&amp;gt; -a=false --paginate -p # Short
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--include-subgroups&lt;/code&gt;: Clone projects in subgroups as well (&lt;code&gt;true&lt;/code&gt; by default).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--paginate&lt;/code&gt;: Fetch all projects pages before starting the Clone.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--preserve-namespace&lt;/code&gt;: Clone the projects into directories following the same group/project hierarchy in GitLab.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
