<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on Zero Entropy</title>
    <link>https://ruslan.ibragimov.by/</link>
    <description>Recent content in Home on Zero Entropy</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 11 Aug 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ruslan.ibragimov.by/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Koin Puzzler</title>
      <link>https://ruslan.ibragimov.by/2024/08/11/koin-puzzler/</link>
      <pubDate>Sun, 11 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2024/08/11/koin-puzzler/</guid>
      <description>I started using Koin starting from version 2.0.1, almost five years ago. Back then, I hadn’t yet seen how it was possible to write even large Kotlin applications that would be easy to test without using something from the set: spring-context, guice, koin, kodein, etc.&#xA;At that time, to get an “isolated” Koin context instead of the default global one, you had to use the following approach:&#xA;suspend fun main() { val agentModule = module { single&amp;lt;AgentApplication&amp;gt;() // .</description>
    </item>
    <item>
      <title>About: Communication</title>
      <link>https://ruslan.ibragimov.by/2021/05/29/communication/</link>
      <pubDate>Sat, 29 May 2021 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2021/05/29/communication/</guid>
      <description>Star Trek: Discovery Season 3 ends with a tribute to Gene Roddenberry, and to his original vision for Star Trek, exemplified through the following quote:&#xA;“In a very real sense, we are all aliens on a strange planet. We spend most of our lives reaching out and trying to communicate. If during our whole lifetime, we could reach out and really communicate with just two people, we are indeed very fortunate.</description>
    </item>
    <item>
      <title>About: Trade-offs</title>
      <link>https://ruslan.ibragimov.by/2021/05/29/tradeoffs/</link>
      <pubDate>Sat, 29 May 2021 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2021/05/29/tradeoffs/</guid>
      <description>There are always trade-offs. If you&amp;rsquo;re making a decision, and can’t see where trade-offs are — you probably doing a mistake. When you’ll be able to recognize a full variety of trade-offs, you’ll become a real professional in the area.</description>
    </item>
    <item>
      <title>Clean .bash_history</title>
      <link>https://ruslan.ibragimov.by/2021/05/29/clean_bash_history/</link>
      <pubDate>Sat, 29 May 2021 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2021/05/29/clean_bash_history/</guid>
      <description>How to keep .bash_history clean, but at the same time be able to check any commands was executed ever?&#xA;Create file .bash_history_clean with list of useful commands that you usually use. In ~.bashrc add following lines: mv .bash_history &amp;#34;.bash_history_$(date +&amp;#34;%s&amp;#34;)&amp;#34; cp .bash_history_clean .bash_history </description>
    </item>
    <item>
      <title>Publish maven artifact to S3</title>
      <link>https://ruslan.ibragimov.by/2021/02/04/publish-maven-artifact-to-s3/</link>
      <pubDate>Thu, 04 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2021/02/04/publish-maven-artifact-to-s3/</guid>
      <description>Create AWS account https://aws.amazon.com/&#xA;Create AWS S3 Bucket and make it public Bucket policy&#xA;{ &amp;#34;Version&amp;#34;: &amp;#34;2012-10-17&amp;#34;, &amp;#34;Statement&amp;#34;: [ { &amp;#34;Sid&amp;#34;: &amp;#34;PublicRead&amp;#34;, &amp;#34;Effect&amp;#34;: &amp;#34;Allow&amp;#34;, &amp;#34;Principal&amp;#34;: &amp;#34;*&amp;#34;, &amp;#34;Action&amp;#34;: [ &amp;#34;s3:GetObject&amp;#34;, &amp;#34;s3:ListBucket&amp;#34; ], &amp;#34;Resource&amp;#34;: [ &amp;#34;arn:aws:s3:::bucket-name&amp;#34;, &amp;#34;arn:aws:s3:::bucket-name/*&amp;#34; ] } ] } Create AWS Credentials Create IAM Policy Create IAM Group Create IAM User AWS Credentials&#xA;AWS_ACCESS_KEY_ID: AKIAWEMDLXBHKYY2SV45 AWS_SECRET_ACCESS_KEY: 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 Setup maven-publish plugin in Gradle plugins { kotlin(&amp;#34;jvm&amp;#34;).version(&amp;#34;1.4.21&amp;#34;) `maven-publish` } group = &amp;#34;io.heapy.deploy-sample&amp;#34; version = &amp;#34;1.</description>
    </item>
    <item>
      <title>Desk Setup 2020</title>
      <link>https://ruslan.ibragimov.by/2020/11/21/desk-2020/</link>
      <pubDate>Sat, 21 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2020/11/21/desk-2020/</guid>
      <description>Standing Desk Essential part of setup. I bought just mechanism from AOKE Europe: AK2YJRT-ZF3&#xA;And order chipboard in local shop.&#xA;Walking Pad Because we&amp;rsquo;re working from home these days, my activity much lover than usually, so I decided to buy walking pad to use while working, watching or gaming. My choice is Xiaomi WalkingPad A1 – cheap, simple, up to 6 km/h walking pad.&#xA;Monitor Arm Switching from chair to desk should be relativity easy, so I split desk (140 cm) in two parts - walking and standing/seating.</description>
    </item>
    <item>
      <title>Disable .DS_Store on network shares</title>
      <link>https://ruslan.ibragimov.by/2020/11/21/disable-ds-store-on-external-drives/</link>
      <pubDate>Sat, 21 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2020/11/21/disable-ds-store-on-external-drives/</guid>
      <description>defaults write http://com.apple.desktopservices DSDontWriteNetworkStores true&#xA;Source</description>
    </item>
    <item>
      <title>Promt customization</title>
      <link>https://ruslan.ibragimov.by/2020/04/28/promt-customization/</link>
      <pubDate>Tue, 28 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2020/04/28/promt-customization/</guid>
      <description>I&amp;rsquo;ve been customizing my own prompt for a long time, and the main customizations were: adding the current time and color to the production server (Yes, I had and still have pet servers, where can I go without them). After that, I added the simplest scripts to display the current git branch and the repository status (whether there are changes or not). And here is in another times having looked in its .</description>
    </item>
    <item>
      <title>Fix code block after hugo update</title>
      <link>https://ruslan.ibragimov.by/2020/04/27/fix-code-block-after-hugo-update/</link>
      <pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2020/04/27/fix-code-block-after-hugo-update/</guid>
      <description>I update this blog from Hugo 0.55 to 0.68 and this broke how code blocks is rendering. Ugly black appears:&#xA;&amp;lt;pre style=&amp;#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&amp;#34;&amp;gt;&amp;lt;code class=&amp;#34;language-kotlin&amp;#34; data-lang=&amp;#34;kotlin&amp;#34;&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; Before it was much clear markup:&#xA;&amp;lt;pre&amp;gt;&amp;lt;code class=&amp;#34;language-kotlin&amp;#34;&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; It&amp;rsquo;s very unfortunate, that renderer adds some inline styles, because it&amp;rsquo;s hacky to override them from css. Fortunately there are option exists, that disables that behaviour:&#xA;# config.yml markup: highlight: noClasses: false It still adds class to markup, and additional div around, but hey, that&amp;rsquo;s much better, and I wonder why this is not default behaviour.</description>
    </item>
    <item>
      <title>GRUB2: Or how to spent 2 hours fixing grub after &#34;Grub Customizer&#34;</title>
      <link>https://ruslan.ibragimov.by/2020/04/27/grub2-reordering/</link>
      <pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ruslan.ibragimov.by/2020/04/27/grub2-reordering/</guid>
      <description>My main laptop runs on Fedora 30, but since the SSD is 1TB, I made a Dual Boot with Windows 10 (to periodically play with Windows and applications that run on it). There is also a second laptop at home, which my father uses periodically. And I, to optimize the space on the desktop, decided to remove the second old and slow laptop and replace it with my own. To do this, it was decided to make Windows 10 the standard menu entry in GRUB2.</description>
    </item>
  </channel>
</rss>
