<?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>Aleem Isiaka</title>
    <link>https://limistah.dev/</link>
    <description>Recent content on Aleem Isiaka</description>
    <image>
      <title>Aleem Isiaka</title>
      <url>https://limistah.dev/images/papermod-cover.png</url>
      <link>https://limistah.dev/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.146.0</generator>
    <language>en</language>
    <lastBuildDate>Mon, 22 Jun 2026 21:06:57 +0100</lastBuildDate>
    <atom:link href="https://limistah.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Useful Resources</title>
      <link>https://limistah.dev/links/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/links/</guid>
      <description>Content on the internet that I find interesting, might return to in the future, or useful for you!</description>
    </item>
    <item>
      <title>How I Use AI</title>
      <link>https://limistah.dev/ai/</link>
      <pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/ai/</guid>
      <description>My everyday use of Artificial Intelligence — as an engineer, as a writer, and in normal life. What I reach for. What I don&amp;#39;t.</description>
    </item>
    <item>
      <title>Software Engineering Lives On!</title>
      <link>https://limistah.dev/posts/swe-lives-on/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/swe-lives-on/</guid>
      <description>Since the public release of GPT-3, LLMs have been integrated into many kinds of knowledge work, including software engineering. With the current pace of innovation, will knowledge work become obsolete?</description>
    </item>
    <item>
      <title>Here and Now, There and Then</title>
      <link>https://limistah.dev/essays/0012-here-and-now-there-and-then/</link>
      <pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0012-here-and-now-there-and-then/</guid>
      <description>Thinking about the future consumes our motivation in the present and keeps us stuck in the past.</description>
    </item>
    <item>
      <title>Define what you want</title>
      <link>https://limistah.dev/essays/0011-define-what-you-want/</link>
      <pubDate>Sat, 27 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0011-define-what-you-want/</guid>
      <description>Looking deeper into ourselves, do we even know what we want? And if we do, are we sure we are going to get it?</description>
    </item>
    <item>
      <title>Rust - Hello World</title>
      <link>https://limistah.dev/posts/rust-hello-world/</link>
      <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/rust-hello-world/</guid>
      <description>The basic Rust program that can ever exist</description>
    </item>
    <item>
      <title>Two Pointers &amp; Prefix Sum</title>
      <link>https://limistah.dev/posts/two-pointers-and-prefix-sum/</link>
      <pubDate>Fri, 19 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/two-pointers-and-prefix-sum/</guid>
      <description>Two pointers and Prefix sum are two algorithm solving techniques. In this post, I dissect their differences from their similarities.</description>
    </item>
    <item>
      <title>Rust Installation</title>
      <link>https://limistah.dev/posts/rust-installation/</link>
      <pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/rust-installation/</guid>
      <description>Install Rust and Cargo package manager on a system</description>
    </item>
    <item>
      <title>Public Library</title>
      <link>https://limistah.dev/readings/</link>
      <pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/readings/</guid>
      <description>Public journal on studies of Books, Articles, Journals, or any general knowledge. I mostly do this in an active/passive hobby</description>
    </item>
    <item>
      <title>Raft Protocol: Part 1</title>
      <link>https://limistah.dev/posts/raft-part-1/</link>
      <pubDate>Wed, 06 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/raft-part-1/</guid>
      <description>What is Raft, what are the alternatives, and why even build Raft? How are we going to build it?</description>
    </item>
    <item>
      <title>VIM 101: Installation</title>
      <link>https://limistah.dev/posts/vim-101-0-installation/</link>
      <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/vim-101-0-installation/</guid>
      <description>This episode of the VIM series explores the different ways of setting up Vim on different environments.</description>
    </item>
    <item>
      <title>Managing Machine Configuration with Stow</title>
      <link>https://limistah.dev/posts/machine-configuration-stow/</link>
      <pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/machine-configuration-stow/</guid>
      <description>Getting Unix machine configuration synchronized across multiple devices and a faster way to switch devices while maintaining the same experience.</description>
    </item>
    <item>
      <title>Zero to One: Transitioning over the Conveyor Belt!</title>
      <link>https://limistah.dev/essays/0010-follow-the-money/</link>
      <pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0010-follow-the-money/</guid>
      <description>There are too many things to be done from a small place. Like a production line, whose final product was a tiny piece of dirt material that became valuable after going through conveyor belts!</description>
    </item>
    <item>
      <title>Follow The Money</title>
      <link>https://limistah.dev/essays/0009-follow-the-money/</link>
      <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0009-follow-the-money/</guid>
      <description>Why Skill Alone Isn’t Enough—Understanding Value Chains, Strategic Positioning, and the Real Reason Talent Gets Paid</description>
    </item>
    <item>
      <title>Merge-Sort like a Binary-Search</title>
      <link>https://limistah.dev/posts/merge-sort-binary-search/</link>
      <pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/merge-sort-binary-search/</guid>
      <description>As a divide and conquer algorithm, in this article, we look deeply into merge sort, simplifying its core concepts with a binary search algorithm.</description>
    </item>
    <item>
      <title>Work harder, but not just harder</title>
      <link>https://limistah.dev/essays/0008-if-you-retire-you-expire/</link>
      <pubDate>Tue, 05 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0008-if-you-retire-you-expire/</guid>
      <description>Reflection on choices, intentionality, and working on impactful problems.</description>
    </item>
    <item>
      <title>If you retire, you expire.</title>
      <link>https://limistah.dev/essays/0007-if-you-retire-you-expire/</link>
      <pubDate>Tue, 01 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0007-if-you-retire-you-expire/</guid>
      <description>The fine line between having a life and creating a meaningful impact</description>
    </item>
    <item>
      <title>Time in Computer Systems</title>
      <link>https://limistah.dev/posts/time-in-computer-systems/</link>
      <pubDate>Thu, 25 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/time-in-computer-systems/</guid>
      <description>Learn how time tracking is implemented from the hardware.</description>
    </item>
    <item>
      <title>Go - constant variables and const keyword</title>
      <link>https://limistah.dev/posts/go-const/</link>
      <pubDate>Sun, 12 May 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/go-const/</guid>
      <description>&lt;h2 id=&#34;brief&#34;&gt;Brief&lt;/h2&gt;
&lt;p&gt;Programming languages have the notion of constants which means &amp;ldquo;variables that can not be mutated once declared and initialized&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Go also has almost the same meaning, but in a different context. To initialize a variable as a constant with a value of 10, we can do something like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;DISCOUNT&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In Go, constants mean &amp;ldquo;storing a literal to a variable&amp;rdquo;, this can be seen as a version of pattern matching in Erlang.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running Go programs with a specific version</title>
      <link>https://limistah.dev/posts/go-run-with-a-specific-version/</link>
      <pubDate>Fri, 10 May 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/go-run-with-a-specific-version/</guid>
      <description>This post shares how you can run an old version of Go while still having your machine&amp;rsquo;s default Go - which is newer.</description>
    </item>
    <item>
      <title>Node Taint, Toleration and Affinity</title>
      <link>https://limistah.dev/posts/node-taint-toleration-affinity/</link>
      <pubDate>Sun, 11 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/node-taint-toleration-affinity/</guid>
      <description>Use node taint, toleration, and node affinity the right way</description>
    </item>
    <item>
      <title>The VIM echo command</title>
      <link>https://limistah.dev/posts/echo-in-vim/</link>
      <pubDate>Wed, 07 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/echo-in-vim/</guid>
      <description>Echoing like a PRO in VIM</description>
    </item>
    <item>
      <title>ConfigMaps in K8s</title>
      <link>https://limistah.dev/posts/config-maps-k8s/</link>
      <pubDate>Tue, 06 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/config-maps-k8s/</guid>
      <description>Creating and using config maps in Kubernetes</description>
    </item>
    <item>
      <title>Well, you wouldn&#39;t be missed!</title>
      <link>https://limistah.dev/essays/0006-well-you-wouldnt-be-missed/</link>
      <pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0006-well-you-wouldnt-be-missed/</guid>
      <description>While moving slowly can be rewarding, no one will wait for you in our fast-paced world. You need to press the pedal until the odometer is maxed out. Move faster!</description>
    </item>
    <item>
      <title>Dynamically lookup a property in deeply nested object</title>
      <link>https://limistah.dev/posts/lookup-nested-object-dot-operator/</link>
      <pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/lookup-nested-object-dot-operator/</guid>
      <description>&lt;p&gt;I was solving a challenge and got to a point where I had to implement a store that could hold arbitrarily deeply nested objects. The new me, I need to see what others have done.&lt;/p&gt;
&lt;p&gt;I found &lt;a 
  href=&#34;https://www.npmjs.com/package/dot-prop&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;dot-prop npm package&lt;/a&gt;, which solves it quite well.&lt;/p&gt;
&lt;p&gt;But going through &lt;a 
  href=&#34;https://gist.github.com/jasonrhodes/2321581&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;this gist&lt;/a&gt;, I found &lt;a 
  href=&#34;https://gist.github.com/jasonrhodes/2321581?permalink_comment_id=1813156#gistcomment-1813156&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;this answer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The author said a &amp;ldquo;functional way to solve it&amp;rdquo;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;github.com/shiftyp&#34; loading=&#34;lazy&#34; src=&#34;https://limistah.dev/assets/git_gits_permalink_comment_id_1813156.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;And this right here, is an example of &lt;a 
  href=&#34;https://limistah.dev/posts/imparative-declarative-coding/&#34;
  &gt;declarative programming&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Imparative and Declarative coding?</title>
      <link>https://limistah.dev/posts/imparative-declarative-coding/</link>
      <pubDate>Sat, 20 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/imparative-declarative-coding/</guid>
      <description>Choose to be clearity over ambiguity</description>
    </item>
    <item>
      <title>Byte Masking the ins and out</title>
      <link>https://limistah.dev/posts/byte-masking/</link>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/byte-masking/</guid>
      <description>The idea of byte masking helps us achieve abstractions from the binary concept of computers to usable technology. This post helps to solidify byte masking using operators and gives examples of why we must be aware of this concept in our everyday software engineering craft.</description>
    </item>
    <item>
      <title>Ruby - if statement?</title>
      <link>https://limistah.dev/posts/ruby-if-conditions/</link>
      <pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/ruby-if-conditions/</guid>
      <description>If statement the ruby way.</description>
    </item>
    <item>
      <title>Moving Fast But Smooth</title>
      <link>https://limistah.dev/essays/0005-moving-fast-but-smooth/</link>
      <pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0005-moving-fast-but-smooth/</guid>
      <description>A car that swifts at 220 km/h can crash in less than a second if it drifts wrongly. And a car moving at 20 km/h? A wrong drift is amendable. It is about getting home safely, then getting home fast!</description>
    </item>
    <item>
      <title>Becoming Adult-e-sense</title>
      <link>https://limistah.dev/essays/0004-becoming-adult-e-sense/</link>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0004-becoming-adult-e-sense/</guid>
      <description>As adults, with too many things to do in a day, we all suffer from conflicting interests in our limited time. Let&amp;rsquo;s explore how to integrate our daily routines with our life&amp;rsquo;s purpose.</description>
    </item>
    <item>
      <title>What do you want moving forward?</title>
      <link>https://limistah.dev/essays/0003-what-do-you-want-moving-forward/</link>
      <pubDate>Wed, 22 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0003-what-do-you-want-moving-forward/</guid>
      <description>Over time, who we are is a reflection of what we have done. Who do we want to be? We do not need to change anything from what we do; we can choose the group that we want to belong to moving forward</description>
    </item>
    <item>
      <title>What is Byte Masking and how useful is it?</title>
      <link>https://limistah.dev/posts/byte-operators/</link>
      <pubDate>Mon, 18 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/byte-operators/</guid>
      <description>&lt;p&gt;Part of the operators we get introduced to when learning to program is Bitwise Operators, examples are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Bitwise OR  &lt;code&gt;|&lt;/code&gt; (a single pipe character)&lt;/li&gt;
&lt;li&gt;The Bitwise AND &lt;code&gt;&amp;amp;&lt;/code&gt; (a single ampersand character)&lt;/li&gt;
&lt;li&gt;The Bitwise XOR &lt;code&gt;^&lt;/code&gt; (a single caret character)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of these has its usage, a refresher can be demonstrated considering these two variables &lt;code&gt;foo=1&lt;/code&gt; and &lt;code&gt;bar=0&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;for-the-bitwise-or-operator&#34;&gt;For The Bitwise OR(|) Operator&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;for-the-bitwise-and-operator&#34;&gt;For the bitwise AND(&amp;amp;) operator&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;for-the-bitwise-xor-operator&#34;&gt;For the bitwise XOR(^) operator&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This seems pretty basic until you understand it is &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating multiple copies of objects in Ruby</title>
      <link>https://limistah.dev/posts/create-multiple-copies-of-an-object-ruby/</link>
      <pubDate>Thu, 07 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/create-multiple-copies-of-an-object-ruby/</guid>
      <description>&lt;p&gt;Since everything is an object in Ruby having a functionality that can duplicate objects is not a bad idea.&lt;/p&gt;
&lt;p&gt;Ruby ships with two methods for making copies of an object: the &lt;code&gt;dup&lt;/code&gt; method and the &lt;code&gt;clone&lt;/code&gt; method.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In Ruby, all variables hold a reference to an object. In a case where a section of a code modifies an object that is not meant to be modified, it is ideal to make a copy of that object to be used in that section of the code, protecting the integrity of the copied object.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When to use puts, print, and p in Ruby</title>
      <link>https://limistah.dev/posts/when-to-use-puts-print-p-in-ruby/</link>
      <pubDate>Tue, 05 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/when-to-use-puts-print-p-in-ruby/</guid>
      <description>&lt;p&gt;Usually, programming languages have methods for printing out variables. Ruby is not an exception. We will explore the 3 popular methods for printing variables in the Ruby Programming language.&lt;/p&gt;
&lt;h3 id=&#34;the-print-method&#34;&gt;The &lt;code&gt;print&lt;/code&gt; method&lt;/h3&gt;
&lt;p&gt;The way &lt;code&gt;print(var)&lt;/code&gt; works is basically converting its value to a string by calling the &lt;code&gt;to_s&lt;/code&gt; method on the object(everything is an object in Ruby) before printing the value and returning &lt;code&gt;nil&lt;/code&gt; to its caller.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ruby&#34; data-lang=&#34;ruby&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# -&amp;gt; 123 =&amp;gt; nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;print&lt;/code&gt; method can be easily used for concatenating strings&lt;/p&gt;</description>
    </item>
    <item>
      <title>tar (child) xz Cannot exec No such file or directory</title>
      <link>https://limistah.dev/posts/tar-child-xz-cannot-exec/</link>
      <pubDate>Mon, 10 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/tar-child-xz-cannot-exec/</guid>
      <description>&lt;p&gt;The error:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;child&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: xz: Cannot exec: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Is majorly an issue with the &lt;code&gt;xz&lt;/code&gt; command not found on the host machine.&lt;/p&gt;
&lt;p&gt;To verify, run:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;whereis xz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;fix&#34;&gt;Fix&lt;/h3&gt;
&lt;p&gt;To fix, use the installation command for your Linux distribution:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install xz-utils          &lt;span class=&#34;c1&#34;&gt;# Debian / Ubuntu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo yum install xz                    &lt;span class=&#34;c1&#34;&gt;# RHEL / CentOS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo zypper in xz                      &lt;span class=&#34;c1&#34;&gt;# OpenSuSE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S xz                      &lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then &lt;code&gt;untar&lt;/code&gt; again with:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change files extension in a directory</title>
      <link>https://limistah.dev/posts/change-extension-of-files-in-a-directory/</link>
      <pubDate>Thu, 22 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/change-extension-of-files-in-a-directory/</guid>
      <description>Use Bash for loop, variable substitution, and mv to change the name of files in a directory modifying just the extension of the file</description>
    </item>
    <item>
      <title>Optimizing Merge Sort</title>
      <link>https://limistah.dev/posts/optimizing-merge-sort/</link>
      <pubDate>Tue, 20 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/optimizing-merge-sort/</guid>
      <description>&lt;p&gt;Going through Chapter 2 of &lt;a 
  href=&#34;https://clio.limistah.dev/introduction-to-algorithms&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;CLRS&lt;/a&gt;, I was introduced to the concept of divide and conquer, which is a very interesting algorithm technique, and a popular example of the divide and conquer algorithm is merge sort.&lt;/p&gt;
&lt;p&gt;Merge sort has an Θ(nlgn) run time, which is very good for large inputs. When the input is sufficiently small enough, the algorithm has a worse run time compared to a sorting algorithm that completes in Θ(n^2) time. One of the exercises is to create an optimized version of the merge sort that runs the original merge sort algorithm for sufficiently larger inputs where it shines and to run insertion sort [ Θ(n^2) ] when the input size is sufficiently small enough. I have a solution for it on my Clio website, this post walks through the process for the solution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Searching for a pattern in the man pages</title>
      <link>https://limistah.dev/posts/apropos-mandb-linux/</link>
      <pubDate>Tue, 20 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/apropos-mandb-linux/</guid>
      <description>&lt;p&gt;To search through the man pages for some keywords, use the -k option.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;man -k [keyword]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This shows a result of the commands, and routines that match the keyword with a one-line description of what they are about.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;man -k passwd&lt;/code&gt; shows all the possible entries for &lt;code&gt;passwd&lt;/code&gt; in the manual pages.&lt;/p&gt;
&lt;h4 id=&#34;the-apropos&#34;&gt;The apropos&lt;/h4&gt;
&lt;p&gt;The man -k [keyword] command is similar to a help utility called apropos which is available both on Unix and Linux. See it as a shortcut.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Know the man(nual) pages</title>
      <link>https://limistah.dev/posts/understanding-man-pages/</link>
      <pubDate>Sun, 18 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/understanding-man-pages/</guid>
      <description>&lt;p&gt;There are many ways to get help as a Linux administrator, manual pages are one of them as they are always close - accessible via the terminal.&lt;/p&gt;
&lt;p&gt;The manual pages, called &amp;ldquo;man pages&amp;rdquo; is a local documentation and description of software packages, drivers, routines, and libraries on a Linux machine.&lt;/p&gt;
&lt;p&gt;To use it run &lt;code&gt;man [command|library|routine|driver]&lt;/code&gt; and replace the command with the name of a command to find a manual.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Send message from a service worker</title>
      <link>https://limistah.dev/posts/send-message-from-service-worker-broadcastchannel/</link>
      <pubDate>Sun, 22 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/send-message-from-service-worker-broadcastchannel/</guid>
      <description>&lt;p&gt;Communication between service workers and the clients browser window can be achieved by simply doing:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;clients&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;matchAll&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;clients&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;clients&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;postMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;msg&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello from SW&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The variable &lt;code&gt;self&lt;/code&gt; is a reserved keyword in a service worker context. It references the global scope of the current worker execution scope and has some useful properties. It is like the window object of a JavaScript browser context.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;In the above snippet, all the clients that run the service worker are loaded, then the &lt;code&gt;.postMessage&lt;/code&gt; is called to send message directly to the original javascript runtime of the service worker.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Autocompile Go</title>
      <link>https://limistah.dev/posts/autocompile-go/</link>
      <pubDate>Sat, 21 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/autocompile-go/</guid>
      <description>&lt;p&gt;First, install CompileDaemon:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ go get github.com/githubnemo/CompileDaemon &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; go install github.com/githubnemo/CompileDaemon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then, from the root of the project, create a Make file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ touch Makefile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And add the below content:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-12&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-13&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-14&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-15&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-16&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-17&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-18&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-19&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-20&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-21&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-22&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-23&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-23&#34;&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-24&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-24&#34;&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-25&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-25&#34;&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-26&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-26&#34;&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-27&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-27&#34;&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-makefile&#34; data-lang=&#34;makefile&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOCMD&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;?=&lt;/span&gt; go
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOBUILD&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOCMD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOCLEAN&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOCMD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; clean
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOTEST&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOCMD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GOGET&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOCMD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; get
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BINARY_NAME&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; project_name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BINARY_UNIX&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;_unix
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;test&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOBUILD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -o ../&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -v -ldflags&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-X main.VERSION=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;TAG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOTEST&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -v ./...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;clean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOCLEAN&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	rm -f &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	rm -f &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_UNIX&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	./&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;dev&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	CompileDaemon -build&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;GOBUILD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; -o ../&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; -command&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;../&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;BINARY_NAME&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; -color&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt; -exclude-dir&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;.git -exclude&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;.#*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Finally, from the root of your project:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What to expect</title>
      <link>https://limistah.dev/essays/0002-what-to-expect/</link>
      <pubDate>Wed, 30 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0002-what-to-expect/</guid>
      <description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;One of the unique features of humans is the exceptional way we interact with each other.&lt;/p&gt;
&lt;p&gt;Sharing how we feel and what we are thinking helps others better align with us.&lt;/p&gt;
&lt;h2 id=&#34;i-am-writing-on-substack&#34;&gt;I am writing on Substack&lt;/h2&gt;
&lt;p&gt;Yeah, I needed a place that holds my progress over time and somewhere I can share relevant information with people in the tech space. I remember that my journey started with having selftaughco.de, which is dead by now, to me.aleemisiaka.com, to aleemisiaka.com, and now limistah.dev&lt;/p&gt;</description>
    </item>
    <item>
      <title>Erlang Functions</title>
      <link>https://limistah.dev/posts/erlang-functions/</link>
      <pubDate>Mon, 21 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/erlang-functions/</guid>
      <description>&lt;p&gt;When programming Erlang, you should think like you are writing an English essay. In Erlang, functions are not very different to what a traditional programming language offers, but they are written very differently in Erlang.&lt;/p&gt;
&lt;p&gt;To declare a function in the Erlang Repl, you will have to use the &lt;code&gt;fun&lt;/code&gt; keyword.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-erlang&#34; data-lang=&#34;erlang&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;Name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;fun&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;X&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;X&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The above code will store the the declaration of a function called &lt;code&gt;Name&lt;/code&gt; and would receive an argument called X.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Erlang Pattern Matching</title>
      <link>https://limistah.dev/posts/erlang-pattern-matching/</link>
      <pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/erlang-pattern-matching/</guid>
      <description>&lt;p&gt;If you come from a conventional programming language background, the way Erlang handles &lt;em&gt;assignment&lt;/em&gt; is expected to look &lt;strong&gt;wonky&lt;/strong&gt;, but it is not.&lt;/p&gt;
&lt;p&gt;There is nothing like an assignment in Erlang programming language; there is a different approach to accessing values in memory, which is the pattern-matching operations.&lt;/p&gt;
&lt;p&gt;With Java, PHP, Python, C, C++, and likes, the &lt;code&gt;=&lt;/code&gt; symbol implies &lt;em&gt;take the values from the right, and store it into the memory, then give me the reference of the location in memory and store it in the expression at the left&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Erlang Variables</title>
      <link>https://limistah.dev/posts/erlang-variables/</link>
      <pubDate>Mon, 14 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/erlang-variables/</guid>
      <description>&lt;p&gt;If you have worked with other languages like JavaScript, Java, Python etc, you would be surprised by what Erlang understands as variable.&lt;/p&gt;
&lt;p&gt;In Erlang, variables starts with uppercase letter, thus, &lt;code&gt;C&lt;/code&gt;, &lt;code&gt;X&lt;/code&gt;, &lt;code&gt;Ape&lt;/code&gt;, &lt;code&gt;Ant&lt;/code&gt; are all valid identifiers for Erlang variables.&lt;/p&gt;
&lt;p&gt;Variables can not start with lowercase letter or begin with a number.&lt;/p&gt;
&lt;p&gt;Erlang variables can include can alphanumeric characters, an underscore and @ symbol.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-erlang&#34; data-lang=&#34;erlang&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;X&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;%% Valid
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;%% Invalid
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;X&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;%% Invalid
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When &lt;em&gt;assigning&lt;/em&gt; to a variable - as we do call it in other languages, Erlang actually does something called &lt;em&gt;pattern matching&lt;/em&gt;. Comparing the values on the right to the values on the left.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSS action pseudo classes</title>
      <link>https://limistah.dev/posts/css-action-pseudo-classes/</link>
      <pubDate>Sun, 13 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/css-action-pseudo-classes/</guid>
      <description>&lt;p&gt;Without JavaScript, dynamic UI is possible with &lt;strong&gt;just&lt;/strong&gt; CSS action class selectors.&lt;/p&gt;
&lt;h3 id=&#34;case-study&#34;&gt;Case study&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Help text for input element which is only visible when the input is focused.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;the-html&#34;&gt;The HTML&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;input-cont&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;placeholder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Focus me&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;autofocus&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;span&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;help&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;data-help&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Enter your email&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;span&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To achieve the above, a &lt;code&gt;span&lt;/code&gt; holding the help text in a &lt;code&gt;data-help&lt;/code&gt; attribute as a sibling to the actual input. Both the input and the span are children to a parent div with class name &lt;code&gt;input-cont&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An introduction to Erlang</title>
      <link>https://limistah.dev/posts/an-introduction-to-erlang/</link>
      <pubDate>Sat, 12 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/an-introduction-to-erlang/</guid>
      <description>&lt;p&gt;If you have used WhatsApp or Facebook Chat, then you have one way or the other interacted with an Erlang-backed system.&lt;/p&gt;
&lt;p&gt;Erlang is a language created for the telecommunication industry by &lt;a 
  href=&#34;https://en.wikipedia.org/wiki/Joe_Armstrong_%28programmer%29&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Jor Armstrong&lt;/a&gt;, &lt;a 
  href=&#34;&#34;
  &gt;&lt;em&gt;Robert Virding,&lt;/em&gt;&lt;/a&gt; and &lt;em&gt;Mike Williams&lt;/em&gt; in 1986. It was recorded that &lt;a 
  href=&#34;https://en.wikipedia.org/wiki/Joe_Armstrong_%28programmer%29&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Jor Armstrong&lt;/a&gt; claimed he was provided a library and did not know what to do with it, then they taught him to solve the reliability and concurrent problem of the telecommunication industry, and that gave birth to Erlang.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSS counters</title>
      <link>https://limistah.dev/posts/css-counters/</link>
      <pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/css-counters/</guid>
      <description>&lt;p&gt;CSS can keep count of numbers without writing any additional JavaScript.&lt;/p&gt;
&lt;p&gt;It does this by taking note the amount of time a CSS block affects a page then incrementing the counter for that block if the &lt;code&gt;counter-increment&lt;/code&gt; rule is implemented.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;invalid&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;counter-increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;invalid-count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With no JavaScript at all, CSS understands that whenever there is an invalid element, it should increment the count for the &lt;code&gt;invalid-count&lt;/code&gt; identifier.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Structural CSS Selectors</title>
      <link>https://limistah.dev/posts/structural-css-selectors/</link>
      <pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/structural-css-selectors/</guid>
      <description>&lt;p&gt;Yeah, you read that right. Let go straight into it!&lt;/p&gt;
&lt;h2 id=&#34;a-test-case&#34;&gt;A Test Case&lt;/h2&gt;
&lt;p&gt;Can you interprete this CSS selector query?&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;first-of-type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Let me think like you would:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Select every &lt;code&gt;P&lt;/code&gt; element that has the class name of title and apply the color red to the first of its type.&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-4&#34;&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Lorem Ipsum&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Paragraph 2 (shows in red color)&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You think you’re right.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building and Shipping Useful Stuffs.</title>
      <link>https://limistah.dev/essays/0001-coming-soon/</link>
      <pubDate>Sun, 30 May 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/essays/0001-coming-soon/</guid>
      <description>Walking through life in its pristine state!</description>
    </item>
    <item>
      <title>How to enable background Audio Play in iOS React Native</title>
      <link>https://limistah.dev/posts/enable-background-audio-react-native/</link>
      <pubDate>Thu, 27 May 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/enable-background-audio-react-native/</guid>
      <description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open &lt;code&gt;ios/{APP_NAME}/Info.plist&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-4&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-5&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-6&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-7&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-8&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-9&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-10&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-11&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;plist&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;dict&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;lt;key&amp;gt;&lt;/span&gt;UIBackgroundModes&lt;span class=&#34;nt&#34;&gt;&amp;lt;/key&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nt&#34;&gt;&amp;lt;array&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nt&#34;&gt;&amp;lt;string&amp;gt;&lt;/span&gt;audio&lt;span class=&#34;nt&#34;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nt&#34;&gt;&amp;lt;/array&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;/dict&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;/plist&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Press &lt;code&gt;r&lt;/code&gt; on the metro terminal&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Voila!&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configure Rollup to bundle Axios module</title>
      <link>https://limistah.dev/posts/configure-axios-rollup/</link>
      <pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/configure-axios-rollup/</guid>
      <description>Make axios work with rollup</description>
    </item>
    <item>
      <title>How to create Application Icon (Appstore | Playstore)</title>
      <link>https://limistah.dev/posts/make-app-icon/</link>
      <pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/make-app-icon/</guid>
      <description>Easy way to make Android/iOS app icons</description>
    </item>
    <item>
      <title>Title of the post</title>
      <link>https://limistah.dev/posts/shiny-cutting-edge/</link>
      <pubDate>Sat, 15 May 2021 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/shiny-cutting-edge/</guid>
      <description>&lt;p&gt;Write Here&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dockerized Node/Nginx, MongoDB, Redis app setup</title>
      <link>https://limistah.dev/posts/docker-node-nginx-redis-mongodb/</link>
      <pubDate>Thu, 19 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/docker-node-nginx-redis-mongodb/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Docker is an app development tool that eases the process of creating, running,  and deploying applications. It uses the concept of containers which work just like a Virtual Machine does.&lt;/p&gt;
&lt;p&gt;While Docker runs more like a Virtual Machine does, it is more advantageous than a VM.&lt;/p&gt;
&lt;p&gt;It let us define OS-like images like we are writing an actual OS that includes the only tools that we need, aside this, Docker utilizes the concept of layers which makes its images very much extensible. With this little feature, developers, sysadmins and devops engineers prefer it more. And since it has been in existence, Docker has witnessed widespread usages making it one of the defacto tool for software development, testing and delivery.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SocketIO - App structure and architecture</title>
      <link>https://limistah.dev/posts/socketio-app-structure/</link>
      <pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/socketio-app-structure/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;SocketIO is a JavaScript library that makes developers&amp;rsquo; lives easier when dealing with web socket and socket programming. This is the fact that SocketIO has abstracted out all the low-level and tedious steps that are associated with setting up a socket server and client; it has made the question of programmers be &amp;ldquo;How can I structure my application.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;While I have done different types of socket implementations, I will walk us through a setup that has always work for me and has proven to be the best in cases that I have had to use SocketIO.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Asynchronous Javascript</title>
      <link>https://limistah.dev/posts/asynchronous-javascript/</link>
      <pubDate>Tue, 03 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/asynchronous-javascript/</guid>
      <description>&lt;p&gt;In computation systems, names like concurrent, sequential, parallel, serial, synchronous, asynchronous, non-blocking, shared state, message passing, and likes, stand as a forbearer for the actual task that happens in a system.&lt;/p&gt;
&lt;p&gt;While all of the above techniques have their use cases, in the world of JavaScript, asynchronous and synchronous programming never leave the tongues of its programmers.&lt;/p&gt;
&lt;p&gt;In his &lt;a 
  href=&#34;https://slikts.github.io/concurrency-glossary/?id=asynchronous-vs-synchronous-non-blocking-concurrent-vs-blocking-sequential&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;&lt;strong&gt;Concurrency glossary&lt;/strong&gt;&lt;/a&gt;, &lt;strong&gt;slikts (&lt;a 
  href=&#34;mailto:dabas@untu.ms&#34;
  &gt;dabas@untu.ms&lt;/a&gt;)&lt;/strong&gt; wrote about asynchronous, he said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Asynchrony means &amp;ldquo;not happening at the same time&amp;rdquo;, and asynchronous message passing is a communication model that does not require the sending and receiving to be synchronized, meaning that the sender isn&amp;rsquo;t blocked until the receiver is ready.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Menu system in Node Apps like WordPress Menu</title>
      <link>https://limistah.dev/posts/wordpress-like-menu-node-apps/</link>
      <pubDate>Sat, 25 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/wordpress-like-menu-node-apps/</guid>
      <description>&lt;p&gt;You might have been in this kind of trap before or currently in one, well, I just want to tell you that I know your pain.&lt;/p&gt;
&lt;p&gt;In a custom built CMS, managing of Menu and navigation in the site from the Admin Dashboard is a requirement. While it is interesting to use, it is not as interesting to build.&lt;/p&gt;
&lt;p&gt;I just walked past this process, here, I am sharing how I have conquered it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ReactJS - Unexpected closing tag</title>
      <link>https://limistah.dev/posts/react-unexpected-closing-tag/</link>
      <pubDate>Sat, 25 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/react-unexpected-closing-tag/</guid>
      <description>&lt;p&gt;Beginners in ReactJS often face this kind of error:
&lt;img alt=&#34;React JS error&#34; loading=&#34;lazy&#34; src=&#34;https://limistah.dev/assets/reactjs-tag-error.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;It is not just with inputs, it is with all HTML elements that does not expect a closing tags, they are called empty elements. A list of these tags could be found &lt;a 
  href=&#34;http://xahlee.info/js/html5_non-closing_tag.html&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To solve this very easily, we just have to follow the HTML semantics by ending all empty elements with &lt;code&gt;/&amp;gt;&lt;/code&gt; instead of &lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So inputs should look like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ReactJS - Inplace Edit component</title>
      <link>https://limistah.dev/posts/reactjs-inplace-edit-component/</link>
      <pubDate>Mon, 20 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/reactjs-inplace-edit-component/</guid>
      <description>&lt;p&gt;Last time, I was trying to render a data table and I thought that I should make some fields &lt;em&gt;editable&lt;/em&gt; right in the table listing. It is interesting to note that I never thought about any &lt;a 
  href=&#34;https://www.npmjs.com/&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;NPM&lt;/a&gt; library for it, so I went all out to create a simple but &lt;a 
  href=&#34;https://gist.github.com/limistah/b91b5429c0a4f8062b26445d12877361&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;effective solution for myself&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this post, I will demonstrate how I created an editable component. The component would be able to use different form fields and notify the parent if any change has been made. That said, Let&amp;rsquo;s move&amp;hellip;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AdonisJS - Event</title>
      <link>https://limistah.dev/posts/adonisjs-use-events/</link>
      <pubDate>Sun, 19 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/adonisjs-use-events/</guid>
      <description>&lt;p&gt;Modern application development requires that some actions are carried out when a point of the application is reached.&lt;/p&gt;
&lt;p&gt;Tasks like confirmation email, invoice generation, logging and profiling are few of things that requires to be carried out in specific regions of application flow.&lt;/p&gt;
&lt;p&gt;These actions that are triggered are called Events. Events in modern application development make code execution after a web request to the server has been completed to be possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AdonisJS - Route Model Binding</title>
      <link>https://limistah.dev/posts/adonisjs-route-model-binding/</link>
      <pubDate>Sun, 12 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/adonisjs-route-model-binding/</guid>
      <description>&lt;p&gt;&lt;a 
  href=&#34;https://adonisjs.com/&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;AdonisJS&lt;/a&gt; was built for the NodeJS Artisans taking after the concepts of &lt;a 
  href=&#34;https://laravel.com&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Laravel - The PHP framework for Artisans&lt;/a&gt;. AdonisJS did a great job porting these concepts into JavaScript, it maintains the namespace even though JavaScript does not support that, it using its own fast, easy and extendable view engine and many more, but some features of Laravel are not shipped with AdonisJS by default.&lt;/p&gt;
&lt;p&gt;The &lt;a 
  href=&#34;https://laravel.com/docs/4.2/ioc&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;IoC container in Laravel&lt;/a&gt; auto injects classes by inspection when a recognized namespace is &lt;a 
  href=&#34;https://www.php.net/manual/en/language.oop5.typehinting.php&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;&lt;em&gt;Type Hinted&lt;/em&gt;&lt;/a&gt;. This makes route model binding easier with Laravel. In JavaScript, there is little that can be done to achieve this, so, there is a need for a custom approach to this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AdonisJS - Using Validators with resource routes</title>
      <link>https://limistah.dev/posts/adonisjs-validators-with-resource-routes/</link>
      <pubDate>Fri, 10 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/adonisjs-validators-with-resource-routes/</guid>
      <description>&lt;p&gt;First, install the Validator using the &lt;code&gt;adonis&lt;/code&gt; command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adonis install @adonisjs/validtor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Create a resource route&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-1-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-1-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adonis make:controller PostController --resource
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Define the route in &lt;code&gt;start/route.js&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-2&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-2&#34;&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-2-3&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-2-3&#34;&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//..
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Route&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;posts&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PostController&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//..
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, we can make a &lt;code&gt;Validator&lt;/code&gt; for &lt;code&gt;/posts/store&lt;/code&gt;&lt;/p&gt;



&lt;div class=&#34;goat svg-container &#34;&gt;
  
    &lt;svg
      xmlns=&#34;http://www.w3.org/2000/svg&#34;
      font-family=&#34;Menlo,Lucida Console,monospace&#34;
      
        viewBox=&#34;0 0 256 25&#34;
      &gt;
      &lt;g transform=&#39;translate(8,16)&#39;&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;0&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;a&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;8&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;d&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;16&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;o&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;24&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;n&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;32&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;i&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;40&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;s&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;56&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;m&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;64&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;a&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;72&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;k&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;80&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;e&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;88&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;:&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;96&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;v&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;104&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;a&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;112&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;l&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;120&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;i&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;128&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;d&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;136&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;a&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;144&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;t&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;152&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;o&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;160&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;r&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;176&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;S&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;184&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;t&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;192&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;o&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;200&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;r&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;208&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;e&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;216&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;P&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;224&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;o&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;232&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;s&lt;/text&gt;
&lt;text text-anchor=&#39;middle&#39; x=&#39;240&#39; y=&#39;4&#39; fill=&#39;currentColor&#39; style=&#39;font-size:1em&#39;&gt;t&lt;/text&gt;
&lt;/g&gt;

    &lt;/svg&gt;
  
&lt;/div&gt;
&lt;p&gt;This will create a validator in &lt;code&gt;/app/Validators&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from WordPress to Gatsby - The Journey</title>
      <link>https://limistah.dev/posts/migrating-from-wordpress-to-gatsby/</link>
      <pubDate>Sun, 15 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/migrating-from-wordpress-to-gatsby/</guid>
      <description>&lt;p&gt;Yes, this topic is worth a post and I will walk you through why the migration was inevitable, and how I had done it.&lt;/p&gt;
&lt;p&gt;Formerly, this website used to run on WordPress, the &lt;em&gt;great&lt;/em&gt; PHP CMS. The design was made with the aid of Typography theme, I loved it!&lt;/p&gt;
&lt;p&gt;All of the post prior to this date was written using the WordPress admin dashboard. I loved the Gutenberg Editor, it was so fluid and easy to work with. Overall my experience was great.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programmer&#39;s Sexiness Quest</title>
      <link>https://limistah.dev/posts/programmer-sexiness-quest/</link>
      <pubDate>Tue, 15 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/programmer-sexiness-quest/</guid>
      <description>&lt;p&gt;Let&amp;rsquo;s be guided, we are not getting naughty here.&lt;/p&gt;
&lt;p&gt;Nevertheless, a programmer is a human, he has his feelings and emotions which is interesting. The direction he puts these uniquely human traits makes him more interesting - towards his code and software, of course.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been through a variety of programming languages, which always turned to be that the deeper I dive into a language, the more &amp;ldquo;aha&amp;rdquo; moment I get. It always feel like I have gotten what I wanted and I have to look no further in my quest to attract the priceless attention of my peers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Complete NodeJS App Setup  on an AWS Lightsail VPS</title>
      <link>https://limistah.dev/posts/nodejs-lightsail-setup/</link>
      <pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/nodejs-lightsail-setup/</guid>
      <description>&lt;p&gt;In this post, we will explore how to set up a NodeJS app on Amazon’s Lightsail instance. We will also explore setting up a CircleCI job for a NodeJS project, use Nginx as a web server, setup SSL for the server, and allow a local machine to access the remote server.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a 
  href=&#34;https://lightsail.aws.amazon.com/ls/webapp/home/instances&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;AWS Lightsail instance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a 
  href=&#34;https://console.aws.amazon.com/route53/home&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;AWS Route53 domain (not mandatory)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a 
  href=&#34;https://circleci.com/&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;CircleCI account&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github repo for the NodeJS project.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let’s begin!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clean Code – Rules For Name Crafting (Series)</title>
      <link>https://limistah.dev/posts/clean-code-series/</link>
      <pubDate>Tue, 30 Jul 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/clean-code-series/</guid>
      <description>&lt;p&gt;The very first task that we do while starting to program is naming from the creation of directory to files, to classes, to functions. Name is everywhere, we cannot escape it, and we do so much of naming, we should be fulfilled if we can do it better.&lt;/p&gt;
&lt;p&gt;Beginners do marvel at how the seniors snap out great names that fit the context to be applied. How the names are crafted seem like magic, they end up seeing themselves not so close when they see that wack name their brain could best provide.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clean Code – Brief Review</title>
      <link>https://limistah.dev/posts/clean-code-review/</link>
      <pubDate>Wed, 26 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/clean-code-review/</guid>
      <description>&lt;p&gt;Currently, I find my self reading &lt;strong&gt;&lt;a 
  href=&#34;https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Clean Code&lt;/a&gt;&lt;/strong&gt; by &lt;a 
  href=&#34;https://twitter.com/unclebobmartin?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Robert Cecil Martin&lt;/a&gt;, and just completed the first three chapters. I am taking my time to digest the genius work of Robert, and I see it as a need to share what could be understood in just the first 50 pages of the book.&lt;/p&gt;
&lt;p&gt;To &lt;strong&gt;Robert&lt;/strong&gt;, spending time to write the right code is an investment in the future maintenance time of that code. You can probably relate how a poorly written code has made you brainstorm for hours if not days before you could make that simple one-line change.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running mongod service in the background – MAC OS</title>
      <link>https://limistah.dev/posts/mac-mongodb-in-background/</link>
      <pubDate>Wed, 26 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/mac-mongodb-in-background/</guid>
      <description>&lt;p&gt;MongoDB ships with an easy &lt;code&gt;mongod&lt;/code&gt; CLI command to start its server. For Linux users, there is an added level of flexibility using the Systemd service to manage foreground and background processes. To start a MongoDB server on the boot of a Linux machine, it is as easy as registering a service with &lt;code&gt;systemd&lt;/code&gt; using:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34; id=&#34;hl-0-1&#34;&gt;&lt;a class=&#34;lnlinks&#34; href=&#34;#hl-0-1&#34;&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; mongod.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Switching from a Linux machine to Mac, and after the successful installation of MongoDB, surely, there is a need to start the command in the background while the development process continues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Frameworks - Not always the solution</title>
      <link>https://limistah.dev/posts/frameworks-not-perfect-solution/</link>
      <pubDate>Wed, 15 May 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/frameworks-not-perfect-solution/</guid>
      <description>&lt;p&gt;Beginners do believe there is a perfect structure for setting up a project, experienced programmers know this is so far from the truth. A perfect structure is only perfect for a specific project, while project requirement varies across specifications, a perfect project setup varies across projects.&lt;/p&gt;
&lt;p&gt;Looking further down project specifications, there are repeating patterns and procedures that make all the projects look like they are all doing the same thing. Create Read Update Delete (CRUD) was invented for this purpose, many applications are doing at least one of CRUD action, a tour around would reveal the truth about this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rules For Name Crafting – Part One</title>
      <link>https://limistah.dev/posts/clean-code-name-crafting-one/</link>
      <pubDate>Wed, 15 May 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/clean-code-name-crafting-one/</guid>
      <description>&lt;p&gt;This is the first of the series – &lt;a 
  href=&#34;https://limistah.dev/blog/clean-code-series&#34;
  &gt;Clean Code – Rule For Name Crafting Series&lt;/a&gt;. In this post, we will be dealing with the first three rules stated by &lt;a 
  href=&#34;https://twitter.com/unclebobmartin?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Robert&lt;/a&gt; in his &lt;strong&gt;&lt;a 
  href=&#34;https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Clean Code&lt;/a&gt;&lt;/strong&gt; book and they are: &lt;em&gt;always use intention revealing names, avoid disinformation, and make meaningful distinctions.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&#34;1-always-use-intention-revealing-names&#34;&gt;#1: Always Use Intention Revealing Names&lt;/h3&gt;
&lt;p&gt;To some profession, giving names that do not reveal what the item/object is about might be a norm, we have seen astroids named &lt;a 
  href=&#34;https://en.wikipedia.org/wiki/7_Iris&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;Iris&lt;/a&gt;, and a human named &lt;em&gt;Mars&lt;/em&gt;. Imagine that you are writing an Airport Flight Management System, what could client or customer mean generally in the app? These are names that could apply differently based on the context that they are being used.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Smart React Class function scope binding</title>
      <link>https://limistah.dev/posts/react-class-method-binding/</link>
      <pubDate>Wed, 15 May 2019 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/posts/react-class-method-binding/</guid>
      <description>&lt;p&gt;Passing down functions as event handlers down to children components is a norm in the react world. It eases the communication flow, as the saying goes &lt;em&gt;props down, functions up&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Things get a little bit tricky when using a React Classical component. Functions have to maintain their scope for proper interaction with their declared class properties. You might not be lucky sometimes, so there has been a couple of workaround for this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About Me...</title>
      <link>https://limistah.dev/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/about/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m &lt;strong&gt;Aleem Isiaka&lt;/strong&gt;, a backend and cloud engineer, solutions architect with a deep commitment to building resilient, scalable systems that drive measurable impact. With nearly a decade of experience across backend development, infrastructure, and distributed systems, I specialize in architecting solutions that merge reliability, performance, and automation with end user experience.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Aleem Isiaka&#34; loading=&#34;lazy&#34; src=&#34;https://limistah.dev/assets/aleem-isiaka.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;My work sits at the intersection of &lt;strong&gt;site reliability engineering&lt;/strong&gt;, &lt;strong&gt;cloud-native tooling&lt;/strong&gt;, and &lt;strong&gt;scalable infrastructures&lt;/strong&gt;, with hands-on contributions spanning &lt;strong&gt;Kubernetes&lt;/strong&gt;, &lt;strong&gt;observability platforms&lt;/strong&gt;, and &lt;strong&gt;infrastructure-as-code&lt;/strong&gt;. From architecting &lt;em&gt;high-throughput systems&lt;/em&gt; to &lt;em&gt;reducing latency&lt;/em&gt; and &lt;em&gt;improving uptime&lt;/em&gt;, I thrive in environments where scale and fault-tolerance are not just nice-to-haves but core requirements.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-1</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-1/</guid>
      <description>Solution to Exercise 1.1-1 Question</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-2</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-2/</guid>
      <description>Solution to Exercise 1.1-2 Question</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-3</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-3/</guid>
      <description>Solution to Exercise 1.1-3 Question</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-4</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-4/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-4/</guid>
      <description>Solution to Exercise 1.1-4 Question</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-5</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-5/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-5/</guid>
      <description>Solution to Exercise 1.1-5 Question</description>
    </item>
    <item>
      <title>Chapter One - Exercise 1.1-6</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-6/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/ex-1-1-6/</guid>
      <description>Solution to Exercise 1.1-6 Question</description>
    </item>
    <item>
      <title>Chapter One - Problem 1.1-1</title>
      <link>https://limistah.dev/introduction-to-algorithms/001-chapter-one/prbm-1-1-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/001-chapter-one/prbm-1-1-1/</guid>
      <description>Solution to Problem 1.1-1</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.1-1</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-1/</guid>
      <description>Solution to Exercise 2.1-1 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.1-2</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-2/</guid>
      <description>Solution to Exercise 2.1-2 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.1-3</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-3/</guid>
      <description>Solution to Exercise 2.1-3 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.1-4</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-4/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-4/</guid>
      <description>Solution to Exercise 2.1-4 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.1-5</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-5/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-1-5/</guid>
      <description>Solution to Exercise 2.1-5 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.2-1</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-1/</guid>
      <description>Solution to Exercise 2.2-1 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.2-2</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-2/</guid>
      <description>Solution to Exercise 2.2-2 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.2-3</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-3/</guid>
      <description>Solution to Exercise 2.2-3 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.2-4</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-4/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-2-4/</guid>
      <description>Solution to Exercise 2.2-4 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-1</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-1/</guid>
      <description>Solution to Exercise 2.3-1 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-2</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-2/</guid>
      <description>Solution to Exercise 2.3-2 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-3</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-3/</guid>
      <description>Solution to Exercise 2.3-3 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-4</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-4/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-4/</guid>
      <description>Solution to Exercise 2.3-4 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-5</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-5/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-5/</guid>
      <description>Solution to Exercise 2.3-5 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-6</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-6/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-6/</guid>
      <description>Solution to Exercise 2.3-6 Question</description>
    </item>
    <item>
      <title>Chapter Two - Exercise 2.3-7</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-7/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/ex-2-3-7/</guid>
      <description>Solution to Exercise 2.3-7 Question</description>
    </item>
    <item>
      <title>Chapter Two - Problem 2.1</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-1/</guid>
      <description>Solution to Problem 2.1</description>
    </item>
    <item>
      <title>Chapter Two - Problem 2.2</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-2/</guid>
      <description>Solution to Problem 2.2</description>
    </item>
    <item>
      <title>Chapter Two - Problem 2.3</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-3/</guid>
      <description>Solution to Problem 2.3</description>
    </item>
    <item>
      <title>Chapter Two - Problem 2.4</title>
      <link>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-4/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/introduction-to-algorithms/002-chapter-two/prbm-2-4/</guid>
      <description>Solution to Problem 2.4</description>
    </item>
    <item>
      <title>In Search of an Understandable Consensus Algorithm</title>
      <link>https://limistah.dev/journals/raft/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/journals/raft/</guid>
      <description>&lt;h3 id=&#34;general-information&#34;&gt;General Information&lt;/h3&gt;
&lt;p&gt;This is commonly referred to as the Raft Paper.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: Diego Ongaro, John Ousterhout&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paper&lt;/strong&gt;: &lt;a 
  href=&#34;https://raft.github.io/raft.pdf&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;https://raft.github.io/raft.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Implementation&lt;/strong&gt;: &lt;a 
  href=&#34;https://github.com/objectspread/go-raft&#34;
   
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;
  &gt;https://github.com/objectspread/go-raft&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction To Algorithms</title>
      <link>https://limistah.dev/books/introduction-to-algorithms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/books/introduction-to-algorithms/</guid>
      <description>This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design accessible to readers at all levels.</description>
    </item>
    <item>
      <title>Now...</title>
      <link>https://limistah.dev/now/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/now/</guid>
      <description>This page outlines where my current efforts are targeted, and my recent interests</description>
    </item>
    <item>
      <title>The C Programming Language</title>
      <link>https://limistah.dev/books/c-programming-language/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://limistah.dev/books/c-programming-language/</guid>
      <description>&lt;p&gt;C is a general-purpose programming language and is closely associated with Unix systems where it was developed. It is a machine independent language and often time called system programming language due to its usefulness in writing compilers and operating systems.&lt;/p&gt;
&lt;p&gt;C picked up ideas from BCPL developed by Martin Richards who took ideas from B developed by Ken Thompson in 1970 for the first UNIX systems using DEC PDP-7.&lt;/p&gt;
&lt;p&gt;Both B and BCPL are untyped languages, whereas C has fundamental types like characters, integers, floating-point numbers, etc., and derived data types like pointers, arrays, structures, pointers, and unions. C has expressions and operands, where any expression can be a statement.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
