<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bino</title><link>https://www.binovarghese.com/</link><description>Recent content on Bino</description><generator>Hugo</generator><language>en-us</language><managingEditor>binovarghese8120@gmail.com (Bino Kochumol Varghese)</managingEditor><webMaster>binovarghese8120@gmail.com (Bino Kochumol Varghese)</webMaster><lastBuildDate>Wed, 03 Jun 2026 17:31:59 +0300</lastBuildDate><atom:link href="https://www.binovarghese.com/index.xml" rel="self" type="application/rss+xml"/><item><title>നിലാപുഞ്ചിരി</title><link>https://www.binovarghese.com/ml/2026/her-smile/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/her-smile/</guid><description>&lt;p&gt;തന്നെ കൊണ്ടുപോകാൻ &lt;br&gt;
വന്ന കാലന്റെ കഴുത്തിൽ &lt;br&gt;
കയറിട്ട് മുറുക്കുമ്പോൾ&lt;br&gt;
അയാളുടെ കണ്ണുകൾ
ശാന്തമായിരുന്നു.&lt;/p&gt;
&lt;p&gt;സകല മായവുമറിയുന്ന &lt;br&gt;
കാലന്റെ പ്രാണൻ&lt;br&gt;
പിടഞ്ഞന്നേരം.&lt;/p&gt;
&lt;p&gt;തന്നെക്കുരുക്കുവാൻ തക്കകരുത്ത്&lt;br&gt;
അയാൾക്കെവിടുന്ന് കിട്ടിയെന്നോർത്ത് &lt;br&gt;
കാലനൊരുനിമിഷം നിശ്ചലനായി.&lt;/p&gt;
&lt;p&gt;സ്വയം വീണ്ടെടുത്ത കാലൻ&lt;br&gt;
നൊടിനേരം കൊണ്ട്&lt;br&gt;
അയാളുടെ കണ്ണുകളുടെ&lt;br&gt;
ആഴങ്ങളിലേക്ക് കടന്ന് ചെന്നു.&lt;/p&gt;
&lt;p&gt;അയാളുടെ കടലാഴങ്ങളിൽ &lt;br&gt;
അന്നേരം കാലൻ കണ്ടത് &lt;br&gt;
നിലാവ് പോലുള്ളൊരു &lt;br&gt;
പുഞ്ചിരിയാണ്.&lt;/p&gt;
&lt;p&gt;അയാളുടെ മകൾ,&lt;br&gt;
അവളുടെ പുഞ്ചിരി.&lt;/p&gt;
&lt;p&gt;അത് കാണുവാൻ തനിക്കിനിയും&lt;br&gt;
കഴിയാതെ വരുമെന്ന്&lt;br&gt;
തോന്നിയാൽ പ്രപഞ്ചത്തിലുള്ള&lt;br&gt;
എന്തിനോടുമയാൾ ഒറ്റക്ക് &lt;br&gt;
പടവെട്ടും.&lt;/p&gt;
&lt;p&gt;ആ തിരിച്ചറിവ്&lt;br&gt;
കാലന്റെ ചുണ്ടിലൊരു&lt;br&gt;
ചെറുപുഞ്ചിരി വിരിയിച്ചു.&lt;/p&gt;
&lt;p&gt;അയാളുടെ കുരുക്കിൽനിന്ന്&lt;br&gt;
കാലൻ മന്ത്രവിദ്യയാൽ&lt;br&gt;
മായുമ്പോൾ,&lt;br&gt;
അയാളെ കാത്ത്&lt;br&gt;
പ്രതീക്ഷയുടെ നിലാപുഞ്ചിരി&lt;br&gt;
ആ കണ്ണുകളിൽ&lt;br&gt;
പൂത്ത് നിന്നു.&lt;/p&gt;</description></item><item><title>നക്ഷത്രവും സൂര്യനും</title><link>https://www.binovarghese.com/ml/2026/star-and-sun/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/star-and-sun/</guid><description>&lt;p&gt;എൻ്റെ ജീവൻറെ വിത്തുകൾ&lt;br&gt;
നിൻ്റെയുള്ളിൽ സ്വീകരിച്ചതിന്,&lt;br&gt;
അതിന് പ്രാണനും ദേഹവും പകുത്ത് &lt;br&gt;
നൽകിയതിന്,&lt;/p&gt;
&lt;p&gt;നന്ദി.&lt;/p&gt;
&lt;p&gt;അതിന് വേണ്ടി വിരഹവും വേദനയും&lt;br&gt;
സഹിച്ചതിന്,&lt;br&gt;
ഒടുവിലാ പിഞ്ചുടൽ &lt;br&gt;
പിടഞ്ഞ് പുറത്തു വന്നപ്പോൾ&lt;br&gt;
മാറോടണച്ചതിന്,&lt;br&gt;
നിൻ്റെ ആഴമുള്ള കണ്ണുകൾക്കൊപ്പം &lt;br&gt;
നിന്നെത്തന്നെ ആ തളിരിന് കൊടുത്തതിന്,&lt;/p&gt;
&lt;p&gt;സ്നേഹം.&lt;/p&gt;
&lt;p&gt;ഇരുട്ടിലാഴ്ന്നുപോകുമായിരുന്ന എനിക്ക്,&lt;br&gt;
നിലാവും നക്ഷത്രവുമായി &lt;br&gt;
നിന്നെ തന്നതിന്,&lt;br&gt;
എൻ്റെ ജീവൻ്റെ വിത്തിൽ നിന്ന്,&lt;br&gt;
നിന്നിൽ നിന്ന്,&lt;br&gt;
സൂര്യകിരണം പോലെയൊരു&lt;br&gt;
മകളെ തന്നതിന്,&lt;/p&gt;
&lt;p&gt;ചുംബനം.&lt;/p&gt;</description></item><item><title>ആഗ്രഹസാഫല്യം</title><link>https://www.binovarghese.com/ml/2026/writing-is-easy/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/writing-is-easy/</guid><description>&lt;p&gt;എന്നെ സംബന്ധിച്ച് എഴുതുക എന്നുള്ളത് എളുപ്പമുള്ള പരിപാടിയാണ്, കാരണം കഥയും കാമ്പുമുള്ളത് എഴുതാനേ പണിയറിയേണ്ട കാര്യമുള്ളൂ.&lt;/p&gt;
&lt;p&gt;ഞാൻ ഈ എഴുതുന്നതൊന്നും അങ്ങനെയുള്ള കാര്യങ്ങൾ അല്ല. ഇതിൽ ഒന്നും തന്നെ വിശ്വസാഹിത്യത്തിൻറെ ഭാഗമാകാൻ പോകുന്നുമില്ല എന്ന് നമുക്ക് അറിയാം. അപ്പോൾ പിന്നെ നമ്മുക്കെന്തും എഴുതാം.&lt;/p&gt;
&lt;p&gt;പിന്നെ സ്വന്തമായി ഒരു വെബ്സൈറ്റ് ഉള്ളതുകൊണ്ട് എഴുതുന്നതൊക്കെയും അതിലിടാം. കാര്യം സകലമാന സോഷ്യൽ മീഡിയകളിലും വേണമെങ്കിൽ നമ്മുടെ എഴുത്തുകൾ ചാമ്പാമെങ്കിലും പക്ഷേ അതൊരു ത്രില്ലില്ല, അഥവാ സ്വാതന്ത്ര്യക്കുറവുണ്ട്.&lt;/p&gt;
&lt;p&gt;കാര്യം പലപ്പോഴും ഇൻസ്റ്റഗ്രാമിൽ ഒക്കെ എന്റെ എഴുത്തുകൾ പോസ്റ്റാറുണ്ടെങ്കിലും സത്യം പറഞ്ഞാൽ എഴുതി അവിടെയിടാൻ മടിയാണ്.&lt;/p&gt;
&lt;p&gt;പിന്നെ എവിടെയിട്ടാലും വളരെ കുറച്ചുപേരെ ഇത് വായിക്കാറുള്ളൂ. എൻറെ എഴുത്തുകൾ അത്ര മോശമായതുകൊണ്ടാണെന്ന് ഞാൻ കരുതുന്നില്ല. പക്ഷേ എഴുത്തിനു സ്ഥിരതയില്ല, സോഷ്യൽ മീഡിയകൾക്ക് സ്ഥിരത വേണം. നമ്മുക്കത് പറ്റൂല്ല ഭായി. പിന്നെ അവിടുത്തെ നിയമങ്ങളിലും, മറ്റുള്ളവരുടെ ലൈക്കിലും കമെന്റിലുന്നുമെന്റെ ഊർജ്ജം കളയാൻ വയ്യനിക്ക്.&lt;/p&gt;
&lt;p&gt;പിന്നെയിങ്ങനെ വല്ലപ്പോഴും തോന്നുന്നത് എഴുതും. എവിടെയെങ്കിലും ഇടും. ആരേലും വായിക്കും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ ഇതിൽ വിഷമമില്ലെന്ന് ചോദ്യം വരാം. ഇല്ല, കാരണം ഞാൻ എഴുതുന്നത് എനിക്ക് വേണ്ടിയാണ്. എൻറെ തന്നെ സമാധാനത്തിനും എൻറെ തന്നെ സന്തോഷത്തിനും വേണ്ടിയാണ്, സർവ്വോപരി എഴുതാനുള്ള തീവ്രമായ &lt;a href="https://www.binovarghese.com/ml/2021/mar/be-an-artist/"&gt;ആഗ്രഹസാഫല്യത്തിനാണ്&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ പറഞ്ഞുവന്നത് ഇതാണ് കഥയും കാമ്പും വേണമെന്നില്ല എന്തെങ്കിലും എഴുതാൻ. എഴുതാൻ ആകെ വേണ്ടത് എഴുതാനുള്ള മനസ്സാണ്.&lt;/p&gt;
&lt;p&gt;പിന്നെ കൊള്ളാമെങ്കിൽ ആളുകൾ ഇങ്ങനെ അവസാനം വരെ വായിക്കും. ശരിയല്ലേ?&lt;/p&gt;
&lt;p&gt;ഇത് കൊള്ളാമെങ്കിൽ വേറെ വായിക്കാൻ തരാം. ചോദിച്ചാൽ മതി. ചോദിക്കാൻ മടിയാണേൽ, &lt;a href="https://www.binovarghese.com/ml/2021/sep/mammootty-70/"&gt;മമ്മുക്ക&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/ml/2025/09/question/"&gt;പ്രണയം&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/ml/2021/mar/book-koottu/"&gt;കൂട്ട് ബുക്ക്&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/ml/2026/02/asry-beach-trip"&gt;അസ്രി ബീച്ച്&lt;/a&gt;. &lt;a href="https://www.binovarghese.com/ml/2025/10/georgia-tales-part-1/"&gt;ജോർജ്ജിയ&lt;/a&gt; ഇതിൽ ഏതേലും വായിച്ചോ.&lt;/p&gt;
&lt;p&gt;അല്ലെങ്കിൽ &amp;ldquo;മാപ്പുനൽകൂ മഹാമതേ.. മാപ്പുനൽകൂ ഗുണനിധേ&amp;hellip;&amp;rdquo; എന്ന ഗാനം നിങ്ങൾക്കായി സമർപ്പിച്ച് ഈ നാടോടി യാത്ര പറയുവാൻ ആഗ്രഹിക്കുന്നു.&lt;/p&gt;</description></item><item><title>നല്ല കലാകാരന്റെ ലക്ഷണം</title><link>https://www.binovarghese.com/ml/2026/good-artist/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/good-artist/</guid><description>&lt;p&gt;എന്താണ് ഒരു നല്ല കലാകാരന്റെ ലക്ഷണം?&lt;/p&gt;
&lt;p&gt;ഉത്തരത്തിന്മുൻപ്, ഒരു കഥ സൊല്ലട്ടുമാ?&lt;/p&gt;
&lt;p&gt;ഒരു വെള്ളിയാഴ്ച രാവിലെ ഞാൻ വണ്ടിയുമെടുത്ത് ഇറങ്ങി. ചെറിയ &lt;a href="https://www.binovarghese.com/travel"&gt;സഞ്ചാരത്തിന്&lt;/a&gt; ശേഷം ഞാൻ, സൽമാനിയായിലുള്ള വാട്ടർ ഗാർഡനിലെത്തി. അധികം ആളുകളൊന്നും ഇല്ലാത്ത ശാന്തമായ പ്രഭാതം.&lt;/p&gt;
&lt;p&gt;ഞാൻ ടിക്കറ്റ് എടുത്ത് അകത്ത് കയറി, കല്ല് പാകിയ വഴികളിലൂടെ ഞാൻ നടത്തമാരംഭിച്ചു. വലുതും ചെറുതുമായ പല മരങ്ങളും, ചെടികളും, പച്ചവിരിച്ച പുൽത്തകിടുകളും, അതിനിടയിലൂടെ നീണ്ട വളഞ്ഞ് പോകുന്ന കല്ല് പാകിയ നടവഴികളുമുള്ള വലിയൊരു പൂന്തോട്ടമാണിത്. ഒരു വശത്തു വലിയ കുളവും, മറ്റൊരു വശത്തു കുട്ടികൾക്ക് കളിക്കാൻ വിശാലമായ കളിസ്ഥലമുള്ള ഇതിനെ സുന്ദരമായി ഇവിടുത്തെ സർക്കാർ സൂക്ഷിച്ചിട്ടുണ്ട്.&lt;/p&gt;
&lt;p&gt;ചെറു നടത്തങ്ങൾക്കിടയിൽ ഭംഗി തോന്നിയതെല്ലാം ഞാനെൻറെ ഫോണിൻറെ ക്യാമറയിൽ പകർത്തിക്കൊണ്ടേയിരുന്നു. പലതവണ കണ്ട കാഴ്ചകളാണെങ്കിലും ഓർമ്മകൾക്ക് വേണ്ടി അവയെ വീണ്ടും വീണ്ടും ഞാൻ ഫോണിൽ പകർത്തി. ഫോട്ടോകളിലാണ് ഞാൻ ഓർമ്മകൾ സൂക്ഷിക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;കുറച്ചുസമയത്ത് നടത്തത്തിന് ശേഷം ഞാനൊരു പുൽത്തകിടിൽ വെറുതെ കിടന്നു. മുകളിലോട്ട് നോക്കിയപ്പോൾ തെളിഞ്ഞ ആകാശം. രാവിലെ ഇങ്ങനെ മാനം നോക്കി കിടക്കാൻ നല്ല രസമുണ്ട്. നീലവിരിച്ച് നിൽക്കുന്ന ആകാശത്തിൽ മരങ്ങളുടെ പച്ചിലകൾ പടർന്നു നിൽക്കുന്നു. ഞാൻ വീണ്ടും ക്യാമറ എടുത്തു ആകാശക്കാഴ്ചകളുടെ കുറച്ചു ചിത്രങ്ങൾ കൂടിയെടുത്തു.&lt;/p&gt;
&lt;p&gt;എടുത്തതിൽ ഒരെണ്ണം &lt;a href="https://www.instagram.com/jinzmoments/"&gt;ജിനോയ്ക്കു&lt;/a&gt; വെറുതെ അയച്ചുകൊടുത്തു. താഴെ കാണുന്നതാണ് അയച്ചത്:&lt;/p&gt;
&lt;figure&gt;
 
 
 
 

 






 
 
 

 
 
 

 
 
 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/good-artist/1_hu_24e5090457f66a26.webp 400w,
 /img/ml/2026/good-artist/1_hu_b410d2e2aff96a36.webp 700w,
 /img/ml/2026/good-artist/1_hu_c58bd7773a749846.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/good-artist/1_hu_f7d930f3b45c1005.jpeg"
 srcset="
 /img/ml/2026/good-artist/1_hu_f7d930f3b45c1005.jpeg 400w,
 /img/ml/2026/good-artist/1_hu_fd102d48e216203f.jpeg 700w,
 /img/ml/2026/good-artist/1_hu_c9ea6a8d1590043d.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="400"
 height="533"
 class="img-fluid rounded mb-2"
 alt=""
 &gt;

&lt;/picture&gt;




 &lt;figcaption&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;കുറച്ചു കഴിഞ്ഞപ്പോൾ അവന്റെ റിപ്ലൈ വന്നു. എടുത്ത് നോക്കിയപ്പോൾ ഞാൻ അയച്ച ഫോട്ടോയിൽ ഒരു ഭാഗം ഫ്രെയിം പോലെ വരച്ച് അവൻ തിരിച്ചയിച്ചിരിക്കുന്നു.&lt;/p&gt;
&lt;figure&gt;
 
 
 
 

 






 
 
 

 
 
 

 
 
 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/good-artist/2_hu_83fe86b0042c156.webp 400w,
 /img/ml/2026/good-artist/2_hu_27abafde044dc72c.webp 700w,
 /img/ml/2026/good-artist/2_hu_86ad14e5c615bc3e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/good-artist/2_hu_3fb946b7bf7053e9.jpeg"
 srcset="
 /img/ml/2026/good-artist/2_hu_3fb946b7bf7053e9.jpeg 400w,
 /img/ml/2026/good-artist/2_hu_d6fb1ff4c4eef988.jpeg 700w,
 /img/ml/2026/good-artist/2_hu_31651cde9b1078a0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="400"
 height="533"
 class="img-fluid rounded mb-2"
 alt=""
 &gt;

&lt;/picture&gt;




 &lt;figcaption&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;അവൻ പറഞ്ഞ ഭാഗം മാത്രം ഞാൻ സൂം ചെയ്ത് ഒന്നുകൂടെ എടുത്തു. എടുത്ത ഫോട്ടോ കണ്ടപ്പോൾ അതുതന്നെ അത്ഭുതപ്പെടുത്തി. ആ ഫോട്ടോയ്ക്ക് പുതിയൊരു ജീവൻ വന്നിരിക്കുന്നു.&lt;/p&gt;
&lt;figure&gt;
 
 
 
 

 






 
 
 

 
 
 

 
 
 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/good-artist/3_hu_39813b0b1fc0b404.webp 400w,
 /img/ml/2026/good-artist/3_hu_b1c68b80d35147a5.webp 700w,
 /img/ml/2026/good-artist/3_hu_2e844149b4476a9a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/good-artist/3_hu_6eb25b6f2e0c186d.jpg"
 srcset="
 /img/ml/2026/good-artist/3_hu_6eb25b6f2e0c186d.jpg 400w,
 /img/ml/2026/good-artist/3_hu_6d57a9883a110a15.jpg 700w,
 /img/ml/2026/good-artist/3_hu_64974e00778c8c56.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="400"
 height="533"
 class="img-fluid rounded mb-2"
 alt=""
 &gt;

&lt;/picture&gt;




 &lt;figcaption&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ഞാനത് അവന് അയച്ചുകൊടുത്തു. അത് അവൻ അന്നേരം തന്നെ എഡിറ്റ് ചെയ്ത് തിരിച്ചയച്ചു. അതിൽ വെളിച്ചം വന്നിരിക്കുന്നു. ആ ചിത്രം അപ്പോൾ പൂർണ്ണമായതുപോലെ തോന്നിയെനിക്ക്.&lt;/p&gt;
&lt;figure&gt;
 
 
 
 

 






 
 
 

 
 
 

 
 
 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/good-artist/4_hu_93db06699ade1b2c.webp 400w,
 /img/ml/2026/good-artist/4_hu_322e66df6a45ee40.webp 700w,
 /img/ml/2026/good-artist/4_hu_5d91a6506e07f013.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/good-artist/4_hu_c6800c3a717257fe.jpg"
 srcset="
 /img/ml/2026/good-artist/4_hu_c6800c3a717257fe.jpg 400w,
 /img/ml/2026/good-artist/4_hu_43d29b7392cc1e0b.jpg 700w,
 /img/ml/2026/good-artist/4_hu_722e9c0fce2bf40.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="400"
 height="533"
 class="img-fluid rounded mb-2"
 alt=""
 &gt;

&lt;/picture&gt;




 &lt;figcaption&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;അപ്പോൾ കഥയിലെ കാര്യത്തിലേക്ക് വരാം.&lt;/p&gt;
&lt;p&gt;എന്താണ് ഒരു നല്ല കലാകാരന്റെ ലക്ഷണം ?&lt;/p&gt;
&lt;p&gt;മറ്റുള്ളവർക്ക് സാധാരണമെന്ന് തോന്നുന്ന പലതിൽ നിന്നും മനോഹരമായ കാര്യങ്ങൾ സൃഷ്ടിക്കാൻ കഴിയുന്നതാണ് ഒരു നല്ല കലാകാരന്റെ ലക്ഷണം.&lt;/p&gt;</description></item><item><title>Information Abundance</title><link>https://www.binovarghese.com/drawer/2026/information-abundance/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2026/information-abundance/</guid><description>&lt;p&gt;In an age of artificial intelligence and endless information, everything sits at our fingertips. We can access almost anything, from anywhere, at any time.&lt;/p&gt;
&lt;p&gt;But the real challenge is not access; it is direction.&lt;/p&gt;
&lt;p&gt;What matters now is not what you can find, but the questions you are going to ask. Questions such as: What are you trying to achieve? How do you identify problems worth solving? How do you ask questions that lead somewhere meaningful? Ultimately, the quality of your questions determines the path you walk.&lt;/p&gt;
&lt;p&gt;I believe that in this era of abundance of information, the true skill is not knowing more. It is learning how to ask better questions.&lt;/p&gt;</description></item><item><title>യുദ്ധമുഖം</title><link>https://www.binovarghese.com/ml/2026/war-face/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/war-face/</guid><description>&lt;p&gt;യുദ്ധമുഖത്താണ് നാം.&lt;/p&gt;
&lt;p&gt;തെളിഞ്ഞ പ്രഭാതങ്ങളും &lt;br&gt;
തണുത്ത വൈകുന്നേരങ്ങളും &lt;br&gt;
ഭീതിയുടെ നിഴലിലാണ്.&lt;/p&gt;
&lt;p&gt;കിളികളുടെ ചിറകടിയൊച്ചകളും&lt;br&gt;
കതകടശബ്ദങ്ങളും ഭയത്തിന്റെ&lt;br&gt;
കതിനകൾ പൊട്ടിക്കുന്നുള്ളിൽ.&lt;/p&gt;
&lt;p&gt;കറുത്ത പുകയും തകർന്ന&lt;br&gt;
കെട്ടിടങ്ങളും, ചിന്തിയ ചോരയും &lt;br&gt;
കാഴ്ചകളെ മരവിപ്പിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;തലക്ക് മുകളിൽ തീമഴ&lt;br&gt;
പെയ്യുന്നോയെന്ന് പരതിയാണ് &lt;br&gt;
നാം നടക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;ഇനി നാം പരസ്പരമെന്ന്&lt;br&gt;
കാണുമെന്നുള്ള ചിന്തയും,&lt;br&gt;
ഭയത്തിന്റെ സൈറണുകളും&lt;br&gt;
ഉറക്കത്തെ കൊന്നു കളയുന്നു.&lt;/p&gt;
&lt;p&gt;മരണം മുകളിൽ മുരണ്ടു&lt;br&gt;
പറക്കുമ്പോഴും മരണത്തെ&lt;br&gt;
മറയാനുള്ള ഓട്ടത്തിലാണ്&lt;br&gt;
നാം.&lt;/p&gt;
&lt;p&gt;യുദ്ധമുഖത്താണ് നമ്മൾ.&lt;/p&gt;</description></item><item><title>ജീവനീർ</title><link>https://www.binovarghese.com/ml-musings/2026/to-all-ladies/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/to-all-ladies/</guid><description>&lt;p&gt;ഓരോ ചാന്ദ്രമാസവും&lt;br&gt;
സ്ത്രീകളർപ്പിച്ച&lt;br&gt;
ചുവന്ന ജീവനീർകൊണ്ടാണ്&lt;br&gt;
ഭൂമിയിങ്ങനെ ജീവന്റെ&lt;br&gt;
നീല നീലാവെളിച്ചത്തിൽ&lt;br&gt;
പൂത്ത് നിൽക്കുന്നത്.&lt;/p&gt;</description></item><item><title>നാടോടിയും ചുംബനവും</title><link>https://www.binovarghese.com/ml-musings/2026/wanderer-and-the-kiss/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/wanderer-and-the-kiss/</guid><description>&lt;p&gt;കാടും മലയും ആകാശവും&lt;br&gt;
വൻകരകളും മഹാസമുദ്രങ്ങളും&lt;br&gt;
വീണ്ടും വീണ്ടും കണ്ടാൽ&lt;br&gt;
തനിക്ക് മടുക്കില്ലേന്ന് ചോദിച്ചവരോട് &lt;br&gt;
നാടോടിയുടെ മറുചോദ്യമിതായിരുന്നു,&lt;/p&gt;
&lt;p&gt;ഏറ്റവും പ്രിയപ്പെട്ടവളുടെ&lt;br&gt;
എത്രാമത്തെ ചുംബനമാണ്&lt;br&gt;
നിങ്ങൾക്ക് മടുത്ത് തുടങ്ങുന്നത് ?!&lt;/p&gt;</description></item><item><title>ചങ്ങലകൾ</title><link>https://www.binovarghese.com/ml-musings/2026/chains/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/chains/</guid><description>&lt;p&gt;നഷ്ടപ്പെട്ടതെല്ലാം&lt;br&gt;
മടങ്ങി വരണമെന്ന്&lt;br&gt;
നിങ്ങൾ ആഗ്രഹിക്കരുത്.&lt;/p&gt;
&lt;p&gt;ചിലതൊക്കെ ചങ്ങലകൾ&lt;br&gt;
മാത്രമാണ്.&lt;/p&gt;</description></item><item><title>യുദ്ധത്തിൻ്റെ നടുവിൽ</title><link>https://www.binovarghese.com/ml/2026/war/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/war/</guid><description>&lt;p&gt;ഞങ്ങൾ യുദ്ധത്തിൻ്റെ&lt;br&gt;
നടുവിലാണ്,&lt;br&gt;
ഞങ്ങൾ ആരംഭിക്കാത്ത &lt;br&gt;
ഞങ്ങൾക്ക് വേണ്ടാത്ത&lt;br&gt;
യുദ്ധത്തിൻ്റെ നടുവിൽ.&lt;/p&gt;
&lt;p&gt;പറവകളുടെ പാട്ടുകളും &lt;br&gt;
നക്ഷത്രങ്ങളുടെ നിലാവുമില്ലാതെ&lt;br&gt;
ഞങ്ങളുടെ ആകാശത്ത്&lt;br&gt;
അശാന്തി മുരളുന്നു.&lt;/p&gt;
&lt;p&gt;ഞങ്ങളുടെ സ്വപ്നങ്ങളും &lt;br&gt;
സന്ധ്യകളും ചുട്ടെരിച്ചിട്ട്, &lt;br&gt;
ഞങ്ങളുടെ പ്രാണനും &lt;br&gt;
പ്രണയവും ഇല്ലാതാക്കിയിട്ട്,&lt;/p&gt;
&lt;p&gt;ആരോടാണ് നിങ്ങളീ &lt;br&gt;
പ്രാന്ത് കാണിക്കുന്നത്?&lt;br&gt;
ആരോടാണ് നിങ്ങളീ &lt;br&gt;
പക പോക്കുന്നത്?&lt;/p&gt;
&lt;p&gt;ഞങ്ങളുടെ വീടുകൾ &lt;br&gt;
വിസ്‌മൃതിയിലാക്കിയിട്ട്, &lt;br&gt;
ഞങ്ങളുടെ മനുഷ്യരെ &lt;br&gt;
മരണത്തിന് കൊടുത്തിട്ട്, &lt;br&gt;
ഞങ്ങളുടെ കുട്ടികളെ &lt;br&gt;
കൊന്നിട്ട്,&lt;/p&gt;
&lt;p&gt;ആരോടാണ് നിങ്ങൾ&lt;br&gt;
യുദ്ധം ചെയ്യുന്നത്?&lt;br&gt;
ആർക്ക് വേണ്ടിയാണ്&lt;br&gt;
നിങ്ങൾ യുദ്ധം ചെയ്യുന്നത്?&lt;/p&gt;
&lt;p&gt;നിങ്ങൾക്കും നിങ്ങളുടെ&lt;br&gt;
മനുഷ്യർക്കും വേണ്ടിയാണ്&lt;br&gt;
ഈ യുദ്ധമെന്ന് പറയരുത്.&lt;/p&gt;
&lt;p&gt;മനുഷ്യർക്ക് വേണ്ടിയാരും&lt;br&gt;
ഇന്നോളം മനുഷ്യരോട്&lt;br&gt;
യുദ്ധം ചെയ്തിട്ടില്ല.&lt;/p&gt;
&lt;p&gt;മനുഷ്യരെന്നാൽ നിങ്ങളും&lt;br&gt;
ഞങ്ങളും കൂടി ചേർന്നതാണ്.&lt;/p&gt;
&lt;p&gt;മനുഷ്യനും മനുഷ്യത്വത്തിനും&lt;br&gt;
എതിരാണ് എല്ലാക്കാലവും&lt;br&gt;
യുദ്ധം.&lt;/p&gt;
&lt;p&gt;എന്നിട്ടുമിന്നും ഞങ്ങൾ&lt;br&gt;
യുദ്ധത്തിൻ്റെ നടുവിലാണ്,&lt;/p&gt;
&lt;p&gt;ഞങ്ങൾ ആരംഭിക്കാത്ത &lt;br&gt;
ഞങ്ങൾക്ക് വേണ്ടാത്ത &lt;br&gt;
യുദ്ധത്തിൻ്റെ നടുവിൽ.&lt;/p&gt;</description></item><item><title>നീ</title><link>https://www.binovarghese.com/ml-musings/2026/you/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/you/</guid><description>&lt;p&gt;മഴയുടെ സംഗീതവും&lt;br&gt;
കാടിന്റെ കുളിരും &lt;br&gt;
രാത്രിയുടെ മൗനവും&lt;br&gt;
ഇരുട്ടിലെ നക്ഷത്രവുമാണ്&lt;br&gt;
നീ.&lt;/p&gt;</description></item><item><title>The illusionist</title><link>https://www.binovarghese.com/drawer/2026/the-illusionist/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2026/the-illusionist/</guid><description>&lt;p&gt;My poems can make&lt;br&gt;
you believe&lt;br&gt;
I am the one&lt;br&gt;
you dream of.&lt;/p&gt;
&lt;p&gt;But I am sorry love,&lt;br&gt;
I am the illusionist&lt;br&gt;
you were never&lt;br&gt;
destined to meet.&lt;/p&gt;</description></item><item><title>പ്രണയകവിത</title><link>https://www.binovarghese.com/ml-musings/2026/u-love/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/u-love/</guid><description>&lt;p&gt;എഴുതപ്പെടാത്ത &lt;br&gt;
ഏറ്റവും&lt;br&gt;
മനോഹരമായ&lt;br&gt;
പ്രണയകവിതയാണ്&lt;br&gt;
നീ.&lt;/p&gt;</description></item><item><title>Kagi Small Web</title><link>https://www.binovarghese.com/blog/2026/kagi-small-web/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2026/kagi-small-web/</guid><description>&lt;p&gt;While reading the article &lt;a href="https://blog.kagi.com/small-web-updates"&gt;Small Web Just Got Bigger&lt;/a&gt; on the Kagi blog and I landed on &lt;a href="https://blog.kagi.com/small-web"&gt;Kagi Small Web&lt;/a&gt; and found it interesting.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What is Small Web?&lt;br&gt;
While there’s no single, perfect definition, we like to define the Small Web as personal blogs, independent videos, webcomics, and other authentic spaces created for non-commercial purposes, usually for self-expression or community building. Basically, sites in the Small Web exist to share and entertain, not manipulate algorithms or boost corporate interests. (And they’re really fun to browse at random!)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Through the Kagi search engine, they are trying to give more visibility to small personal blogs and other non-profit spaces. For this, they have added personal websites to their search results and even created a website for the same. The &lt;a href="https://kagi.com/smallweb"&gt;Kagi Small Web&lt;/a&gt; website shows a random post from these websites based on certain criteria.&lt;/p&gt;
&lt;p&gt;I have always loved these independent blogs and websites. They are personal, authentic, and created by people who love sharing what they have. Rather than having any particular motive, I think most of them are doing this for themselves. It’s like they are building their own &lt;a href="https://www.binovarghese.com/desk/2025/05/my-home/"&gt;home&lt;/a&gt; in a quiet corner of the web.&lt;/p&gt;
&lt;p&gt;Whenever I am landing on an interesting personal blog through links and rabbit holes, I always think about how these websites can become more easily discoverable, something like Instagram, but for personal websites. Even though there are websites like &lt;a href="https://blogroll.org/"&gt;blogroll&lt;/a&gt;, &lt;a href="https://personalwebsites.org/"&gt;personal website directories&lt;/a&gt;, &lt;a href="https://internetphonebook.net/"&gt;Internet Phone Book&lt;/a&gt; and lot of other website which try to curate personal spaces, and now we can use ActivityPub protocol to interconnect these websites. But I believe we need more tools for this purpose. I hope Kagi Small Web will take this effort one step further.&lt;/p&gt;
&lt;p&gt;So I also wanted to be part of that website, and I checked how I could add my website to their Small Web directory. I found the &lt;a href="https://github.com/kagisearch/smallweb"&gt;GitHub&lt;/a&gt; repo where you can add your website feed, and out of curiosity I checked my name in that repo. I was surprised when I saw my name there. I have been on their list for more than two years.&lt;/p&gt;
&lt;p&gt;So I checked my name on their website and found the following.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2026/kagi-small-web.png"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://kagi.com/smallweb/"&gt;Kagi Small Web&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;And yes, somehow, without knowing it, my little website was already part of it. Thank you Kagi for this effort and it motivates me to write and share more here.&lt;/p&gt;</description></item><item><title>കൊടുങ്കാറ്റാകുക</title><link>https://www.binovarghese.com/ml-musings/2026/storm/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/storm/</guid><description>&lt;p&gt;കുതിച്ച് പായാനും&lt;br&gt;
കരുത്ത് കാട്ടാനും&lt;br&gt;
വേണ്ടി വന്നാൽ
കടപുഴക്കാനും &lt;br&gt;
കഴിയുന്ന,&lt;/p&gt;
&lt;p&gt;കൊടുങ്കാറ്റാകുക നീ.&lt;/p&gt;</description></item><item><title>A few financial lessons for life</title><link>https://www.binovarghese.com/desk/2026/03/finance-lessons/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2026/03/finance-lessons/</guid><description>&lt;p&gt;Here, I want to share some important steps you can take to keep your financial life secure. I have learned these from various sources and from my own experience. I hope you will do even better than I have as you read this.&lt;/p&gt;
&lt;p&gt;Please note that I am assuming you are an Indian citizen, have a job, and possess basic financial knowledge.&lt;/p&gt;
&lt;p&gt;Here, I am dividing the journey into three phases and beyond. You can start your financial journey at any age or time, based on your life situation. But whenever you begin, start with the first stage, then move to the second and third, and add your own phases as you grow.&lt;/p&gt;
&lt;p&gt;As always, take what you like and leave the rest. So, let’s start:&lt;/p&gt;
&lt;h3 id="first-phase"&gt;First phase&lt;/h3&gt;
&lt;p&gt;In the first phase, I want you to focus on building a strong financial foundation and protecting yourself from unexpected events.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Take health insurance for you and your family as early as possible.&lt;/li&gt;
&lt;li&gt;Take term insurance if your family depends on you. It will give them financial protection if something happens to you.&lt;/li&gt;
&lt;li&gt;Start saving as early as possible. It is better to begin with low risk methods such as recurring deposits or fixed deposits.&lt;/li&gt;
&lt;li&gt;Try to save at least 20 percent of your income. If you do not have much money, start with 100 rupees. Remember that compounding is powerful.&lt;/li&gt;
&lt;li&gt;Create an emergency fund that covers at least ten months of your expenses. Keep that money in low-volatility funds (Fixed assets, Liquid funds, etc) and maintain a low cost credit card for sudden emergencies.&lt;/li&gt;
&lt;li&gt;Remember if you tap into your emergency fund, make it a priority to replenish it as soon as possible.&lt;/li&gt;
&lt;li&gt;Update the beneficiary in all your financial accounts.&lt;/li&gt;
&lt;li&gt;Keep track of your income and expenses. If you track them, you can control them. Start with a simple Excel sheet with Income, Expenses, and Balance columns.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="second-phase"&gt;Second phase&lt;/h3&gt;
&lt;p&gt;In the second phase, I want you to focus on growing your money patiently.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Try to increase your income over time by improving your skills or by switching jobs.&lt;/li&gt;
&lt;li&gt;Just because your salary increases doesn’t mean you need to spend more. Keep your lifestyle simple and invest the extra.&lt;/li&gt;
&lt;li&gt;Prepare your short-term and long-term goals such as gadgets, car, vacation, home, child expenses, or retirement, and start saving accordingly in different schemes.&lt;/li&gt;
&lt;li&gt;Invest in the stock market directly or through SIPs, and stay invested for a long time.&lt;/li&gt;
&lt;li&gt;Diversify your assets into equity, gold, debt funds, real estate, pension schemes, fixed deposits, and other options. Do this according to your risk tolerance, but do not put all your eggs in one basket.&lt;/li&gt;
&lt;li&gt;Review your investments once a year and rebalance if necessary.&lt;/li&gt;
&lt;li&gt;Avoid unnecessary loans and high interest debt whenever possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="third-phase"&gt;Third phase&lt;/h3&gt;
&lt;p&gt;In the third and final phase, I want you to organise your finances and prepare for the long term.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make a monthly and yearly budget to understand and analyse your financial life.&lt;/li&gt;
&lt;li&gt;Maintain a list of all your assets and liabilities and update it once a month. Knowing this will help you make financial decisions more easily.&lt;/li&gt;
&lt;li&gt;Think about your retirement and identify how much money you will require for it. You can find the formulas on the web and save accordingly.&lt;/li&gt;
&lt;li&gt;Keep your documents such as insurance papers, loan documents, stock market investments, gold records, and your asset and liability list somewhere safe. Also store the passwords for your banks, stock market, and other accounts securely. Make sure your partner or loved ones can access them if something happens to you.&lt;/li&gt;
&lt;li&gt;Understand how much is enough for you. After that point, you may simply be chasing more.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="beyond-the-above"&gt;Beyond the above&lt;/h3&gt;
&lt;p&gt;After covering all the above phases, I hope you will be able to figure out what to do next and create your own financial success. So go on and create your own destiny.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Few things to keep in mind&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep learning about personal finance. Start with money management, taxation, inflation, etc. It will help you in the long run.&lt;/li&gt;
&lt;li&gt;Find one or two people you trust and discuss important financial matters with them when needed.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t be greedy. Help when you can. Kindness transcends.&lt;/li&gt;
&lt;li&gt;The best investment you can make is investing in yourself. Spend money on things that make you happy and help you grow.&lt;/li&gt;
&lt;li&gt;Save money so that you can live your life well, not the other way around.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope at some point you will realise that money is only a tool. What really matters is how you live your life. Life is short. Live it well.&lt;/p&gt;
&lt;h3 id="disclaimer"&gt;Disclaimer&lt;/h3&gt;
&lt;p&gt;Sometimes I fail to follow what I say, but I never fail to try. Everything I say may be wrong.&lt;/p&gt;
&lt;h3 id="updates"&gt;Updates&lt;/h3&gt;
&lt;p&gt;Some of you asked for detailed references for the above notes. So here I am updating some resources for your references.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=vO2KGm8NM8E"&gt;What is an Emergency Fund? | How to build it?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLX2SHiKfualHj_3Ms2t8cCd9tUpQHA9MW"&gt;Personal Finance for Beginners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/@varsitybyzerodha/videos"&gt;Zerodha Varsity YouTube Channel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>We thought we had time</title><link>https://www.binovarghese.com/desk/2026/03/time/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2026/03/time/</guid><description>&lt;p&gt;We all thought we had enough time&lt;br&gt;
until we stood in hospital corridors&lt;br&gt;
with a deadly disease and little hope,&lt;br&gt;
until someone we loved passed away &lt;br&gt;
without saying goodbye,&lt;br&gt;
until war arrived&lt;br&gt;
and missiles struck our homes.&lt;/p&gt;
&lt;p&gt;We didn’t realize&lt;br&gt;
that nobody really cared&lt;br&gt;
about the things we were doing.&lt;br&gt;
We were free to do&lt;br&gt;
whatever we wanted.&lt;/p&gt;
&lt;p&gt;And finally, when wrinkles&lt;br&gt;
appeared on our faces,&lt;br&gt;
we realized.&lt;/p&gt;
&lt;p&gt;Our time had always been limited&lt;br&gt;
from the very first day.&lt;/p&gt;</description></item><item><title>Sweat</title><link>https://www.binovarghese.com/drawer/2026/sweat/</link><pubDate>Sun, 08 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2026/sweat/</guid><description>&lt;p&gt;I don’t know&lt;br&gt;
what makes us sweat&lt;br&gt;
at midnight,&lt;br&gt;
the summer&lt;br&gt;
or the love.&lt;/p&gt;</description></item><item><title>I lied to you</title><link>https://www.binovarghese.com/desk/2026/03/i-lied/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2026/03/i-lied/</guid><description>&lt;p&gt;I lied to you.&lt;/p&gt;
&lt;p&gt;When missiles struck&lt;br&gt;
places near my home,&lt;br&gt;
when I was packing&lt;br&gt;
essentials to run away,&lt;br&gt;
when I drove through highways&lt;br&gt;
while bombings happened.&lt;/p&gt;
&lt;p&gt;When the drones attacked homes&lt;br&gt;
and the sky filled with smoke,&lt;br&gt;
when I saw rocket fire&lt;br&gt;
heading toward my building.&lt;/p&gt;
&lt;p&gt;I lied.&lt;/p&gt;
&lt;p&gt;When I was shivering with fear&lt;br&gt;
and hiding in the basement,&lt;br&gt;
when I couldn’t sleep all night&lt;br&gt;
due to the screaming sirens.&lt;/p&gt;
&lt;p&gt;When I spoke to you&lt;br&gt;
and thought maybe&lt;br&gt;
we couldn’t see each other&lt;br&gt;
one more time.&lt;br&gt;
When I moved from one place&lt;br&gt;
to another&lt;br&gt;
to stay alive.&lt;/p&gt;
&lt;p&gt;I lied to you, my love.&lt;br&gt;
I lied unapologetically&lt;br&gt;
when I told you I was safe here&lt;br&gt;
and nothing was happening nearby.&lt;/p&gt;
&lt;p&gt;I lied to you because I love you.&lt;br&gt;
I am sorry.&lt;/p&gt;
&lt;p&gt;I want you to stay&lt;br&gt;
in peace and calm,&lt;br&gt;
so I can keep running&lt;br&gt;
to come back to you.&lt;/p&gt;</description></item><item><title>Introducing For pages</title><link>https://www.binovarghese.com/desk/2026/01/introducing-this-is-for-page/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2026/01/introducing-this-is-for-page/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2026/for.png"&gt;
&lt;/figure&gt;

&lt;p&gt;I have few common pages on this website &lt;a href="https://www.binovarghese.com/uses"&gt;Uses&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/now"&gt;Now&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/about"&gt;About Me&lt;/a&gt;, &lt;a href="blogroll"&gt;Blogroll&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/Changelog"&gt;Changelog&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/slashes"&gt;many others&lt;/a&gt;. If you want to know how to create a slash page in Hugo, check &lt;a href="https://www.binovarghese.com/notes/2024/10/slash-pages-in-hugo/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Last week, I updated my list of &lt;a href="https://www.binovarghese.com/slashes"&gt;slash pages&lt;/a&gt;, inspired by the &lt;a href="https://slashpages.net/"&gt;slash pages website&lt;/a&gt;. Sometime between sleep and a dream, a sudden thought found me, what if there were another kind of slash page?&lt;/p&gt;
&lt;p&gt;In most books, there is a dedication page, a page where the author honors his loved ones, or thanks someone who influenced or supported the work.&lt;/p&gt;
&lt;p&gt;In the same spirit, why not have a dedication page on a website? A page where we dedicate our personal space on the internet to the people we love, the ones who encouraged us, or the ones who made this possible.&lt;/p&gt;
&lt;p&gt;So I built mine &lt;a href="https://www.binovarghese.com/For"&gt;here&lt;/a&gt; and named its as &lt;strong&gt;For&lt;/strong&gt; page.&lt;/p&gt;
&lt;p&gt;That’s it. A small idea: you can dedicate your space on the internet to someone, or even to yourself, with a simple page.&lt;/p&gt;
&lt;p&gt;If this idea resonates with you, and you understand what I’m trying to do here, I’d love for you to create your own and share it with me.&lt;/p&gt;
&lt;p&gt;And if this takes off, I’ll create a simple directory listing all the &lt;strong&gt;For pages&lt;/strong&gt; in alphabetical order so the world can see them.&lt;/p&gt;</description></item><item><title>How to add random quotes to your (Hugo) website footer</title><link>https://www.binovarghese.com/blog/2026/02/random-quotes-in--hugo-website-footer/</link><pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2026/02/random-quotes-in--hugo-website-footer/</guid><description>&lt;p&gt;To be honest, I love beautiful and brilliant quotes. They can come from anywhere, like &lt;a href="https://www.binovarghese.com/desk/2024/04/smart-words-from-smart-people/"&gt;smart people&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/desk/2024/11/favourite-movie-quotes/"&gt;movies&lt;/a&gt;, or books. I don’t care where they come from. If they inspire me, I love them. The most beautiful part is that I enjoy collecting and curating them. Usually, I note them down and go through them again whenever I want.&lt;/p&gt;
&lt;p&gt;After a while, I thought I could add them here somewhere so they could provide daily inspiration. So I added a footer quote section with the help of simple JavaScript, which shows random available quotes. You can scroll down and see it. It displays my favorite quotes whenever you refresh the page or move to another page. Cool, right?&lt;/p&gt;
&lt;p&gt;So here are the details of how I did it.&lt;/p&gt;
&lt;p&gt;Here, I am explaining how to add the same feature to a &lt;a href="https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/"&gt;Hugo&lt;/a&gt; theme. You can use the same logic for any website. Add the following code to your &lt;code&gt;footer.html&lt;/code&gt; to display the quote. The style classes below are from Bootstrap, and the theme used here is Hugo &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;Lightbi&lt;/a&gt;. You can change the styles as you like.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;// footer.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;container mt-3 mb-3&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;row justify-content-center align-items-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-auto text-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;h6 class=&amp;#34;footer-quote fw-light mb-0&amp;#34;&amp;gt;&amp;lt;/h6&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Also, add below javascript script also in the footer, which will randomly load the available quotes in the &lt;code&gt;quoteArray&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="n"&gt;footer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;quoteContainer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getElementsByClassName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;footer-quote&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;quoteArray&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;The quote you like ― Author&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;The another quote you like ― Author&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;An another quote you like - Author&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;selectedQuote&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;quoteArray&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;quoteArray&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;quoteContainer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;createTextNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;selectedQuote&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Try to refresh the page and you will see the quotes changing with every refresh. More the quotes, more the fun. And yes, that&amp;rsquo;s it. Nothing fancy, right?&lt;/p&gt;</description></item><item><title>അസ്രി ബീച്ചിൽ പോയ കഥ</title><link>https://www.binovarghese.com/ml/2026/02/asry-beach-trip/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2026/02/asry-beach-trip/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2026/asry-beach/1.jpg"&gt;
&lt;/figure&gt;

&lt;p&gt;വെള്ളിയാഴ്ച്ച പതിവുപോലെ നേരത്തെ ഉണർന്നു. മൊബൈൽ എടുത്ത് സമയം നോക്കി, ആറുമണി കഴിഞ്ഞതേയുള്ളൂ. അവധി ദിവസങ്ങളിൽ കൂടുതൽ ഉറങ്ങണമെന്ന് കരുതിയാൽ പോലും ഉറങ്ങാൻ പറ്റാറില്ല, അല്ലാത്ത ദിവസം മൂന്നാമത്തെ അലാറം കഴിഞ്ഞാലും എണീക്കാനും പറ്റാറില്ല. വല്ലാത്തൊരുതരം ജീവിതം തന്നെ. &lt;/p&gt;
&lt;p&gt;എന്നിലിരുന്നാലും കട്ടിൽ കിടന്ന് &amp;lsquo;സ്ലോ മോണിംഗ്&amp;rsquo; കുറച്ച് ആസ്വദിച്ചു. (അറിയാത്തവർക്ക് വേണ്ടി, ഈ &amp;lsquo;സ്ലോ മോണിംഗ്&amp;rsquo; എന്ന് പറഞ്ഞാൽ, രാവിലെ തിരക്കോന്നുമില്ലാതെ പതിയെ ഇഷ്ടമുള്ളതെല്ലാം ആസ്വദിച്ചു ചെയ്യുന്നൊരു പരിപാടിയാണ്.) പിന്നെ നമ്മുക്കിത് അവധി ദിവസം മാത്രമേ പറ്റൂ, അത് കൊണ്ട് പാട്ടൊക്കെ കേട്ട് ഇങ്ങനെ മാനം നോക്കി വെറുതെ കിടന്നു. ഇന്നലേ തീരുമാനിച്ചതാണ് ഇന്ന് രാവിലെ എവിടേലും പോകണമെന്ന്.&lt;/p&gt;
&lt;p&gt;കുറച്ച് കഴിഞ്ഞ് പതിയെ എഴുന്നേറ്റ് കുളിയും തേവാരവും കഴിഞ്ഞു കഴിക്കാൻ പുറത്തിറങ്ങി. പതിവ് പോലെ പുറത്ത് കഴിക്കാൻ പോകുന്ന എന്നേ നോക്കി, അവളില്ലാത്ത അടുക്കള (പുച്ഛിച്ച്?) ചിരിച്ചു. അവധി ദിവസം ഗൗരി കൃഷ്ണയിലെ മിനി ബ്രേക്ക് ഫാസ്റ്റാണ് കുറച്ച് നാളായുള്ള ശീലം, നല്ലൊരു തമിഴ് വെജിറ്റേറിയൻ റസ്റ്റോറന്റാണത്. ഒരു ചെറിയ മസാലദോശ, ഒരു ഇഡലി, ഒരു പൂരി, ഒരു വട, ഉരുളക്കിഴങ്ങ് മസാല, ആവശ്യത്തിന് സാമ്പാറും തേങ്ങാ ചട്നിയും, പിന്നെ ഒരു ചായയും. സംഭവം കളറാണ്. (850 ഫിൽസേ ഉള്ളൂ, ഏകദേശം 200 ഇന്ത്യൻ രൂപ) ഇവിടുത്തെ കണക്കിൽ വിലക്കുറവാണ്.&lt;/p&gt;
&lt;p&gt;രുചിയോടെയുള്ള ആഹാരം കഴിച്ചിറങ്ങി. നേരെ പോയി വണ്ടിയെടുത്ത്, ഗൂഗിൾ മാപ്പിൽ ലൊക്കേഷൻ സെറ്റ് ചെയ്തു. അസ്രി ബീച്ച് (ASRY Beach), സംഭവം ഹിദ്ദിലുള്ള ചെറിയൊരു ബീച്ചാണ്. അങ്ങോട്ടാണ് ഇന്നത്തെ യാത്ര.&lt;/p&gt;
&lt;p&gt;വണ്ടിയെടുത്ത് ഇറങ്ങി, നേരെ പോയത് പെട്രോൾ പമ്പിലേക്കാണ്. ഒന്നും നോക്കിയില്ല മുംതാസ് നിറച്ചോളാൻ പറഞ്ഞു. പെട്രോൾ ടാങ്ക് നിറഞ്ഞതിന്റെ സിംബൽ തെളിഞ്ഞു. കൊള്ളാം രസമുണ്ട് കാണാൻ.&lt;/p&gt;
&lt;p&gt;ഇവിടെ ബഹ്‌റൈനിൽ മുംതാസും ജയ്യിദും എന്നുള്ള രണ്ട് പെട്രോൾ വകഭേദങ്ങളുണ്ട്. കൂടുതൽ ഒക്ടേൻ ഉള്ള വകഭേദമാണ് മുംതാസ് (അതായത് കുറച്ചൂടെ ഗുണനിലവാരം കൂടിയത് ) അപ്പോൾ വിലയും ചെറുങ്ങനെ കൂടും. ഈ പറഞ്ഞ ഒക്ടേൻ കുറവാണ് ജയ്യിദ് പെട്രോളിൽ, വിലയും.&lt;/p&gt;
&lt;p&gt;നമ്മൾ റിച്ച് ആയതുകൊണ്ടല്ല മുംതാസ് ചാമ്പിയത്. ഇവിടുത്തെ ഗവൺമെൻറ് പെട്രോളിന്റെ വില ചെറുതായിയൊന്ന് കൂട്ടിയാരുന്നു ഈ അടുത്ത്. അതായത് നേരെ ഇരട്ടിയിൽ കൂടുതലാക്കി. അതുകഴിഞ്ഞപ്പോൾ ഇവർ തമ്മിൽ വലിയ അന്തരം ഇല്ലാതായി, അതുകൊണ്ട് ഞാൻ മുംതാസ് ചാമ്പിയെന്ന് മാത്രം.&lt;/p&gt;
&lt;p&gt;വണ്ടി യാത്ര തുടർന്നു, ഗുദേബിയയിൽ നിന്ന് ഹിദ്ദ് (Al Hidd) ഹൈവേയിലൂടെയാണ് എനിക്ക് പോകേണ്ടത്. 17 കിലോമീറ്റർ ഉണ്ട് 17 മിനിറ്റിനുള്ളിൽ ചെല്ലും. വെള്ളിയാഴ്ച രാവിലെ തിരക്കില്ല, അത് കൊണ്ട് തന്നെ പെട്ടെന്ന് ചെല്ലും.&lt;/p&gt;
&lt;p&gt;പെട്ടെന്ന് തന്നെ ഞാൻ ഹൈവേയിൽ എത്തി, നീണ്ടു നിവർന്നു കിടക്കുന്ന സുന്ദരൻ റോഡ്. കെട്ടിടങ്ങൾ മാറി കടലായി ഒരുവശം. ഞാൻ വണ്ടിയുടെ വേഗത നൂറിൽ താക്കാതെ പോയിക്കൊണ്ടേയിരുന്നു. വണ്ടികൾ റോഡിലില്ലെങ്കിൽ നൂറ് കിലോമീറ്റർ വേഗതയിൽ പോകുമ്പോൾ പോലും നമ്മൾ വളരെ പതുക്കെയാണ് പോകുന്നതെന്ന് നമുക്ക് തോന്നും. അതുകൊണ്ടുതന്നെ ചവിട്ടി വിടാൻ തോന്നും. പക്ഷേ പാടില്ല, ക്യാമറയുണ്ട് ബിഗിലേ.&lt;/p&gt;
&lt;p&gt;കുറച്ച് ദൂരം കഴിഞ്ഞ് ഹൈവേയിൽ നിന്ന് വലത്തോട്ട് തിരിഞ്ഞ് ഇൻഡസ്ട്രി ഏരിയയിലേക്ക് ഞാൻ കയറി. ഈ ഭാഗം മുഴുവൻ വിവിധ ഫാക്ടറികളാണ്, ബിസ്ക്കറ്റ് തൊട്ട് സിമൻറ് ഉണ്ടാക്കുന്ന ഫാക്ടറികൾവരെയുണ്ട് ഇവിടെ. വണ്ടി മുന്നോട്ട് നീങ്ങി, ആദിത്യ ബിർള അൾട്രാ ടെക് സിമന്റിന്റെ വലിയൊരു ഫാക്ടറി കണ്ടു. അതെ നമ്മുടെ ബിർളയുടെ തന്നെ. വഴിയിൽ ഇടക്ക് ഹെവി ഡ്യൂട്ടി ട്രക്കുകൾ മന്ദം മന്ദം പോകുന്നുണ്ട്. &lt;/p&gt;
&lt;p&gt;ഞാൻ സ്ഥലം എത്താറായെന്ന് ഗൂഗിൾ മാപ്പ് കാണിച്ചു തന്നു. ഇൻഡസ്ട്രി ഏരിയയ്ക്ക് അകത്തുള്ള ചെറിയൊരു ബീച്ചാണ് അസ്രി ബീച്ച്. ഈ അസ്രി (ASRY) എന്ന് പറഞ്ഞാൽ അറബ് ഷിപ്പിംഗ് ആൻഡ് റിപ്പയർ യാർഡ് (Arab Shipbuilding and Repair Yard) ന്റെ ചുരുക്കപ്പേരാണ്. കപ്പൽ നിർമ്മിക്കുകയും അറ്റകുറ്റപ്പണി നടത്തുകയും ചെയ്യുന്ന ബഹ്‌റൈനിലെ വലിയൊരു കമ്പനിയാണിത്. അവരും പിന്നെ ഇവിടുത്തെ കുറച്ച് കമ്പനികളും ചേർന്ന് സംയുക്തമായി നിർമ്മിച്ചതാണ് ഈ ബീച്ച്.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/1/1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/1/1_hu_cfbdf53d572f1a59.webp 400w,
 /img/ml/2026/asry-beach/1/1_hu_d058acf100f32f19.webp 700w,
 /img/ml/2026/asry-beach/1/1_hu_509353844a496e5d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/1/1_hu_c4635bc47b9b0f43.jpg"
 srcset="
 /img/ml/2026/asry-beach/1/1_hu_e8636b1d9825216.jpg 400w,
 /img/ml/2026/asry-beach/1/1_hu_c4635bc47b9b0f43.jpg 700w,
 /img/ml/2026/asry-beach/1/1_hu_6e2f5fc3938bb3be.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1245"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/1/1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/1/2.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/1/2_hu_12730eff5b4aaaba.webp 400w,
 /img/ml/2026/asry-beach/1/2_hu_d8f52656ece91dc3.webp 700w,
 /img/ml/2026/asry-beach/1/2_hu_236a4a0df6109769.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/1/2_hu_553e1e7607e4f0bf.jpg"
 srcset="
 /img/ml/2026/asry-beach/1/2_hu_81c4a410fa7a17fa.jpg 400w,
 /img/ml/2026/asry-beach/1/2_hu_553e1e7607e4f0bf.jpg 700w,
 /img/ml/2026/asry-beach/1/2_hu_3a33f14c0551407a.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1245"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/1/2.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/1/3.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/1/3_hu_60f4c72645fd9802.webp 400w,
 /img/ml/2026/asry-beach/1/3_hu_fdf10a6413f623b7.webp 700w,
 /img/ml/2026/asry-beach/1/3_hu_10c314ed78f834c8.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/1/3_hu_f355d85a6a9244f2.jpg"
 srcset="
 /img/ml/2026/asry-beach/1/3_hu_16f0e8795bca6fbd.jpg 400w,
 /img/ml/2026/asry-beach/1/3_hu_f355d85a6a9244f2.jpg 700w,
 /img/ml/2026/asry-beach/1/3_hu_1b64d5611aaf7942.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/1/3.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;വൈകാതെ ഞാൻ സ്ഥലം എത്തി. വണ്ടി പാർക്ക് ചെയ്യാൻ ബീച്ചിനോട് ചേർന്ന് കുറച്ച് സ്ഥലമുണ്ട്, ഞാനവിടെ വണ്ടിയിട്ട് ഇറങ്ങി.&lt;/p&gt;
&lt;p&gt;നമ്മൾ ആദ്യം കാണുന്നത് മനോഹരമായ മരങ്ങൾ നട്ടുപിടിപ്പിച്ചിരിക്കുന്ന ഒരു ചെറിയ ഇടമാണ്. അതിനു തൊട്ടുമുന്നിലായി നീണ്ടു നിവർന്നു കിടക്കുന്ന കടൽ.&lt;/p&gt;
&lt;p&gt;കല്ലുകൊണ്ടുള്ള കൈവരിക്കിടയിലൂടെ ഞാൻ മരക്കൂട്ടത്തിന് അകത്തോട്ട് കയറി. മൂന്നു വരിയിലായി മരങ്ങൾ നിറഞ്ഞുനിൽക്കുന്ന ചെറിയൊരു തണലിടമാണ് ആദ്യം. ഉയരം കുറഞ്ഞ നിറയെ ഇലകളുള്ള മരങ്ങൾ, വെളുത്ത മണ്ണിൽ അവ വേരുകൾ ആഴ്ത്തി പടർന്ന് നിൽക്കുന്നു. അതിനിടയിൽ ഇരിക്കാൻ സ്ഥലമില്ലെങ്കിലും, ഒരു വശത്തോടെ നടക്കാം. മരങ്ങളിൽ ചിലതിൽ മൈനയെ കണ്ടു &lt;a href="https://www.binovarghese.com/ml/2020/mar/brokken-bangles/"&gt;(ഒറ്റ മൈന അല്ല മോനെ)&lt;/a&gt;. അവ കുറച്ച് കാക്കകളുടെ കൂടെ കൂട്ടത്തോടെ നിൽക്കുന്നു. എന്നെ കണ്ടതും അവയെല്ലാം എങ്ങോട്ടോ പറന്നുപോയി.&lt;/p&gt;
&lt;p&gt;ഞാനാ മരത്തണലിൽ കൂടി ഒന്ന് നടന്നു, നല്ല തണുത്ത കാറ്റ്. ഞാൻ പതിയെ ബീച്ചിലോട്ട് ഇറങ്ങി. ഒരു ഫാമിലി മാത്രമേയുള്ളൂ ബീച്ചിൽ. ചെറുതെങ്കിലും മനോഹരമായ കടപ്പുറം. ഇവിടുത്തെ കടൽ പൊതുവേ ശാന്തമാണ്, വലിയ തിരകൾ ഇല്ലാത്ത മനോഹരമായ കിടക്കുന്ന നീലക്കടൽ. ചെറു ഓളങ്ങൾ തീരത്തെ തഴുകുന്നുണ്ട്. ഒരുതരം പച്ച കലർന്ന നീല നിറത്തിൽ കടൽ പരന്ന് കിടക്കുന്നു. അതിന് മുകളിലായി വരച്ച് വെച്ചത് പോലെ നീലയിൽ വെളുത്ത വരകളുള്ള ആകാശം.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/2/1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/2/1_hu_99bd6977b647000a.webp 400w,
 /img/ml/2026/asry-beach/2/1_hu_c59918ec745654a4.webp 700w,
 /img/ml/2026/asry-beach/2/1_hu_44f58c3bee6a5403.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/2/1_hu_691801f60fb8ee39.jpg"
 srcset="
 /img/ml/2026/asry-beach/2/1_hu_e08e2d163bbca8fe.jpg 400w,
 /img/ml/2026/asry-beach/2/1_hu_691801f60fb8ee39.jpg 700w,
 /img/ml/2026/asry-beach/2/1_hu_f609b7155a150bb8.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/2/1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/2/2.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/2/2_hu_5f2cbf17662834eb.webp 400w,
 /img/ml/2026/asry-beach/2/2_hu_90e0a67e7ce59f4c.webp 700w,
 /img/ml/2026/asry-beach/2/2_hu_80580e1e8f5a704f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/2/2_hu_78dcfb69bfbc9a0d.jpg"
 srcset="
 /img/ml/2026/asry-beach/2/2_hu_7cccb31e59cb4efb.jpg 400w,
 /img/ml/2026/asry-beach/2/2_hu_78dcfb69bfbc9a0d.jpg 700w,
 /img/ml/2026/asry-beach/2/2_hu_54270336b238bdcd.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/2/2.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/2/3.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/2/3_hu_5de0f879cbe9e0e9.webp 400w,
 /img/ml/2026/asry-beach/2/3_hu_49a7146a5449ec1d.webp 700w,
 /img/ml/2026/asry-beach/2/3_hu_f511e83a725449ae.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/2/3_hu_dd81deec389d90e5.jpg"
 srcset="
 /img/ml/2026/asry-beach/2/3_hu_8971a4b7390e2024.jpg 400w,
 /img/ml/2026/asry-beach/2/3_hu_dd81deec389d90e5.jpg 700w,
 /img/ml/2026/asry-beach/2/3_hu_ed9858ae10c23065.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/2/3.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;പക്ഷേ ഇവിടെ ലൈഫ് ഗാർഡ്സും സെറ്റപ്പും ഒന്നുമില്ല എല്ലാം സ്വന്തം റിസ്കിലാണ്. പിന്നെ സുരക്ഷ അറിയിപ്പുകൾ കൃത്യമായി  എഴുതിവെച്ചിട്ടുണ്ട്. കടലിൽ സുരക്ഷാ വേലി കെട്ടിയേക്കുന്നിടം വരെ നമ്മുക്ക് നീന്തി പോകാം. വേണേൽ പിന്നെയും അങ്ങോട് പോകാം, പക്ഷേ ചിലപ്പോൾ തിരിച്ചു വരാൻ പറ്റിയെന്ന് വരില്ല. ആഴക്കടലാണ്.&lt;/p&gt;
&lt;p&gt;ഞാൻ കുറച്ച് സമയം കടലിൻറെ അരികിലൂടെ നടന്നു. ഒരു മകൾക്ക് അപ്പൻ കടലിൽ നിന്ന് ചെറിയ കക്കതോടുകൾ പെറുക്കി കൊടുക്കുന്നു. ആ കുഞ്ഞ് സന്തോഷത്തോടെ അത് എല്ലാം മേടിക്കുണ്ട്. മേടിക്കുന്നതിനൊപ്പം കൂടുതൽ പെറുക്കി എടുക്കുന്നുമുണ്ട് കുഞ്ഞ്. ഞാൻ മുന്നോട്ടു നടന്നു, ചെറിയ തണുത്ത കാറ്റ് ഉണ്ടെങ്കിലും വെയിലിന് നല്ല ചൂടുണ്ട്. &lt;a href="https://www.binovarghese.com/ml/2021/dec/welcome-december-2021/"&gt;മഞ്ഞുകാലം&lt;/a&gt; കഴിയാറായി, ഇനിയും അവന്റെ വരവാണ്, ചൂടന്റെ.&lt;/p&gt;
&lt;p&gt;ബീച്ചിന് മുന്നിലായി മണൽപ്പുറത്ത് സിമൻറ് തറയിൽ നാലുഭാഗവും തുറന്ന ചെറിയ കുട പോലുള്ള കുറച്ച് നിർമ്മിതികളുണ്ട്. കാണുമ്പോൾ ഒരു രസമൊക്കെയുണ്ടെങ്കിലും കാര്യമൊന്നുമില്ല. വെയില് മൊത്തം കൊള്ളും അവിടെനിന്നാൽ.&lt;/p&gt;
&lt;p&gt;ബീച്ചിന്റെ ഒരു വശത്ത് ദൂരെ കപ്പലുകൾ കിടക്കുന്നു, പണിക്കു വന്നതാകാം. അതിനു പുറകിലായി ചെറിയ കോടമഞ്ഞിൽ ഞാൻ വന്ന ഹിദ്ദ് പാലവും ജുഫൈർ നഗരവും കാണാം. ഒരുതരം സിനിമാറ്റിക് ഭംഗിയുണ്ട് ആ കാഴ്ചയ്ക്ക്.&lt;/p&gt;
&lt;p&gt;ഞാൻ ബീച്ചിലൂടെ നടന്നു, ഇടക്ക് അമ്മയേയും അവളെയും ഫോൺ വിളിച്ചു. നടന്നുകൊണ്ട് ഞാൻ അവരോട് വീട്ട് കാര്യങ്ങൾ സംസാരിച്ചു. അവരുടെ സംസാരത്തിന്റെ ഇടയിലൂടെ ഞങ്ങളുടെ കുഞ്ഞ് എന്തൊക്കെയോ പറയുന്നു. വെള്ളത്തിൽ കളിക്കുവാണ് ആശാട്ടി, കുറ്റം പറയാൻ പറ്റില്ല. ഞാൻ രാവിലെ ഒറ്റയ്ക്ക് തീരത്ത് വന്നു നിൽകുമ്പോൾ, അവൾ വീട്ടിലിരുന്നു വെള്ളത്തിലെങ്കിലും കളിക്കണ്ടായോ!&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/3/1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/3/1_hu_37f5482f71c13f1a.webp 400w,
 /img/ml/2026/asry-beach/3/1_hu_d5bb9cb0fa6ad516.webp 700w,
 /img/ml/2026/asry-beach/3/1_hu_708979e6fd5f8fb8.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/3/1_hu_a9f8216bdf1f9bea.jpg"
 srcset="
 /img/ml/2026/asry-beach/3/1_hu_3018f6abf000556e.jpg 400w,
 /img/ml/2026/asry-beach/3/1_hu_a9f8216bdf1f9bea.jpg 700w,
 /img/ml/2026/asry-beach/3/1_hu_fc26bb2c8a67413.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/3/1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/3/2.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/3/2_hu_d596b7b6618b3c78.webp 400w,
 /img/ml/2026/asry-beach/3/2_hu_35bc0ed76a6f21a7.webp 700w,
 /img/ml/2026/asry-beach/3/2_hu_868008c4d8da21eb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/3/2_hu_212a45c3bab101f8.jpg"
 srcset="
 /img/ml/2026/asry-beach/3/2_hu_50796ca4c16cb994.jpg 400w,
 /img/ml/2026/asry-beach/3/2_hu_212a45c3bab101f8.jpg 700w,
 /img/ml/2026/asry-beach/3/2_hu_ec9fa06004b13eb3.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/3/2.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/3/3.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/3/3_hu_259a67112e1054bb.webp 400w,
 /img/ml/2026/asry-beach/3/3_hu_cd844ec314440bbf.webp 700w,
 /img/ml/2026/asry-beach/3/3_hu_b953e5102cb30d5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/3/3_hu_47bb1abdbe029e8a.jpg"
 srcset="
 /img/ml/2026/asry-beach/3/3_hu_c26136dbd49f1025.jpg 400w,
 /img/ml/2026/asry-beach/3/3_hu_47bb1abdbe029e8a.jpg 700w,
 /img/ml/2026/asry-beach/3/3_hu_b48f7809e00e870c.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/3/3.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;സംസാരം കഴിഞ്ഞു ഞാൻ ഫോൺ വെച്ചു. നടക്കുന്നതിനിടയിൽ കടൽപ്പുറത്ത് ചെറിയ കക്കകൾ പൊളിഞ്ഞ മണ്ണിനോട് ചേർന്ന് കിടക്കുന്നു കണ്ടു. ഞാൻ അതിനെ കൈയിലെടുത്തു നോക്കി, കൊച്ചു കൊച്ചു കക്കതരികൾ പൊടിഞ്ഞ് മണ്ണായി മാറുന്നു, കാണാൻ നല്ല ഭംഗിയുണ്ട്.&lt;/p&gt;
&lt;p&gt;വെയിൽ ആയതുകൊണ്ട് തന്നെ നീണ്ടുകിടക്കുന്ന മണലിൽ നിന്ന് ഞാൻ തിരിച്ചു കയറി. ഇതിനിടയിൽ കുറച്ച് പടം പിടിച്ചു, കൊള്ളാം ചെറുതെങ്കിലും രസമുണ്ട് ബീച്ച് കാണാൻ. ഞാൻ മരത്തിന് അരികിലുള്ള കല്ല് വിരിച്ച പാതയിൽ കൂടി നടന്നു. നടത്തത്തിനിടയിൽ ജിനോയെ ഒന്ന് വിളിച്ചു, അവൻ ഓഫീസിലാണ്. പതിവുപോലെ ഓരോന്ന് സംസാരിച്ചു വൈകുന്നേരം കാണാമെന്ന് പറഞ്ഞു വെച്ചു. &lt;/p&gt;
&lt;p&gt;വെള്ളിയാഴ്ച രാവിലെ ഇങ്ങനെ ഫോൺ വിളിച്ചു നടക്കുന്നത് എനിക്ക് ഇഷ്ടമാണ്. മിസ്റ്റർ നായരാണ് അതിലൊരു സ്ഥിരം വേട്ടമൃഗം (കോളേജ് തൊട്ടുള്ള സുഹൃത്ത്).&lt;/p&gt;
&lt;p&gt;നായർ എന്നുള്ളത് കോളേജ് കാലം തൊട്ടുള്ള അവന്റെ വിളിപ്പേരാണ്. കാര്യം അവന്റെ പേരിൽ നായർ ഉണ്ടെങ്കിലും, ഞങ്ങൾക്കത് ഷവർമ്മയിലെ &amp;lsquo;വർമ്മ&amp;rsquo; പോലെയാണ്. അതല്ലാതെ ജാതിയുമായി യാതൊരു ബന്ധവുമില്ല അതിനെന്ന് പ്രത്യേകം ഓർമ്മിപ്പിക്കുന്നു. അല്ലേലും ജാതിയൊരു മരം മാത്രം ആകണ്ടേ സമയമൊക്കെ കഴിഞ്ഞു.&lt;/p&gt;
&lt;p&gt;നടന്നു നടന്നു ഞാൻ ബീച്ചിന്റെ അറ്റമെത്തി. അവിടെ കുട്ടികൾക്ക് കളിക്കാനുള്ള രണ്ടുമൂന്ന് സാധങ്ങളുണ്ട്. അതിനപ്പുറത്ത് റോഡിൽ ഒരു ചെറിയ ഹോട്ടലും സൂപ്പർമാർക്കറ്റുമുണ്ട്. ഈ ബീച്ച് അസ്രി കമ്പനിയുടെ കൂടെ ചേർന്ന് നിർമിച്ചവരുടെ പേരുകൾ ഉള്ള ഫലകങ്ങൾ കണ്ടു മരക്കൂട്ടത്തിന്റെ തുടക്കത്തിൽ, പക്ഷേ പേരുകൾ പലതും മാഞ്ഞുപോയി.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/4/1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/4/1_hu_2cf80498910e8297.webp 400w,
 /img/ml/2026/asry-beach/4/1_hu_a15ad9a11b6d7463.webp 700w,
 /img/ml/2026/asry-beach/4/1_hu_fec4ad213de952b3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/4/1_hu_eb5b47dfbf44092b.jpg"
 srcset="
 /img/ml/2026/asry-beach/4/1_hu_59e3980ff6265d3d.jpg 400w,
 /img/ml/2026/asry-beach/4/1_hu_eb5b47dfbf44092b.jpg 700w,
 /img/ml/2026/asry-beach/4/1_hu_242d924183359a89.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/4/1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/4/2.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/4/2_hu_b1859e89efd08a8c.webp 400w,
 /img/ml/2026/asry-beach/4/2_hu_1e464424e5ae0cc9.webp 700w,
 /img/ml/2026/asry-beach/4/2_hu_f244268fa903e78b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/4/2_hu_a5d277201a32711e.jpg"
 srcset="
 /img/ml/2026/asry-beach/4/2_hu_c66c6baf20882c42.jpg 400w,
 /img/ml/2026/asry-beach/4/2_hu_a5d277201a32711e.jpg 700w,
 /img/ml/2026/asry-beach/4/2_hu_6b36135ec43226c9.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/4/2.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2026/asry-beach/4/3.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2026/asry-beach/4/3_hu_c58d756a14f44e64.webp 400w,
 /img/ml/2026/asry-beach/4/3_hu_666948287df8f6ba.webp 700w,
 /img/ml/2026/asry-beach/4/3_hu_ad85f6517b84f67f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2026/asry-beach/4/3_hu_3a589066bc9e76d0.jpg"
 srcset="
 /img/ml/2026/asry-beach/4/3_hu_b570546e415a2da7.jpg 400w,
 /img/ml/2026/asry-beach/4/3_hu_3a589066bc9e76d0.jpg 700w,
 /img/ml/2026/asry-beach/4/3_hu_ce1f2f9bcdbf30db.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2026/asry-beach/4/3.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;മുന്നോട്ടൊന്നുമില്ലാത്തത്ത് കൊണ്ട് ഞാൻ തിരികെ മരത്തണലിൽ വന്നിരുന്നു. കുറച്ചുസമയം ബീച്ചിനെ നോക്കിയിരുന്നു. മൈനകളെല്ലാം അവിടെ നിന്ന് പോയിരുന്നു. ഏകദേശം മുക്കാൽ മണിക്കൂർ ആയി എത്തിയിട്ട്. നമ്മുക്കും പോകാമെന്ന് മനസ്സു പറഞ്ഞു. നടന്നു ചെന്ന് ഞാൻ വണ്ടിയെടുത്തു. നേരെവിട്ടു പ്രവാസ ജീവിതത്തിലെ &lt;a href="https://www.binovarghese.com/ml/2021/apr/cities-and-villages/"&gt;എന്റേതല്ലാത്ത എൻറെ വീട്ടിലോട്ട്&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ശുഭം!&lt;/p&gt;</description></item><item><title>നിന്നെ കണ്ടെത്തുവാൻ</title><link>https://www.binovarghese.com/ml-musings/2026/find-yourself/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2026/find-yourself/</guid><description>&lt;p&gt;നീ മറന്നുപോയ&lt;br&gt;
നിന്നെ കണ്ടെത്തുവാൻ &lt;br&gt;
ശ്രമിക്കുക.&lt;/p&gt;
&lt;p&gt;കാറ്റിന്റെ കരുത്തും,&lt;br&gt;
കടലിന്റെ ആഴവുമുള്ള&lt;br&gt;
നിന്നെ.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/now/2026/feb/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/now/2026/feb/</guid><description>&lt;ul&gt;
&lt;li&gt;Working on this site to make it better. Check the &lt;a href="https://www.binovarghese.com/changelog"&gt;changelog&lt;/a&gt; for updates happening here.&lt;/li&gt;
&lt;li&gt;Trying to &lt;a href="https://www.binovarghese.com/common/ml-library/"&gt;read more&lt;/a&gt; books.&lt;/li&gt;
&lt;li&gt;Currently working on &lt;a href="https://www.binovarghese.com/projects/apps/life-left/"&gt;Life Left App&lt;/a&gt;. View the app &lt;a href="https://www.binovarghese.com/apps/life-left/"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Life Left App</title><link>https://www.binovarghese.com/blog/2026/01/life-left/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2026/01/life-left/</guid><description>&lt;p&gt;I have created an app called &lt;a href="https://www.binovarghese.com/projects/apps/life-left/"&gt;Life Left&lt;/a&gt; to remind me about the time that is left in life, of course hypothetically. I can die today or tomorrow, and I am well aware of that. But I need to know what is left for me based on an ideal life expectancy.&lt;/p&gt;
&lt;p&gt;It is a minimalist life reflection web app that helps users visualize how much of their life may still remain, based on their age, retirement plan, and expected lifespan. The app is inspired by the &lt;em&gt;memento mori&lt;/em&gt; philosophy, which encourages awareness of life’s finiteness so people can live with greater intention and purpose instead of falling into routine.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/Life-Left.png"
 alt="Life left home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life left home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="demo"&gt;Demo&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;🌿&lt;a href="https://binovarghese.com/apps/life-left/"&gt;Life Left Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="screenshots"&gt;Screenshots&lt;/h3&gt;
&lt;p&gt;You can find the screenshots of the theme below:&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/life-left-app-1.png"
 alt="Life Left home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life Left home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/life-left-app-2.png"
 alt="Life Span page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life Span page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="features"&gt;Features&lt;/h3&gt;
&lt;h4 id="input"&gt;Input&lt;/h4&gt;
&lt;p&gt;Users are required to provide a few basic details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Birth date&lt;/li&gt;
&lt;li&gt;Retirement age&lt;/li&gt;
&lt;li&gt;Expected lifespan&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="output"&gt;Output&lt;/h4&gt;
&lt;p&gt;Based on the input, the following insights are displayed on the home page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Current Age&lt;/strong&gt;&lt;br&gt;
Shows how many years, months, and days the user has lived.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remaining Time&lt;/strong&gt;&lt;br&gt;
Displays the remaining lifespan based on the expected age.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sleep Time Projection&lt;/strong&gt;&lt;br&gt;
Estimates how much of life may be spent sleeping, calculated using an average of eight hours per day.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Work Time Projection&lt;/strong&gt;&lt;br&gt;
Estimates the total time likely to be spent working, based on standard work hours and weekdays.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Actual Personal Time&lt;/strong&gt;&lt;br&gt;
Reveals how much lifetime remains after accounting for sleep and work, highlighting the time available for meaningful and personal pursuits.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to numeric insights, the app visually represents the remaining years of life using colored blocks, making abstract time more tangible and easier to reflect on.&lt;/p&gt;
&lt;h3 id="technology"&gt;Technology&lt;/h3&gt;
&lt;p&gt;The application is built as a lightweight single-page app using &lt;a href="https://www.binovarghese.com/tags/react/"&gt;React&lt;/a&gt; for real-time calculations and dynamic UI updates. &lt;strong&gt;Tailwind CSS&lt;/strong&gt; is used for responsive and consistent styling. And all the calculations are performed entirely on the client side, with no backend dependency.&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;p&gt;So, that&amp;rsquo;s it. A simple app to remind the finite time available with me in this planet. We all know one day or another day we all going to die, but a reminder makes little more aware of the same. And yes, hopefully I will add more features to this and will add here.&lt;/p&gt;</description></item><item><title>Movies 2026</title><link>https://www.binovarghese.com/movies/2026/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/movies/2026/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/07Feb.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/07Feb_hu_faea297327b3962c.webp 400w,
 /img/movies/2026/07Feb_hu_c6fde94b5412d214.webp 700w,
 /img/movies/2026/07Feb_hu_60869dd004bb5c7c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/07Feb_hu_a19d126fd5a39917.webp"
 srcset="
 /img/movies/2026/07Feb_hu_bb0490222a88af70.webp 400w,
 /img/movies/2026/07Feb_hu_a19d126fd5a39917.webp 700w,
 /img/movies/2026/07Feb_hu_fc0f91392c579038.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1036"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/07Feb.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/27Apr.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/27Apr_hu_3505b8c03d40a89f.webp 400w,
 /img/movies/2026/27Apr_hu_adf872c8139536d4.webp 700w,
 /img/movies/2026/27Apr_hu_d8a03100a13fc5e5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/27Apr_hu_ef55eb0ad761c187.webp"
 srcset="
 /img/movies/2026/27Apr_hu_10e3cc92c5a26d25.webp 400w,
 /img/movies/2026/27Apr_hu_ef55eb0ad761c187.webp 700w,
 /img/movies/2026/27Apr_hu_60094af501ab30b9.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1050"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/27Apr.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/f1.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/f1_hu_b0851845c9136d46.webp 400w,
 /img/movies/2026/f1_hu_d45164a4c1202fbe.webp 700w,
 /img/movies/2026/f1_hu_8639bbc6c1aba320.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/f1_hu_8923159611077b31.webp"
 srcset="
 /img/movies/2026/f1_hu_da4a836b067f6fc6.webp 400w,
 /img/movies/2026/f1_hu_8923159611077b31.webp 700w,
 /img/movies/2026/f1_hu_64fb646831d195be.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="987"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/f1.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/sarvam-maaya.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/sarvam-maaya_hu_b9fad2a6f8856d1b.webp 400w,
 /img/movies/2026/sarvam-maaya_hu_52bfe4b24d2129ac.webp 700w,
 /img/movies/2026/sarvam-maaya_hu_5ba001fa27d6bd64.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/sarvam-maaya_hu_107567990c9088c9.webp"
 srcset="
 /img/movies/2026/sarvam-maaya_hu_fb219148aad56d46.webp 400w,
 /img/movies/2026/sarvam-maaya_hu_107567990c9088c9.webp 700w,
 /img/movies/2026/sarvam-maaya_hu_a2b9777f58e35f02.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="942"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/sarvam-maaya.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/03Mar.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/03Mar_hu_7313fb2d7925ab9a.webp 400w,
 /img/movies/2026/03Mar_hu_73083b428afd5b66.webp 700w,
 /img/movies/2026/03Mar_hu_2d4b6e1c9a1e9169.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/03Mar_hu_c856ea687aad1fa1.jpg"
 srcset="
 /img/movies/2026/03Mar_hu_db5230f0355bcfa2.jpg 400w,
 /img/movies/2026/03Mar_hu_c856ea687aad1fa1.jpg 700w,
 /img/movies/2026/03Mar_hu_3800bed851df5b.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1039"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/03Mar.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/14Mar.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/14Mar_hu_7fdaeb8d4ca1e985.webp 400w,
 /img/movies/2026/14Mar_hu_235547fd26ffe51c.webp 700w,
 /img/movies/2026/14Mar_hu_f3dab576cf3fc965.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/14Mar_hu_10bd4e23f162a85a.jpg"
 srcset="
 /img/movies/2026/14Mar_hu_a741a52338c60bc0.jpg 400w,
 /img/movies/2026/14Mar_hu_10bd4e23f162a85a.jpg 700w,
 /img/movies/2026/14Mar_hu_c29b13d940ab7b54.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="876"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/14Mar.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/15Feb.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/15Feb_hu_570d18064315490a.webp 400w,
 /img/movies/2026/15Feb_hu_352c7308ffe62b41.webp 700w,
 /img/movies/2026/15Feb_hu_bd06ba564bc6a3f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/15Feb_hu_c5cf47f4223eba8a.jpg"
 srcset="
 /img/movies/2026/15Feb_hu_79af44ea7bb9736d.jpg 400w,
 /img/movies/2026/15Feb_hu_c5cf47f4223eba8a.jpg 700w,
 /img/movies/2026/15Feb_hu_b854df06e1c023ba.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="971"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/15Feb.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/20Mar.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/20Mar_hu_71b236905293135e.webp 400w,
 /img/movies/2026/20Mar_hu_d58e7d16fdd86f00.webp 700w,
 /img/movies/2026/20Mar_hu_eb4cb3f35975ab19.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/20Mar_hu_12c6b63d5f3769de.jpg"
 srcset="
 /img/movies/2026/20Mar_hu_9976c5cb5bc89bd5.jpg 400w,
 /img/movies/2026/20Mar_hu_12c6b63d5f3769de.jpg 700w,
 /img/movies/2026/20Mar_hu_14b989f0ed259b04.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="870"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/20Mar.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/27May.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/27May_hu_f814fee4d30280c5.webp 400w,
 /img/movies/2026/27May_hu_d19cd2b6633996bf.webp 700w,
 /img/movies/2026/27May_hu_449e05e15411fc3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/27May_hu_499cd23cbbe8f01a.jpg"
 srcset="
 /img/movies/2026/27May_hu_957f5a51ae08bf53.jpg 400w,
 /img/movies/2026/27May_hu_499cd23cbbe8f01a.jpg 700w,
 /img/movies/2026/27May_hu_c51b28dfcef894bd.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/27May.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/29May.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/29May_hu_51650e82e3428a76.webp 400w,
 /img/movies/2026/29May_hu_9c2d2defae8c0c2c.webp 700w,
 /img/movies/2026/29May_hu_2d18d128501b9f61.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/29May_hu_216da85e5cd7673a.jpg"
 srcset="
 /img/movies/2026/29May_hu_930ccecb95a405f2.jpg 400w,
 /img/movies/2026/29May_hu_216da85e5cd7673a.jpg 700w,
 /img/movies/2026/29May_hu_46154645bb3990cd.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1022"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/29May.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/2Apr.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/2Apr_hu_c7114cd38cdb1b4a.webp 400w,
 /img/movies/2026/2Apr_hu_6ded3f8621519ceb.webp 700w,
 /img/movies/2026/2Apr_hu_50f62247e8ac76fc.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/2Apr_hu_ace718af503f590.JPG"
 srcset="
 /img/movies/2026/2Apr_hu_c68bbe474da11fb5.JPG 400w,
 /img/movies/2026/2Apr_hu_ace718af503f590.JPG 700w,
 /img/movies/2026/2Apr_hu_f74950a72726805f.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1164"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/2Apr.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/31May.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/31May_hu_cdfd47eced274e5c.webp 400w,
 /img/movies/2026/31May_hu_e668fa66976aa624.webp 700w,
 /img/movies/2026/31May_hu_a63ebf4594ccd2a7.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/31May_hu_a3225747208cc808.jpg"
 srcset="
 /img/movies/2026/31May_hu_df08c4e55b7ab958.jpg 400w,
 /img/movies/2026/31May_hu_a3225747208cc808.jpg 700w,
 /img/movies/2026/31May_hu_e9ecd9f0f7fe9d68.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1022"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/31May.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/9Mar.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/9Mar_hu_5d6c6c4068c4ec8e.webp 400w,
 /img/movies/2026/9Mar_hu_261ff9fa9ceeb326.webp 700w,
 /img/movies/2026/9Mar_hu_80dc554e7e58f145.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/9Mar_hu_7d94d58f6b576c3b.jpg"
 srcset="
 /img/movies/2026/9Mar_hu_302f838307f7b198.jpg 400w,
 /img/movies/2026/9Mar_hu_7d94d58f6b576c3b.jpg 700w,
 /img/movies/2026/9Mar_hu_f1a400c63656db7.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/9Mar.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/chathapacha.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/chathapacha_hu_89faf1e53a94a854.webp 400w,
 /img/movies/2026/chathapacha_hu_dd81db265538be5b.webp 700w,
 /img/movies/2026/chathapacha_hu_4b0a1382457faa09.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/chathapacha_hu_5434a1b6ec0fd720.jpg"
 srcset="
 /img/movies/2026/chathapacha_hu_2517027fec383c67.jpg 400w,
 /img/movies/2026/chathapacha_hu_5434a1b6ec0fd720.jpg 700w,
 /img/movies/2026/chathapacha_hu_8a4ec1167cf7bb83.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/chathapacha.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2026/top-gun.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2026/top-gun_hu_36e093464ca59729.webp 400w,
 /img/movies/2026/top-gun_hu_fc0d42cc2a668f30.webp 700w,
 /img/movies/2026/top-gun_hu_e1c50a86331efb10.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2026/top-gun_hu_95769a82fef4d0e8.jpg"
 srcset="
 /img/movies/2026/top-gun_hu_41ef0a844466defa.jpg 400w,
 /img/movies/2026/top-gun_hu_95769a82fef4d0e8.jpg 700w,
 /img/movies/2026/top-gun_hu_87bdd81202844127.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1038"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2026/top-gun.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Photos 2026</title><link>https://www.binovarghese.com/photos/2026/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/photos/2026/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_0306.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_0306_hu_6facff5b7d3767c0.webp 400w,
 /img/photos/2026/IMG_0306_hu_f75654794df3d04f.webp 700w,
 /img/photos/2026/IMG_0306_hu_b026d957362d4b26.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_0306_hu_ef1b3f101df8822f.jpg"
 srcset="
 /img/photos/2026/IMG_0306_hu_4819e7c31f368437.jpg 400w,
 /img/photos/2026/IMG_0306_hu_ef1b3f101df8822f.jpg 700w,
 /img/photos/2026/IMG_0306_hu_bdc3f7df03228952.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_0306.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_0308.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_0308_hu_39c69e57928bd252.webp 400w,
 /img/photos/2026/IMG_0308_hu_aa9691a398c5c393.webp 700w,
 /img/photos/2026/IMG_0308_hu_d86854fa68e5d701.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_0308_hu_ae6f271b7c62511.jpg"
 srcset="
 /img/photos/2026/IMG_0308_hu_d150faeefb8794d1.jpg 400w,
 /img/photos/2026/IMG_0308_hu_ae6f271b7c62511.jpg 700w,
 /img/photos/2026/IMG_0308_hu_b5c85f9f2947f44d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_0308.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_0309.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_0309_hu_9c9289051e979c49.webp 400w,
 /img/photos/2026/IMG_0309_hu_f82e0253888a6483.webp 700w,
 /img/photos/2026/IMG_0309_hu_26842ca91b9ab263.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_0309_hu_cbc6416d00ea7944.JPG"
 srcset="
 /img/photos/2026/IMG_0309_hu_8f0e00816d4ea844.JPG 400w,
 /img/photos/2026/IMG_0309_hu_cbc6416d00ea7944.JPG 700w,
 /img/photos/2026/IMG_0309_hu_b91369209a7c4737.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_0309.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_9292.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_9292_hu_12d9cc802b784648.webp 400w,
 /img/photos/2026/IMG_9292_hu_91752adcb3564fb2.webp 700w,
 /img/photos/2026/IMG_9292_hu_9284e941925e9c5d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_9292_hu_d56f536743fcbd5d.jpg"
 srcset="
 /img/photos/2026/IMG_9292_hu_c43a4088c402818.jpg 400w,
 /img/photos/2026/IMG_9292_hu_d56f536743fcbd5d.jpg 700w,
 /img/photos/2026/IMG_9292_hu_bb32f4585a1eda6a.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_9292.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_9293.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_9293_hu_409bda8240dd9ca0.webp 400w,
 /img/photos/2026/IMG_9293_hu_6f8eff65597b0f4f.webp 700w,
 /img/photos/2026/IMG_9293_hu_f8fa995fb37c1fbb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_9293_hu_b3d52f5b6a10da6.jpg"
 srcset="
 /img/photos/2026/IMG_9293_hu_7ac993b3979fd985.jpg 400w,
 /img/photos/2026/IMG_9293_hu_b3d52f5b6a10da6.jpg 700w,
 /img/photos/2026/IMG_9293_hu_475240d23801279c.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_9293.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_9594.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_9594_hu_ef4f693992dcbb98.webp 400w,
 /img/photos/2026/IMG_9594_hu_ff2632af67c72d5b.webp 700w,
 /img/photos/2026/IMG_9594_hu_2f5bcd03afae30a1.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_9594_hu_b05661018f25ece6.JPG"
 srcset="
 /img/photos/2026/IMG_9594_hu_3d05da76c1b051e1.JPG 400w,
 /img/photos/2026/IMG_9594_hu_b05661018f25ece6.JPG 700w,
 /img/photos/2026/IMG_9594_hu_fb9a8b7c461b93b5.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_9594.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2026/IMG_9239.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2026/IMG_9239_hu_e97628e61ccb12f.webp 400w,
 /img/photos/2026/IMG_9239_hu_5befbc9e4e49e8db.webp 700w,
 /img/photos/2026/IMG_9239_hu_7bc4681c1b4ec389.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2026/IMG_9239_hu_9b5198664ca809c2.jpeg"
 srcset="
 /img/photos/2026/IMG_9239_hu_8bcda88318b1f430.jpeg 400w,
 /img/photos/2026/IMG_9239_hu_9b5198664ca809c2.jpeg 700w,
 /img/photos/2026/IMG_9239_hu_da2d31bc477874fb.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2026/IMG_9239.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Default Apps 2025</title><link>https://www.binovarghese.com/blog/2025/12/default-apps-2025/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/12/default-apps-2025/</guid><description>&lt;p&gt;Earlier this year, I shared my default apps of 2023 &lt;a href="https://www.binovarghese.com/blog/2024/01/default-apps-2023/"&gt;here&lt;/a&gt;. This is the 2025 edition. The big change is that I’ve moved more into the Apple ecosystem, while most of the rest has stayed the same.&lt;/p&gt;
&lt;p&gt;You can find more default apps catalogued by &lt;a href="https://defaults.rknight.me/"&gt;Robb Knight&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;📨 Mail Client: Apple Mail&lt;br&gt;
📮 Mail Server: &lt;a href="https://www.google.com/gmail/about/"&gt;Google&lt;/a&gt;&lt;br&gt;
📝 Notes: Apple Notes and &lt;a href="https://www.notion.so/"&gt;Notion&lt;/a&gt;.&lt;br&gt;
✅ To-Do: Notepad and pen are working fine for me.&lt;br&gt;
📷 Photo Shooting: iPhone&lt;br&gt;
🎨 Design: &lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt;&lt;br&gt;
📆 Calendar: Apple Calendar&lt;br&gt;
📁 Cloud File Storage: iCloud and Google Drive&lt;br&gt;
📖 RSS: NetNewsWire&lt;br&gt;
🙍🏻‍♂️ Contacts: Apple Contacts&lt;br&gt;
🌐 Browser: &lt;a href="https://www.apple.com/in/safari/"&gt;Safari&lt;/a&gt; for general purpose and &lt;a href="https://vivaldi.com/invite"&gt;Vivaldi&lt;/a&gt; for work.&lt;br&gt;
💬 Chat: WhatsApp, Discord&lt;br&gt;
🔖 Bookmarks: &lt;a href="https://vivaldi.com/invite"&gt;Vivaldi&lt;/a&gt;&lt;br&gt;
📑 Read It Later: &lt;a href="https://raindrop.io"&gt;Raindrop&lt;/a&gt;&lt;br&gt;
📜 Word Processing: MS Word&lt;br&gt;
📈 Spreadsheets: Excel, Google Sheets&lt;br&gt;
📊 Presentations: N/A&lt;br&gt;
🛒 Shopping Lists: Apple Reminders&lt;br&gt;
🍴 Meal Planning: N/A&lt;br&gt;
💰 Budgeting and Personal Finance: Excel, ya its working for me.&lt;br&gt;
📰 News: No, thank you&lt;br&gt;
🎵 Music: &lt;a href="https://music.youtube.com/"&gt;YTMusic&lt;/a&gt;&lt;br&gt;
🎤 Podcasts: &lt;a href="https://podcasts.apple.com/us/browse"&gt;Apple podcasts&lt;/a&gt;&lt;br&gt;
🔐 Password Management: Apple Passwords&lt;br&gt;
🧑‍💻 Code Editor: &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;&lt;br&gt;
✈️ VPN: N/A&lt;/p&gt;
&lt;h4 id="bonus-items"&gt;Bonus Items&lt;/h4&gt;
&lt;p&gt;🗄️ Code Repositories: &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;&lt;br&gt;
📖 Reading: Kindle&lt;br&gt;
📓 Journaling: &lt;a href="https://apps.apple.com/us/app/journal/id6447391597"&gt;Apple Journal&lt;/a&gt;&lt;br&gt;
🗺️ Maps + Driving Directions: Google Maps&lt;br&gt;
⌨️ For learning typing: &lt;a href="https://www.typingclub.com/"&gt;Typing club&lt;/a&gt;&lt;br&gt;
🪶 Malayalam dictionary: &lt;a href="https://olam.in/"&gt;Olam&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ജീവിതം ഒരു മോണാലിസച്ചിരിയാണ്</title><link>https://www.binovarghese.com/ml/2025/12/book-jeevitham-oru-monalisachiriyanu/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/12/book-jeevitham-oru-monalisachiriyanu/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2025/jeevitham-oru-monalisachiriyanu.JPG"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2025/10/book-ottamarappeythu/"&gt;ഒറ്റമരപ്പെയ്ത്തിനു&lt;/a&gt; ശേഷം ഞാൻ വായിക്കുന്ന ദീപനിശാന്തിന്റെ മൂന്നാമത്തെ പുസ്തകമാണിത്. നേരത്തെ വായിച്ചിട്ടുള്ള പുസ്തകങ്ങളിൽ ഉള്ളതുപോലെയുള്ള എഴുത്തുകാരുടെ ഓർമ്മക്കുറിപ്പുകളാണ് ഇതും.&lt;/p&gt;
&lt;p&gt;ഇതിൻറെ പുസ്തകപ്രകാശനത്തിൽ അവർ പറഞ്ഞത്, ഇതുവരെ പുറത്തിറങ്ങിയ അവരുടെ പുസ്തകങ്ങളിൽ ഏറെ ഗൗരവത്തോടെ വായനക്കാർക്ക് മുന്നിൽ വയ്ക്കുന്ന പുസ്തകമാണിതെന്നാണ്.&lt;/p&gt;
&lt;p&gt;അത് സത്യമാണെന്ന് ഇതിന്റെ വായനയിൽ എനിക്ക് തോന്നി. എഴുത്തുകാരിയുടെ മറ്റു പുസ്തകങ്ങൾ ഒരു മഴക്കാലമായിരുന്നെങ്കിൽ തൊട്ടാൽ വിരൽ മുറിയുന്ന പെരുമഴക്കാലമാണ് ഈ പുസ്തകം. ഇതിലെ ഓരോ കഥകളും നമ്മളിലോട്ട് ആഴത്തിൽ പെയ്തിറങ്ങും, അതിൽ നാം നനഞ്ഞും പൊള്ളിയും വായനയുടെ ഒരു കാലം കഴിച്ചു കൂട്ടും.&lt;/p&gt;
&lt;p&gt;ദീപയുടെ കല്യാണദിവസം ആ പെരുമഴയത്ത് അവർ കടന്നുപോയ നിമിഷങ്ങളിലാണ് നാം ആദ്യം ചെന്നെത്തുക, അവർ നിന്നത്പോലെ ഒരു നിസ്സഹായനായി നാമും അതിൽ നിന്നുപോകും. ആ നിമിഷത്തിൽ നിന്ന് എഴുത്തുകാരി ഈ പുസ്തകം സമർപ്പിച്ചിരിക്കുന്ന അനുവിൽ നാം ചെന്നെത്തും. ജരാനരകൾ ബാധിക്കാത്ത അവരുടെ എക്കാലത്തെയും പ്രിയപ്പെട്ട വായനക്കാരനിൽ. അനുവിനെയും അവൻറെ മാതാപിതാക്കളായ രജനിയെയും സുരേഷിനെയും വായിച്ചുകഴിഞ്ഞപ്പോൾ ഞാനാകെ ഉലഞ്ഞ് പോയി. എങ്ങനെയായിരിക്കും ദുഃഖത്തിന്റെ മഹാസമുദ്രം അവർ നീന്തി കടക്കുന്നത്. അവരുടെ കണ്ണുനീർ ഒരു മുറിവ് പോലെയെന്റെ ഹൃദയത്തെ വേദനിപ്പിക്കാൻ തുടങ്ങി. അതിൽ നിന്ന് എനിക്ക് രക്ഷപ്പെടാൻ പറ്റില്ലെന്ന് എൻറെ കണ്ണുകൾ പറയുന്നുണ്ടായിരുന്നു. &lt;/p&gt;
&lt;p&gt;ഒരു &lt;a href="https://www.binovarghese.com/ml/2021/sep/mammootty-70/"&gt;മമ്മൂട്ടി ആരാധകൻ&lt;/a&gt; എന്നുള്ളതുകൊണ്ട് ഞാൻ &amp;lsquo;മമ്മൂട്ടി സുബ്രു&amp;rsquo; വിനെ വേഗം വായിച്ചു. 16 ലക്ഷത്തിലകം അധികം രൂപയുടെ ലോട്ടറിയെടുത്ത ആ മനുഷ്യൻ താരാരാധനയുടെ മൂർത്തി ഭാവമാണ്. മമ്മൂട്ടി എന്ന മഹാനടനെ മാത്രം ഉപാസിച്ച്, ജീവിതം ഹോമിച്ച അയാളെ മമ്മൂട്ടി തിരിച്ചറിഞ്ഞു എന്നത് മാത്രമാണ് എന്നെ ആശ്വസിപ്പിച്ചത്.&lt;/p&gt;
&lt;p&gt;പല കുറിപ്പുകൾ സഞ്ചരിച്ച് പിന്നെ നമ്മൾ എത്തുന്നത് ജയാപ്പനിലാണ്. ഗൾഫിൽ നിന്ന് മടങ്ങിവരുന്ന പുള്ളി മുറ്റമടിക്കുകയും അസാമാന്യ രുചിയോടെ എന്തും പാചകം ചെയ്യുകയും ചെയ്യുന്ന ആളാണ്, പതിയെ അദ്ദേഹം ഒരു വീട് മുഴുവൻ ഏറ്റെടുക്കുന്ന മനോഹരമായ കാഴ്ച നമ്മൾ കാണും. ജയാപ്പൻ ഒരു മധുരമുള്ള കഥയാകുമ്പോൾ അപ്പുറത്ത് ജീവിതകാലം മുഴുവൻ വീട് ചുമന്ന് ജീവിതം തീർന്നു പോകുമ്പോൾ, ഒരു ജോലിയും ചെയ്യുന്നില്ലെന്നും പറയുന്ന സ്ത്രീജനങ്ങൾ നോവിന്റെ നനവാകും.&lt;/p&gt;
&lt;p&gt;സ്ത്രീകൾ ഈ ലോകത്ത് നേരിടേണ്ട മുറിവുകൾ ഇങ്ങനെ പലയിടത്തും എഴുത്തുകാരി കുറിച്ചു വെയ്ക്കുന്നുണ്ട്. പരാജയപ്പെട്ടു പോകുമ്പോൾ തിരികെ കയറി വരാൻ ഒരു കൂടില്ലാത്തവരും, മറ്റുള്ളവർക്ക് വേണ്ടി ജീവിച്ച് സ്വന്തം ജീവിതം ഹോമിക്കേണ്ടി വരുന്ന ജന്മങ്ങളെയും, കാമകണ്ണുകളുടെ മുറിപ്പാടുകൾ ഒരു ജീവിതം മുഴുവൻ കൊണ്ടുനടക്കേണ്ടി വരുന്ന പെൺകുട്ടികളെയും ഈ കുറിപ്പുകളിൽ കാണാം, അവർ എല്ലാം നമ്മുടെ ഹൃദയത്തിൻറെ അടിത്തട്ടിൽ ഒരു നെരിപ്പോട് സൃഷ്ടിക്കും.&lt;/p&gt;
&lt;p&gt;ജാതി വേർതിരിവ് കേരളത്തിൽ ഇല്ലായെന്ന് പലയിടത്തും പറയുന്ന നമുക്കുള്ള തിരുത്താണ് &amp;lsquo;ജാതി ഒരു മരമല്ലേ&amp;rsquo; എന്ന കുറിപ്പ്. മകളെ പ്രണയിച്ച അന്യജാതിക്കാരനെ കൊന്നുകളഞ്ഞ ഈ നാട്ടിൽ, ജാതി വേർതിരിവ് ഇല്ലാത്തത് വാട്സ്ആപ്പ് സ്റ്റാറ്റസുകളിൽ മാത്രമാണെന്ന് എഴുത്തുകാരിയുടെ ഈ കുറിപ്പ് നമ്മളോട് ഉറക്കെ പറയും. &lt;/p&gt;
&lt;p&gt;ഒടുവിൽ നാം &amp;lsquo;ഓർമ്മയിൽ പെറ്റു പെരുകുന്ന ഒരാൾ&amp;rsquo; എന്ന കുറിപ്പിൽ എത്തും. പ്രകാശ് മാഷിനെ കുറിച്ച് എനിക്കെന്ത് എഴുതണമെന്ന് അറിയില്ല. ഒരു കൂട്ടം മനുഷ്യനെ തന്നിലേക്ക് ചേർത്ത് നിർത്തിയിട്ട്, ഒരു മഴയുള്ള രാത്രിയിൽ അദ്ദേഹം പോയിക്കളഞ്ഞത് എന്തിനാണെന്ന് എനിക്കറിയില്ല. മാഷൊരു മേഘരൂപനായിരുന്നു. സെലീന ചേച്ചിയുടെ കാമുകനായും ഭർത്താവായും, സമരമുഖത്തെ മിന്നൽപിണരായ സഖാവായും, കുട്ടികൾക്ക് ഏറ്റവും പ്രിയപ്പെട്ട അധ്യാപകനായും, ചുറ്റുമുള്ള എല്ലാവരെയും ചേർത്തുനിർത്തുന്ന മനുഷ്യനായും അദ്ദേഹം പകർന്നാടി. &lt;/p&gt;
&lt;p&gt;എങ്ങനെയാണ് ഒരു മനുഷ്യന് എല്ലായിടത്തും നല്ലതാകാൻ സാധിക്കുന്നതെന്ന് എനിക്ക് മനസ്സിൽ ആകുന്നില്ല. മാഷേ, നാം ഇതുവരെ കണ്ടുമുട്ടിയിട്ടില്ല, ഇനിയും കാണുകയുമില്ല, എങ്കിലും താങ്കൾ ഒരു വെളിച്ചം ആണെന്ന് ഞാൻ പറയാൻ ആഗ്രഹിക്കുന്നു. നന്ദി മാഷേ, ക്ഷണിക ജീവിതത്തിലും ഒരു മനുഷ്യന് ഇത്ര മനോഹരമായി ജീവിക്കാൻ സാധിക്കുമെന്ന് ഓർമ്മിപ്പിച്ചതിന്. പ്രിയപ്പെട്ട സെലീന ചേച്ചി ഇനിയും നിങ്ങൾ ഇരുവരും വറ്റിവരളാത്ത പ്രണയ സ്നേഹങ്ങളുടെ നദിയായി ഒഴുകുക. &lt;/p&gt;
&lt;p&gt;ഈ ഓർമ്മകുറിപ്പുകളുടെ വായനക്കിടയിൽ പലയിടത്തും ഞാൻ പുസ്തകം അടച്ചു വച്ചിട്ട് എന്നെ തന്നെ സമാധാനിപ്പിച്ചു. ഓരോ മനുഷ്യനും കടന്നുപോകുന്ന ദുഃഖത്തിന്റെ മഹാസമുദ്രം അവർ നീന്തികടക്കുമായിരിക്കും എന്ന് ഞാൻ എന്നെത്തന്നെ ആശ്വസിപ്പിച്ചു. ഇപ്പോൾ എഴുത്തുകാരിയുടെ ഓർമ്മകൾ എന്റേത് കൂടെ ആയിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;പ്രിയപ്പെട്ട ദീപാനിശാന്ത്, ഓർമ്മകൾ ഇങ്ങനെ ഭംഗിയായി വരച്ചിട്ടതിന്, എഴുത്തിന്റെ &amp;lsquo;തോറാന&amp;rsquo; പെരുമഴയിൽ നനയുവാൻ അവസരം തന്നതിന്, നന്ദിയും സ്നേഹവും നേരുന്നു. കൂടുതൽ എഴുതാൻ കാലം അനുഗ്രഹിക്കട്ടെ.&lt;/p&gt;</description></item><item><title>നാടോടി</title><link>https://www.binovarghese.com/ml-musings/2025/11/blue-pocket/</link><pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/11/blue-pocket/</guid><description>&lt;p&gt;നീല പോക്കറ്റിൽ&lt;br&gt;
സൂര്യപ്രകാശവും,&lt;br&gt;
കഥകൾ നിറഞ്ഞ&lt;br&gt;
കണ്ണുകളും, കാറ്റിന്റെ&lt;br&gt;
പുഞ്ചിരികളുമുള്ള&lt;br&gt;
ഒരു നാടോടി കണക്കെ&lt;br&gt;
ജീവിക്കുക.&lt;/p&gt;</description></item><item><title>Start the Hugo server with your local IP</title><link>https://www.binovarghese.com/notes/2025/10/run-hugo-with-ip/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/10/run-hugo-with-ip/</guid><description>&lt;p&gt;I want to share my writings to my colleague thorugh my IP before publishing it. So here how I done it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Get your IP using the command &lt;code&gt;ipconfig&lt;/code&gt; from the terminal.&lt;/li&gt;
&lt;li&gt;Go to your Hugo project&amp;rsquo;s root directory in your terminal.&lt;/li&gt;
&lt;li&gt;Run the following command, replacing &lt;code&gt;&amp;lt;YOUR_NETWORK_IP&amp;gt;&lt;/code&gt; with the IP address.&lt;/li&gt;
&lt;li&gt;&lt;code&gt; hugo server --bind 0.0.0.0 --baseUrl http://&amp;lt;YOUR_NETWORK_IP&amp;gt;:1313&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The server will start, and the output should show the website is available at &lt;code&gt;http://&amp;lt;YOUR_NETWORK_IP&amp;gt;:1313&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>ജോർജ്ജിയ, ഭാഗം 2 : പഴമയും പുതുമയും വീഞ്ഞ് നുകരുന്നയിടം</title><link>https://www.binovarghese.com/ml/2025/10/georgia-tales-part-2/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/10/georgia-tales-part-2/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2025/georgia/101.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2025/10/georgia-tales-part-1/"&gt;ഒന്നാം ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ഞാനാ ഹോസ്റ്റലിൻ്റെ വാതുക്കൽ വന്നുനിന്നു. പച്ചയും ചുമപ്പും മഞ്ഞയും തുടങ്ങി പല നിറങ്ങൾ നിറഞ്ഞുനിന്ന വാതിൽ അടഞ്ഞു കിടന്നിരുന്നു. ഞാൻ അലക്സിനെ വിളിച്ചു, ഞാൻ ഹോസ്റ്റലിൽ വാതിൽക്കൽ ഉണ്ടെന്നു പറഞ്ഞപ്പോൾ അവൻ പറഞ്ഞു കയറി വരൂ വാതിൽ പൂട്ടിയിട്ടില്ലെന്ന്.&lt;/p&gt;
&lt;p&gt;ഞാൻ വാതിൽ പതിയെ തള്ളിത്തുറന്നു. ഇന്‍സ്റ്റഗ്രാമിലെ സൗന്ദര്യാത്മകത നിറഞ്ഞ റീലുകൾ കാണുന്നത് പോലെ ഭംഗിനിറഞ്ഞ ഒരു അകത്തിടം. അകത്തു കയറി വാതിൽ അടച്ചപ്പോൾ, അവിടെ ആരുമില്ല. വാതിലിന്റെ പുറകിൽ ഒരു ചാർലി ചാപ്ലിന്റെ പെയിൻറിംഗ് ഉണ്ടായിരുന്നു, അതിനോട് ചേർന്ന് വലിയൊരു ഷൂറാക്കും, തൊട്ട് അപ്പുറത്ത് മുകളിലോട്ട് പോകാനുള്ള കോണിപ്പടിയും, അവയുടെ മുന്നിലായി ചെറിയൊരു ലീവിങ് സ്പേസം. പല നിറത്തിലുള്ള ചുറ്റുമുള്ള ചുമരുകളിൽ കഴിവുള്ള ഏതോ കലാകാരന്റെ നിറങ്ങൾ പൂക്കളായും ചെടികളായും ഭൂമിയായും അവിടെ നിറഞ്ഞ് നിന്നു.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8/115.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8/115_hu_bc22c5a67e8731e9.webp 400w,
 /img/ml/2025/georgia/1-8/115_hu_67f8c7bb73bb5d95.webp 700w,
 /img/ml/2025/georgia/1-8/115_hu_8456925beb8505cc.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8/115_hu_453e29343a5d4564.jpeg"
 srcset="
 /img/ml/2025/georgia/1-8/115_hu_aea2aef5b4ed49fc.jpeg 400w,
 /img/ml/2025/georgia/1-8/115_hu_453e29343a5d4564.jpeg 700w,
 /img/ml/2025/georgia/1-8/115_hu_29f5f79a0ee445d4.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8/115.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8/117.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8/117_hu_45fbe0efca8c7c49.webp 400w,
 /img/ml/2025/georgia/1-8/117_hu_525b79f79f01b0d7.webp 700w,
 /img/ml/2025/georgia/1-8/117_hu_1600d50b7d385c0f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8/117_hu_ead5e95bc05f06c3.jpeg"
 srcset="
 /img/ml/2025/georgia/1-8/117_hu_ded537ac411293b5.jpeg 400w,
 /img/ml/2025/georgia/1-8/117_hu_ead5e95bc05f06c3.jpeg 700w,
 /img/ml/2025/georgia/1-8/117_hu_35317dfbb9aa8c8b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8/117.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8/118.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8/118_hu_3a6876d259ffcbbd.webp 400w,
 /img/ml/2025/georgia/1-8/118_hu_f963040066098f3.webp 700w,
 /img/ml/2025/georgia/1-8/118_hu_53337be4b094720e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8/118_hu_658c6f585f11b6d.jpeg"
 srcset="
 /img/ml/2025/georgia/1-8/118_hu_e0adff4a1de81a5e.jpeg 400w,
 /img/ml/2025/georgia/1-8/118_hu_658c6f585f11b6d.jpeg 700w,
 /img/ml/2025/georgia/1-8/118_hu_394e5f7a0ef10df6.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8/118.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;വെബ്സൈറ്റിൽ കണ്ടതുപോലെ തന്നെ ഹോസ്റ്റൽ മനോഹരമായിരുന്നു. പെട്ടന്ന് അലക്സ് അങ്ങോട്ട് കടന്നുവന്നു, ചിരിച്ചുകൊണ്ട് അയാൾ എന്നെ സ്വാഗതം ചെയ്തു. നീണ്ട മെലിഞ്ഞ ചെമ്പൻ മുടിയുള്ള വെളുത്ത ഒരു ഉക്രൈൻകാരനാണ് അലക്സ്, സൗമ്യൻ.&lt;/p&gt;
&lt;p&gt;അലക്സ് എനിക്ക് ഹോസ്റ്റലിലെ കാര്യങ്ങൾ പറഞ്ഞു തന്നു. പ്രധാന വാതിൽ അടയ്ക്കാറില്ല, ഇത് പല ദേശത്തിലുള്ള ആളുകൾ വന്നു പോകുന്ന സ്ഥലമാണ്. ഒറ്റയ്ക്കും കൂട്ടമായും സഞ്ചരിക്കുന്ന യാത്രികർ. അവർ പലരും പല സമയങ്ങളിൽ വരും പോകും, അതുകൊണ്ടുതന്നെ അവർക്ക് വേണ്ടി ഈ ചാർലി ചാപ്ലിൻ സദാ ഉണർന്നിരിക്കും.&lt;/p&gt;
&lt;p&gt;ഹോസ്റ്റൽ ആയതുകൊണ്ട് തന്നെ അടുക്കളയും, തുണി അലക്കാനും വിരിക്കാനുള്ള സൗകര്യങ്ങളുമുണ്ട്. മനോഹരമായ കാഴ്ചകൾ തരുന്ന ചെറിയൊരു ബാൽക്കണിയും ലിവിങ്ങ് സ്പേസിനോട് ചേർന്നുണ്ട്. രാത്രി 11 കഴിഞ്ഞാൽ മുറികളിലെ ലൈറ്റ് ഓഫ് ആക്കണം, എന്ത് ആവശ്യത്തിനും അവനെ വിളിക്കാം, അങ്ങനെ പലതും പറഞ്ഞുതന്നു അലക്സ്.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/468303789.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8-1/468303789_hu_2473507a6f8e0988.webp 400w,
 /img/ml/2025/georgia/1-8-1/468303789_hu_e317f82d132c94a1.webp 700w,
 /img/ml/2025/georgia/1-8-1/468303789_hu_30a6e653ba53e2ff.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/468303789_hu_3100db31b2f878b1.jpg"
 srcset="
 /img/ml/2025/georgia/1-8-1/468303789_hu_f336ac176cdab22e.jpg 400w,
 /img/ml/2025/georgia/1-8-1/468303789_hu_3100db31b2f878b1.jpg 700w,
 /img/ml/2025/georgia/1-8-1/468303789_hu_7d5145cd1952d3a2.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8-1/468303789.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/namastae-hostel-1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_5b0eadd1a14a4953.webp 400w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_8afd25408a0612b0.webp 700w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_9ef7a78619973cd0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_cd6ce7cc4b0c362e.jpg"
 srcset="
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_b43a87bfe8796845.jpg 400w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_cd6ce7cc4b0c362e.jpg 700w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-1_hu_c3913b4ba32538f5.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8-1/namastae-hostel-1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/namastae-hostel-2.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_ae4b4b5b2c44a72c.webp 400w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_d1d5563ac7778687.webp 700w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_7602ec3a31cb6237.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_93fc3d26ab6e393a.jpg"
 srcset="
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_42cd09debb33ed12.jpg 400w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_93fc3d26ab6e393a.jpg 700w,
 /img/ml/2025/georgia/1-8-1/namastae-hostel-2_hu_9ec4a5dc6415d9fc.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-8-1/namastae-hostel-2.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;പിന്നീട് അവൻ മുകളിലെ നിലയിലുള്ള എൻറെ ഡോർമെട്രി കാണിച്ചു തന്നു. ആറ് കട്ടിലിലായി പന്ത്രണ്ട് പേർക്ക് താമസിക്കാൻ പറ്റുന്ന ഒരു ഡോർമെറ്ററി ആയിരുന്നു അത്, വൃത്തിയും ഭംഗിയുമുണ്ട് അതിന്. കട്ടിലുകളെല്ലാം തുണികൊണ്ട് മറച്ചിട്ടുണ്ടായിരുന്നു. രണ്ട് കട്ടിലുള്ളതിൽ മുകളിലത്തേതായിരുന്നു എന്റേത്, എല്ലാർക്കും ലോക്കറുമുണ്ട്, കൊള്ളാം സൗകര്യങ്ങൾ എനിക്കിഷ്ടമായി.&lt;/p&gt;
&lt;p&gt;വൈകുന്നേരം പുറത്തു പോകേണ്ടതു കൊണ്ട് തന്നെ, പച്ച ടൈൽ വിരിച്ച മനോഹരമായ കുളിമുറിയിൽ കുളികഴിഞ്ഞ്, ഞാൻ പെട്ടെന്ന് തന്നെ ഹോസ്റ്റലിൽ നിന്നിറങ്ങി.&lt;/p&gt;
&lt;p&gt;വൈകുന്നേരത്തെ ആഹാരം കഴിച്ചിട്ടാകാം കറക്കമെന്ന് തീരുമാനിച്ചുകൊണ്ട്, അലക്സിനോട് ചോദിച്ചു രണ്ട് ഹോട്ടലുകൾ ഞാൻ മനസ്സിലാക്കി. ഒന്ന് തായ് റസ്റ്റോറന്റും മറ്റേത് ജോർജ്ജിയനുമായിരുന്നു അവൻ പറഞ്ഞു തന്നത്. തായ് ഭക്ഷണം എനിക്ക് അത്ര താൽപര്യമില്ലായിരുന്നു, അതുകൊണ്ടുതന്നെ ഞാൻ ജോർജ്ജിയൻ ഭക്ഷണം കഴിക്കാമെന്ന് കരുതി.&lt;/p&gt;
&lt;p&gt;ഗൂഗിൾ മാപ്പിൽ ഹോട്ടലിൻ്റെ ലൊക്കേഷൻ നോക്കി ഞാൻ യാത്ര തുടങ്ങി. ജോർജ്ജിയയെന്ന മനോഹരരാജ്യത്തിലെ എൻറെ ആദ്യത്തെ വൈകുന്നേരം, സന്തോഷം തോന്നിയെനിക്ക്. കല്ലുവിരിച്ച് ചെറിയ വഴികളും, പഴമയും പുതുമയും നിറഞ്ഞ ഭംഗിയുള്ള കെട്ടിടങ്ങളും, അതിൽ പലയിടത്തും നിറഞ്ഞ പച്ചപ്പും എന്നെ നോക്കി പുഞ്ചിരിച്ചു കൊണ്ട് എനിക്ക് സ്വാഗതം പറഞ്ഞു.&lt;/p&gt;
&lt;p&gt;ഞാൻ ലക്ഷ്യത്തിലേക്ക് നടന്നു, ഏകദേശം പത്ത് മിനിറ്റ് നടന്നതിനു ശേഷം, ഞാൻ ഹോട്ടലിന്റെ മുൻപിൽ എത്തി. ചെറുതാണെങ്കിലും മഞ്ഞവെളിച്ചം കൊണ്ട് അലങ്കരിച്ചിരിക്കുന്ന ഹോട്ടൽ, ഒന്നുടെ നോക്കിയപ്പോളാണ് എനിക്ക് മനസ്സിലായത് മാപ്പിലിട്ടിരുന്ന ലൊക്കേഷൻ മാറിപ്പോയി, എത്തിച്ചേർന്നത്
തായ് റസ്റ്റോറന്റിലാണ്. ആദ്യത്തെ വൈകുന്നേരം തന്നെ പാളിച്ചകൾ ആണല്ലോ എന്ന് ഞാൻ സ്വയം പറഞ്ഞു, പക്ഷേ തളരുത് രാമൻകുട്ടി എന്ന് പറഞ്ഞു കൊണ്ട് ജോർജ്ജിയൻ റസ്റ്റോറന്റിലേക്ക് വീണ്ടും നടന്നു ഞാൻ.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-9/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-9/1_hu_9bc771e71340e5b7.webp 400w,
 /img/ml/2025/georgia/1-9/1_hu_51f77d27cc759fee.webp 700w,
 /img/ml/2025/georgia/1-9/1_hu_f0ed95886004f64f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-9/1_hu_2cb428a7064400d6.jpeg"
 srcset="
 /img/ml/2025/georgia/1-9/1_hu_81ba5b6f859e94a7.jpeg 400w,
 /img/ml/2025/georgia/1-9/1_hu_2cb428a7064400d6.jpeg 700w,
 /img/ml/2025/georgia/1-9/1_hu_a4e9a637ef708721.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-9/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-9/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-9/3_hu_f1aa7c26ee958aaa.webp 400w,
 /img/ml/2025/georgia/1-9/3_hu_8f4dfca41a7f7310.webp 700w,
 /img/ml/2025/georgia/1-9/3_hu_40d6b556403a660c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-9/3_hu_90286e8ddbf208dd.jpeg"
 srcset="
 /img/ml/2025/georgia/1-9/3_hu_6229c393288f97ad.jpeg 400w,
 /img/ml/2025/georgia/1-9/3_hu_90286e8ddbf208dd.jpeg 700w,
 /img/ml/2025/georgia/1-9/3_hu_3adfde9ca051cac9.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-9/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-9/4.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-9/4_hu_8ade59d1d4b9760a.webp 400w,
 /img/ml/2025/georgia/1-9/4_hu_59d7b0b954e0ee48.webp 700w,
 /img/ml/2025/georgia/1-9/4_hu_2434cfe83f7cf205.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-9/4_hu_f794760610efdd66.jpeg"
 srcset="
 /img/ml/2025/georgia/1-9/4_hu_e7348fe114e273db.jpeg 400w,
 /img/ml/2025/georgia/1-9/4_hu_f794760610efdd66.jpeg 700w,
 /img/ml/2025/georgia/1-9/4_hu_6327393a97577e01.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-9/4.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;കല്ലുവിരിച്ച റോഡിന്റ വശങ്ങളിലുള്ള നടപ്പാതയിലൂടെ ഞാൻ നടന്നു ചെന്നത് ഒരു തെരുവിലാണ്. ഇരുവശവും നിറയെ ഭക്ഷണശാലകൾ ഉള്ള മഞ്ഞയും കറുപ്പും അണിഞ്ഞു നിൽക്കുന്ന സുന്ദര സ്ഥലം. ആ തെരുവിൽ ആളുകൾ നിറഞ്ഞു കവിഞ്ഞ് നടക്കുന്നുണ്ടായിരുന്നു, അതിൽ നിറയെ ഭംഗിയുള്ള മനുഷ്യർ, അവർക്കിടയിലൂടെ സന്തോഷം നിറഞ്ഞ് കവിഞ്ഞ് ഒഴുകുന്നത് പോലെ എനിക്ക് തോന്നി.&lt;/p&gt;
&lt;p&gt;സായംസന്ധ്യ ആകാറായത് കൊണ്ട് ആഘോഷമയമാണ് എല്ലായിടവും. ചുറ്റും സംഗീതവും കലപില ശബ്ദങ്ങളും നിറഞ്ഞുനിന്നു അവിടെ. അതിൽ അലക്സ് പറഞ്ഞ ഭക്ഷണശാല ഞാൻ കണ്ടെത്തി, &amp;ldquo;ബർണാഡ്&amp;rdquo; അതായിരുന്നു അതിന്റെ പേര്.&lt;/p&gt;
&lt;p&gt;ഞാൻ അതിലോട്ട് കയറാൻ നോക്കിയപ്പോൾ, വാതുക്കൽ വലിയൊരു നായ കിടക്കുന്നു. കണ്ടിട്ട് ഭീമാകാരൻ ആണെങ്കിലും അത് ശാന്തമായി ഉറങ്ങുവാണ്. അതിനു ചുറ്റും ആളുകൾ ഉണ്ട്, ഞാൻ തെല്ലു ഭയത്തോടെ വശം ചേർന്ന് ഹോട്ടലിന്റെ ഉള്ളിലേക്ക് കയറി.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-10/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-10/1_hu_18e833e9b5e2c32c.webp 400w,
 /img/ml/2025/georgia/1-10/1_hu_5bb3378bf2ebe277.webp 700w,
 /img/ml/2025/georgia/1-10/1_hu_89a0d10465633a73.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-10/1_hu_6abd9064b535ec73.jpeg"
 srcset="
 /img/ml/2025/georgia/1-10/1_hu_9d4112c671a7ebf8.jpeg 400w,
 /img/ml/2025/georgia/1-10/1_hu_6abd9064b535ec73.jpeg 700w,
 /img/ml/2025/georgia/1-10/1_hu_5c5ea44d04925b6c.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-10/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-10/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-10/2_hu_5e69e3dc12f12444.webp 400w,
 /img/ml/2025/georgia/1-10/2_hu_abd79b1b3bddd524.webp 700w,
 /img/ml/2025/georgia/1-10/2_hu_e9e306bb2c2474be.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-10/2_hu_6e822c8499432787.jpeg"
 srcset="
 /img/ml/2025/georgia/1-10/2_hu_b889ffb58b320094.jpeg 400w,
 /img/ml/2025/georgia/1-10/2_hu_6e822c8499432787.jpeg 700w,
 /img/ml/2025/georgia/1-10/2_hu_d3b7b3e7825c9ad0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-10/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-10/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-10/3_hu_7b77783afe6f7191.webp 400w,
 /img/ml/2025/georgia/1-10/3_hu_3a620cbaedd141d1.webp 700w,
 /img/ml/2025/georgia/1-10/3_hu_438655cb880b6865.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-10/3_hu_2c68550655d5f1d7.jpeg"
 srcset="
 /img/ml/2025/georgia/1-10/3_hu_3bd48cd011080e69.jpeg 400w,
 /img/ml/2025/georgia/1-10/3_hu_2c68550655d5f1d7.jpeg 700w,
 /img/ml/2025/georgia/1-10/3_hu_7a707d4540586c1f.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-10/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;നല്ല തിരക്കുണ്ട്, കറുപ്പണിഞ്ഞ വെയിറ്റേഴ്‌സ് ഓടിനടക്കുന്നു ചുറ്റിലും. ഞാൻ ഒഴിഞ്ഞൊരു സീറ്റ് നോക്കിയിരുന്നു. കുറച്ച് കഴിഞ്ഞ് ഒരു വെയ്റ്റർ വന്നു. തന്ന മെനുവിൽക്കൂടെ ഞാനൊന്ന് കണ്ണോടിച്ചിട്ട് ഖിങ്കാലി ഓർഡർ ചെയ്തു.&lt;/p&gt;
&lt;p&gt;ജോര്‍ജ്ജിയയിലെ ഏറ്റവും പ്രശസ്തമായ ഭക്ഷണങ്ങളിലൊന്നാണ് ഖിങ്കാലി, മലനിരകളുടെ ആത്മാവ് നിറച്ചൊരു ഭക്ഷണം. നമ്മുടെ നാട്ടിലെ മോമോസ് പോലെയിരിക്കുമത്. പച്ചക്കറിയോ ഇറച്ചിയോ, സൂപ്പ് പരുവത്തിൽ മാവിനുള്ളിൽ പൊതിഞ്ഞ് വേവിച്ചെടുക്കുന്ന ആഹാരമാണിത്. അതുകൂടാതെ അവിടെ ബിയറും, വൈനും, ചാച്ചാ എന്ന ജോർജ്ജിയൻ വാറ്റും കിട്ടും. ഞാൻ ചുറ്റും നോക്കി, വിദേശികളും സ്വദേശികരും ഭക്ഷണം ആസ്വദിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;കുറച്ചുകഴിഞ്ഞ് ഖിങ്കാലി വെയിറ്റർ കൊണ്ട് തന്നു, അഞ്ചണ്ണം ഉണ്ടായിരുന്നു ഒരു പ്ലേറ്റിൽ. അത് കിട്ടിയപ്പോൾ ഞാൻ ഒന്നെടുത്ത് കത്തികൊണ്ട് മുറിച്ച് കഴിക്കാൻ ശ്രമിച്ചു. അപ്പോൾ പാത്രത്തിലോട്ട് അതിനുള്ളിലെ സൂപ്പ് ഒഴുകിയിറങ്ങി. ഇത് കണ്ട് എനിക്കിത് കഴിക്കാൻ അറിയില്ലയെന്ന് മനസ്സിലാക്കിയ ഒരു വെയ്റ്റർ എൻറെ അരികിൽ വന്നു പറഞ്ഞു, &amp;ldquo;അത് കയ്യിൽ എടുത്ത്, ചെറുതായി കടിച്ചിട്ട് അതിലെ സൂപ്പ് കുടിക്കണം ആദ്യം, എന്നിട്ട് വേണം ബാക്കി കഴിക്കാൻ&amp;rdquo;. അപ്പോഴാണ് അതിനകത്ത് സൂപ്പുണ്ടന്നും, അത് എങ്ങനെയാണ് കഴിക്കേണ്ടതെന്നും എനിക്ക് മനസ്സിലായത്. യാത്രകൾ നമ്മളെ പുതിയ പല കാര്യങ്ങളും പഠിപ്പിക്കുമെന്ന് മനസ്സ് മന്ത്രിച്ചു അപ്പോൾ.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-11/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-11/1_hu_92f11f075d55c8c6.webp 400w,
 /img/ml/2025/georgia/1-11/1_hu_eac1d74d5601665a.webp 700w,
 /img/ml/2025/georgia/1-11/1_hu_97e1295bee1338b1.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-11/1_hu_e8ef212ee39c14f0.jpeg"
 srcset="
 /img/ml/2025/georgia/1-11/1_hu_33efa5f1fb340b12.jpeg 400w,
 /img/ml/2025/georgia/1-11/1_hu_e8ef212ee39c14f0.jpeg 700w,
 /img/ml/2025/georgia/1-11/1_hu_f8b0964cf421d11b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-11/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-11/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-11/2_hu_65fe02fb184a1aa9.webp 400w,
 /img/ml/2025/georgia/1-11/2_hu_8c12a8de2ed5430c.webp 700w,
 /img/ml/2025/georgia/1-11/2_hu_e909f018121d4f6e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-11/2_hu_8bbab7fcd887f4f7.jpeg"
 srcset="
 /img/ml/2025/georgia/1-11/2_hu_4b121ecce247b134.jpeg 400w,
 /img/ml/2025/georgia/1-11/2_hu_8bbab7fcd887f4f7.jpeg 700w,
 /img/ml/2025/georgia/1-11/2_hu_fffba3841c398a26.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-11/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-11/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-11/3_hu_b3f6e57e84775aac.webp 400w,
 /img/ml/2025/georgia/1-11/3_hu_b477a5eacfa16315.webp 700w,
 /img/ml/2025/georgia/1-11/3_hu_6c8527b26d82fc23.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-11/3_hu_7dc88a541141f01b.jpeg"
 srcset="
 /img/ml/2025/georgia/1-11/3_hu_ef7426e1d6ca16aa.jpeg 400w,
 /img/ml/2025/georgia/1-11/3_hu_7dc88a541141f01b.jpeg 700w,
 /img/ml/2025/georgia/1-11/3_hu_e562a02e8057143a.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-11/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;ആഹാരത്തിന് ശേഷം ഞാൻ അവിടെ നിന്നിറങ്ങി. അടുത്ത ലക്ഷ്യം അവൽബാരി സ്ക്വയർ ആയിരുന്നു. നാളെ അവിടുന്നാണ് എന്റെ കസ്ബെഗി യാത്ര ആരംഭിക്കുന്നത്. ഗൂഗിൾ മാപ്പിൽ ലൊക്കേഷനിട്ടു ഞാൻ നടപ്പ് തുടർന്നു. മുന്നോട്ട് നടക്കും വഴി ദൂരെ മലമുകളിൽ &amp;lsquo;മദർ ഓഫ് ജോർജിയ&amp;rsquo; എന്ന വിഖ്യാത പ്രതിമ കാണാം. ഒരു കൈയിൽ വാളും മറുകൈയിൽ വീഞ്ഞ് പാത്രവുമായി നിൽക്കുന്ന ജോർജ്ജിയയുടെ കാവൽ ദേവത.&lt;/p&gt;
&lt;p&gt;അപ്പോഴേക്കും സമയം 9 കഴിഞ്ഞിരുന്നു, ജോര്‍ജ്ജിയയിലെ തെരുവുകൾ പ്രകാശപൂരിതമാണ്. ഞാൻ വീണ്ടും മുന്നോട്ട് നടന്നു, കല്ലുവിരിച്ച റോഡിൻറെ ഒരു വശം മുഴുവൻ മഞ്ഞപ്രകാശത്തിൽ കൊച്ചുകൊച്ചു കടകൾ. പ്രാദേശികരായ കച്ചവടക്കാരാണ്, പലതരത്തിലുള്ള പാവകളും കരകൗശല വസ്തുക്കളും കമ്മലുകളും ഒക്കെ വില്പനയ്ക്ക് ഉണ്ടവിടെ. പല നാട്ടിൽ നിന്ന് വന്നവർ അവ കാണുകയും വാങ്ങുകയും ചെയ്യുന്നുണ്ട്. ഈ വഴികളിൽ എല്ലായിടവും ഈ രാജ്യം സന്ദർശിക്കാൻ വന്ന ടൂറിസ്റ്റുകൾ ആണ്. ഏകദേശം അൻപത് ലക്ഷത്തിൽ അധികം ആളുകൾ ഒരു വർഷം ഇവിടം സന്ദർശിക്കുന്നുണ്ട്. ഈ രാജ്യത്തിന്റെ ഏറ്റവും വലിയ വരുമാന മാർഗ്ഗങ്ങളിൽ ഒന്നാണ് ടൂറിസം.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-12/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-12/2_hu_240bf42780079f19.webp 400w,
 /img/ml/2025/georgia/1-12/2_hu_4307ec31a9657034.webp 700w,
 /img/ml/2025/georgia/1-12/2_hu_de32fbd8a0e8b917.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-12/2_hu_249fafc91b20fc09.jpeg"
 srcset="
 /img/ml/2025/georgia/1-12/2_hu_3335c205e81d9b38.jpeg 400w,
 /img/ml/2025/georgia/1-12/2_hu_249fafc91b20fc09.jpeg 700w,
 /img/ml/2025/georgia/1-12/2_hu_827f637f3611abab.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-12/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-12/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-12/3_hu_3e3624d11ae95583.webp 400w,
 /img/ml/2025/georgia/1-12/3_hu_a370968623628009.webp 700w,
 /img/ml/2025/georgia/1-12/3_hu_9b08e6eb7b6de775.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-12/3_hu_66507a28a79ffcc9.jpeg"
 srcset="
 /img/ml/2025/georgia/1-12/3_hu_22fa430ec9085326.jpeg 400w,
 /img/ml/2025/georgia/1-12/3_hu_66507a28a79ffcc9.jpeg 700w,
 /img/ml/2025/georgia/1-12/3_hu_f901380666b39123.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-12/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-12/4.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-12/4_hu_5a4dd90c385100a7.webp 400w,
 /img/ml/2025/georgia/1-12/4_hu_d7953ef8ba391fa1.webp 700w,
 /img/ml/2025/georgia/1-12/4_hu_e0ec9227c3abe028.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-12/4_hu_fcd28d6d4d21dee6.jpeg"
 srcset="
 /img/ml/2025/georgia/1-12/4_hu_e40587a1df33f30c.jpeg 400w,
 /img/ml/2025/georgia/1-12/4_hu_fcd28d6d4d21dee6.jpeg 700w,
 /img/ml/2025/georgia/1-12/4_hu_1e96e6a6d88bbc4b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-12/4.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;എല്ലാം കണ്ടാസ്വദിച്ച് ഞാൻ പതിയെ ലക്ഷ്യത്തിലേക്ക് നടന്നു. നടക്കും വഴി ഇഷ്ടം പോലെ വീഞ്ഞ് കടകൾ കണ്ടു, 8000 വർഷങ്ങൾക്കു മുൻപ് മുതൽ ഇവിടെ വീഞ്ഞ് ഉത്പാദിപ്പിക്കുന്നുണ്ട്, ലോകത്തിലെ തന്നെ ഏറ്റവും പുരാതനമായി വീഞ്ഞ് നിർമിച്ചിരുന്ന സ്ഥലങ്ങൾ ജോർജ്ജിയയിലാണ്.&lt;/p&gt;
&lt;p&gt;പോകുംവഴി കുറാ നദിക്ക് കുറുകെയുള്ള മെറ്റീഖി പാലവും ഹൈ ഫൈ രാജാവിനെയും ( ആ കഥ പുറകെ പറയാം) കടന്ന് ഞാൻ മുന്നോട്ട് നീങ്ങി. ഒടുവിൽ ചെറിയ ആ കുന്നുകയറി ഞാൻ അവൽബാരി സ്‌ക്വയറിലെത്തി, ഈ സ്‌ക്വയറിനോട് ചേർന്നാണ് അവൽബാരി മെട്രോ സ്റ്റേഷൻ.&lt;/p&gt;
&lt;p&gt;അതിനു മുൻപിലുള്ള സുന്ദരമായ വാട്ടർ ഫൗണ്ടൈന്റെ പടിക്കെട്ടിൽ ഞാൻ കുറച്ചു സമയം വെറുതെയിരുന്ന്, ചുറ്റുപാടിലേക്ക് കണ്ണോടിച്ചു.
വിദ്യാർഥികളടക്കം പലരും അവിടെയിരിപ്പുണ്ട്. ഇരുണ്ട ആകാശത്തിന് കീഴെ മഞ്ഞവെളിച്ചങ്ങളുടെ ശാന്തത ആസ്വദിക്കുന്നവർ, എങ്ങോട്ടൊക്കെയോ യാത്ര ചെയ്യുന്നവർ, പരസ്പരം കഥ പറയുന്നവർ, കഥകൾക്കിടയിൽ പുഞ്ചിരിക്കുകയും പൊട്ടിച്ചിരിക്കുകയും ചെയ്യുന്നവർ, അങ്ങനെ പലരെയും ഞാൻ കണ്ടു. അവരിൽ പലരുടെയും മുഖത്ത് പ്രകാശമുള്ളത് പോലെ തോന്നിയെനിക്ക്. സ്‌ക്രീനുകളുടെ നീലവെളിച്ചങ്ങളുടെ ഇടയിൽ മനുഷ്യരെ കൂടുതൽ കാണണ്ടേ ആവശ്യം ഈ ലോകത്ത് കൂടി വരുന്നത് പോലെ തോന്നാറുണ്ട് എനിക്ക്. അവരുടെ പ്രകാശവും പുഞ്ചിരികളും നമ്മളിലേക്ക് പടരട്ടെ അതുവഴി.&lt;/p&gt;
&lt;p&gt;ഈ വൈകുന്നേരെത്തെ എന്റെ യാത്ര അവസാനിച്ചു. എൻറെ ഹോസ്റ്റലിൽ നിന്ന് ഇങ്ങോട്ടുള്ള വഴിയും കൂടാതെ ഈ നഗരത്തിന്റെ ഏകദേശ രൂപവും മനസ്സിലാക്കുക എന്നുള്ളതായിരുന്നു ഈ വൈകുന്നേരനടപ്പിന്റെ പ്രധാന ലക്ഷ്യം. നഗരത്തെ കൂടുതൽ അറിയുന്നത് വരും ദിവസങ്ങളിലെ യാത്രകൾക്ക് നമ്മെ സഹായിക്കും.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-13/127.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-13/127_hu_1f071cf4c7cfb703.webp 400w,
 /img/ml/2025/georgia/1-13/127_hu_c498c162e560e120.webp 700w,
 /img/ml/2025/georgia/1-13/127_hu_618071684fa3a622.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-13/127_hu_a7c1e29e52545c62.jpeg"
 srcset="
 /img/ml/2025/georgia/1-13/127_hu_58bfc48f1afd02fc.jpeg 400w,
 /img/ml/2025/georgia/1-13/127_hu_a7c1e29e52545c62.jpeg 700w,
 /img/ml/2025/georgia/1-13/127_hu_b4a16d712799d5c9.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-13/127.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-13/128.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-13/128_hu_14539d8a7359a0b6.webp 400w,
 /img/ml/2025/georgia/1-13/128_hu_e5e723e6dc33a442.webp 700w,
 /img/ml/2025/georgia/1-13/128_hu_548e6dacc3b00cc4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-13/128_hu_e5622dd934e1d7db.jpeg"
 srcset="
 /img/ml/2025/georgia/1-13/128_hu_836e5bd0f0b31b9f.jpeg 400w,
 /img/ml/2025/georgia/1-13/128_hu_e5622dd934e1d7db.jpeg 700w,
 /img/ml/2025/georgia/1-13/128_hu_7cd5fcb7421b1b77.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-13/128.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-13/129.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-13/129_hu_fc274d10e24b7777.webp 400w,
 /img/ml/2025/georgia/1-13/129_hu_8e2f15321fd39ee9.webp 700w,
 /img/ml/2025/georgia/1-13/129_hu_97cf785b4a202867.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-13/129_hu_317c0ca4d3107f6a.jpeg"
 srcset="
 /img/ml/2025/georgia/1-13/129_hu_e2481a0f22023183.jpeg 400w,
 /img/ml/2025/georgia/1-13/129_hu_317c0ca4d3107f6a.jpeg 700w,
 /img/ml/2025/georgia/1-13/129_hu_d8387310bb883075.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-13/129.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;റ്റ്ബിലിസി എന്ന നഗരം സ്ഥിതി ചെയ്യുന്നത് കൂറാ (Kura River) നദിക്കിരുവശമാണ്. ടർക്കിയിലെ മൗണ്ട് കിസിൽഗിയാദ് (Mount Kızılgedik) പർവതനിരകളിൽ ആരംഭിച്ച് ജോർജിയയും അസർബൈജാനും കടന്ന് കാസ്പിയൻ കടലിലേക്കാണ് കൂറാ നദി യാത്ര ചെയ്യുന്നത്, ഏകദേശം 1,364 കിലോമീറ്റർ നീളമുള്ള ഒരു നീണ്ടയാത്ര.&lt;/p&gt;
&lt;p&gt;ഈ നദിയാണ് ഈ നഗരത്തെ വളർത്തിയത്, ഇതിന്റെ ഇരു കരയിലും നഗരത്തിന്റെ പഴമയും പുതുമയും കൈ കോർത്ത് നിൽക്കുന്നത് നിങ്ങൾക്ക് കാണാം. ഇതിന് ചുറ്റുമുള്ള ചെറിയ കുന്നുകളിലും മലനിരകളിലും നിങ്ങൾക്ക് ഇടുങ്ങിയ തെരുവുകളും, വർണ്ണശബളമായ വീടുകളും, കഴിഞ്ഞ കാലത്തിന്റെ കോട്ടകളും, വിശുദ്ധിയുടെ പള്ളികളും കാണാം. അതിലുപരി നല്ല സൗഹൃദത്തിന് ഉടമകളായ മനുഷ്യരെ ഈ നഗരത്തിൽ ഉടനീളം നിങ്ങൾ കണ്ട് മുട്ടും.&lt;/p&gt;
&lt;p&gt;നടപ്പ് കഴിഞ്ഞു ഞാൻ ഹോസ്റ്റലിൽ തിരിച്ചെത്തി, അഞ്ച് ദിവസങ്ങൾ ഉണ്ടായിരുന്ന ജോർജ്ജിയ യാത്രയുടെ ഒന്നാം ദിവസം ഇവിടെ അവസാനിച്ചിരിക്കുന്നു. ഇന്നത്തെ യാത്രയുടെ ക്ഷീണത്തിലും, നാളത്തെ കസ്ബെഗി യാത്രയുടെ ആവേശത്തിലും ഞാൻ സുഖമായി കിടന്നുറങ്ങി.&lt;/p&gt;
&lt;p&gt;( തുടരും )&lt;/p&gt;</description></item><item><title>ജോർജ്ജിയ, ഭാഗം 1 : പവിഴദ്വീപിൽ നിന്നും വീഞ്ഞിൻ്റെ നാട്ടിലേക്ക്</title><link>https://www.binovarghese.com/ml/2025/10/georgia-tales-part-1/</link><pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/10/georgia-tales-part-1/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2025/georgia/101.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/travel/"&gt;യാത്രകൾ&lt;/a&gt; എന്നുമെന്നെ ഭ്രമിപ്പിച്ചിരുന്നു. എങ്ങനെയാണ് യാത്രകളോടുള്ള ഇഷ്ടം മനസ്സിൽ കയറിക്കൂടിയതെന്ന് എനിക്കിപ്പോഴും അറിയില്ല. പക്ഷേ ഞാൻ അവയെ ചെറുപ്പം മുതൽ സ്നേഹിച്ചു കൊണ്ടേയിരുന്നു.&lt;/p&gt;
&lt;p&gt;സ്കൂൾ ടൂർ തൊട്ട് തുടങ്ങിയ യാത്രകൾ വളർന്നത് കോളേജ് കാലഘട്ടത്തിലാണ്. കൂട്ടുകാരോടൊപ്പമുള്ള ചെറുതും വലുതുമായ സുന്ദര യാത്രകൾ. ആ യാത്രകളുടെ ഏറ്റവും മനോഹരമായ കാര്യം എന്തെന്നാൽ അവ അവശേഷിപ്പിക്കുന്ന ഓർമ്മകളായിരുന്നു. ആ ഓർമ്മകളുടെ തണുപ്പാണ്, വീണ്ടും വീണ്ടും യാത്ര ചെയ്യാൻ എന്നെ പ്രേരിപ്പിക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;ആ ഓർമ്മകളുടെ കൂട്ടത്തിലേക്ക് മറ്റൊരു യാത്രയും കൂടി ഇപ്പോൾ സംഭവിച്ചിരിക്കുന്നു. ജോർജ്ജിയ, മലനിരകളുടെയും വീഞ്ഞിന്റെയും ആതിഥ്യമര്യാദയുടെയും നാടായ ജോർജ്ജിയ.&lt;/p&gt;
&lt;p&gt;രേഷ്മയുടെ കൂടെ പോകാൻ കുറച്ചുനാൾ മുൻപ് ശ്രമിച്ചെങ്കിലും, പലവിധ സാഹചര്യങ്ങൾ കൊണ്ട് നടന്നില്ല. പിന്നീട് ഈ അടുത്തൊരു രാത്രി ബഹ്‌റൈൻ്റെ ഹൈവേകൾ കൂടിയുള്ള നീണ്ട യാത്രയിൽ, &lt;a href="https://www.binovarghese.com/ml/2020/sep/letter-to-brother/"&gt;ജിനോയോട്&lt;/a&gt; പലതും പറഞ്ഞ കൂട്ടത്തിൽ യാത്രകളും കടന്നു വന്നു.&lt;/p&gt;
&lt;p&gt;എവിടെയെങ്കിലും യാത്ര പോകണമെന്ന് ഞാൻ പറഞ്ഞപ്പോൾ അവനാണ് തിരിച്ചു ചോദിച്ചത്, &amp;ldquo;ഇപ്പോൾ പോകരുതോ? പെരുന്നാളിന്റെ അവധിയല്ലേ വരുന്നതെന്ന്!.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;കുറച്ചു വർഷങ്ങൾക്കു മുമ്പ് ആനന്ദേട്ടനും ഷെറിൻ ചേട്ടനും ഒപ്പം ഈജിപ്തിലേക്ക് യാത്ര പോകാൻ മടിച്ചു നിന്ന് അവനോട് ഞാനാണ് പറഞ്ഞത് &amp;ldquo;പോയിട്ട് വരാൻ&amp;rdquo;. അതുപോലെ അവനും ഇപ്പോൾ എന്നോട് പറയുന്നു, &amp;ldquo;പോയിട്ട് വരാൻ&amp;rdquo;. മഞ്ഞ വെളിച്ചങ്ങളുടെ ഹൈവേയിൽ ഒരു നിമിഷം അവൻ ബുദ്ധനായി. പരസ്പരം വെളിച്ചം പകരുക എന്നുള്ളതാണ് മനുഷ്യരുടെ നിയോഗമെന്ന് തോന്നുന്നു.&lt;/p&gt;
&lt;p&gt;അന്നേരം തന്നെ ഞാൻ തീരുമാനിച്ചു എവിടെയെങ്കിലും പോകാമെന്ന്. ജോർജ്ജിയ അല്ലെങ്കിൽ തുർക്കി അതായിരുന്നു മനസ്സിൽ. ചിലപ്പോളൊക്കെ തീരുമാനം എടുത്ത് കഴിഞ്ഞാൽ പിന്നീട് കാര്യങ്ങൾ എളുപ്പമാണെന്ന് എനിക്ക് പലപ്പോഴും തോന്നിയിട്ടുണ്ട്.&lt;/p&gt;
&lt;p&gt;പിറ്റേന്ന് തന്നെ എവിടെ പോകണമെന്ന് അന്വേഷണം ആരംഭിച്ചു. ആനന്ദേട്ടൻ തുടങ്ങി ചാറ്റ് ജിപ്പിറ്റിയോട് വരെ ചോദിച്ചു എവിടെയൊക്കെ പോകാമെന്ന്. വ്യക്തിപരമായി അറിയാവുന്നതിൽ ഏറ്റവും കൂടുതൽ യാത്ര ചെയ്തിട്ടുള്ളത് ആനന്ദേട്ടനാണ്. തുർക്കിയിൽ ഏതോ ആഭ്യന്തര പ്രശ്നം നടക്കുന്നതു കൊണ്ടും, എളുപ്പം പോകാൻ പറ്റുന്നത് ജോർജ്ജിയ ആയതുകൊണ്ടും ജോർജ്ജിയയിൽ തന്നെ പോകാൻ ഞാൻ തീരുമാനിച്ചു.&lt;/p&gt;
&lt;p&gt;ബഹ്‌റൈൻ റസിഡൻഷ്യൽ പെർമിറ്റ് ഉള്ളതുകൊണ്ട് ജോർജ്ജിയയിൽ ഓൺ അറൈവൽ വിസ (On Arrival Visa) കിട്ടുകയും ചെയ്യും. പിന്നെ ആദ്യത്തെ ഇൻറർനാഷണൽ യാത്രയല്ലേ ഒരു യൂറോപ്യൻ രാജ്യം തന്നെ ആയിക്കോട്ടെന്ന് കരുതി.&lt;/p&gt;
&lt;p&gt;യാത്ര ആസൂത്രണം ചെയ്യാൻ കൂടുതലും സഹായിച്ചത് ആനന്ദേട്ടൻ ആയിരുന്നു. പുള്ളി അവിടെ നേരത്തെ പോയിട്ടുള്ളത് കൊണ്ട് തന്നെ കാര്യങ്ങൾ കുറച്ചുകൂടെ എളുപ്പമായിരുന്നു. ആദ്യം വിമാനടിക്കറ്റ് എടുക്കുക, ബാക്കി കാര്യങ്ങൾ പിന്നീട് നോക്കാമെന്നുള്ള പുള്ളിയുടെ ഉപദേശം ഞാൻ സ്വീകരിച്ചു.&lt;/p&gt;
&lt;p&gt;ജൂൺ ആറാം തീയതി മുതൽ എട്ടാം തീയതിവരെ ഇവിടെ വലിയ പെരുന്നാളിൻ്റെ അവധിയാണ്. വാരാന്ത്യ അവധി ദിവസം പൊതുഅവധി വന്നാൽ അടുത്ത ദിവസങ്ങൾ കൂടെ അവധിയായിരിക്കും ഇവിടെ ( എന്ത് മനോഹരമായ ആചാരം അല്ലേ ?! ). അത് കൊണ്ട് തന്നെ ജൂൺ ആറാം തീയതി മുതൽ പത്താം തീയതി വരെ എനിക്ക് പെരുന്നാളിൻ്റെ അവധി കിട്ടും. ഒരു ദിവസം കാഷ്വൽ ലീവ് കൂടെ എടുത്ത് പതിനൊന്നാം തീയതി മടങ്ങി വരുന്ന രീതിയിൽ ടിക്കറ്റ് എടുക്കാമെന്ന് ഞാൻ തീരുമാനിച്ചു.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ ഏകദേശം ഒരു മാസം മുൻപ് റ്റ്ബിലിസിയിലോട്ടുള്ള എയർ അറേബ്യയുടെ ഫ്ലൈറ്റ് ഞാൻ ബുക്ക് ചെയ്തു. ജൂൺ ആറിന് ബഹ്റൈനിൽ നിന്ന് ഷാർജ വഴി റ്റ്ബിലിസിയിലോട്ടും, തിരിച്ച് ജൂൺ പതിനൊന്നിന് അബുദാബി വഴി ബഹ്‌റൈനിലോട്ടുമാണ് ഞാൻ ബുക്ക് ചെയ്തത്. ജോർജ്ജിയയുടെ തലസ്ഥാനവും ഏറ്റവും വലിയ നഗരവുമാണ് റ്റ്ബിലിസി. ഏകദേശം നാല് മില്യൺ ജനങ്ങളുള്ള ജോർജ്ജിയയുടെ മൂന്നിൽ ഒന്നിൽ കൂടുതൽ ആളുകളും താമസിക്കുന്നത് റ്റ്ബിലിസിയിലാണ്.&lt;/p&gt;
&lt;p&gt;ടൂർ പാക്കേജുകാരുടെ സംഘത്തിൽ ഒറ്റയാനായി യാത്ര ചെയ്യാൻ ചിലവ് കൂടുതലാണ്, ഏറ്റവും കുറഞ്ഞത് രണ്ടുപേരെങ്കിലും വേണം ചെലവുകൾ കുറയാൻ. അതുകൊണ്ടുതന്നെ അവരെ ഒഴിവാക്കി തനിയെ പോകാമെന്ന് തീരുമാനിച്ചു.&lt;/p&gt;
&lt;p&gt;എവിടെപ്പോയാലും കാര്യങ്ങൾ കൃത്യമായി ആസൂത്രണം ചെയ്യണമെന്ന് കരുതുന്ന ആളാണ് ഞാൻ. അതുകൊണ്ട് നേരത്തെ കാര്യങ്ങളെല്ലാം തയ്യാറാക്കാൻ തുടങ്ങി.&lt;/p&gt;
&lt;p&gt;ജോർജ്ജിയയെക്കുറിച്ച് ഏകദേശം കാര്യങ്ങളും പോകണ്ടേ സ്ഥലങ്ങളും ഞാൻ മനസിലാക്കി. യൂറോപ്പിന്റെയും ഏഷ്യയുടെയും ഇടയ്ക്കുള്ള കുന്നും താഴ്‌വരകളും നിറഞ്ഞ മനോഹരമായ ഭൂമി, അതാണ് ജോർജ്ജിയ (Georgia). അവിടെ പ്രധാനമായും ഞാൻ കാണാൻ തീരുമാനിച്ചത് പഴമയും പുതുമയും ചേർന്ന് നമ്മെ മോഹിപ്പിക്കുന്ന റ്റ്ബിലിസി (Tbilisi) നഗരവും, വടക്കൻ ജോർജ്ജിയയിലെ വിസ്മയിപ്പിക്കുന്ന മലനിരകളായ കസ്ബഗിയും (Kazbegi) ഗുദൗരിയും (Gudauri), കിഴക്കൻ ജോർജ്ജിയയിലെ ഗോരി (Gori), പുരാതന നഗരവുമായ മത്സ്ഖെത (Mtskheta), എന്നിവിടങ്ങളിലെ കാഴ്ചകളുമാണ്. കൂടാതെ അവിടുത്തെ മുന്തിരിത്തോപ്പുകളും വീഞ്ഞ് ഫാക്ടറികളും നിറഞ്ഞ കാഖേറ്റിയെന്ന (Kakheti) വൈനിന്റെ ജന്മനാടും.&lt;/p&gt;
&lt;p&gt;കാണാനുള്ള സ്ഥലങ്ങൾ തീരുമാനിച്ച ശേഷം, അവിടെ പോകാനുള്ള വൺഡേ ടൂറുകളും, താമസിക്കാനുള്ള ഹോസ്റ്റൽ സൗകര്യവും ഞാൻ ബുക്കിംഗ് ഡോട്ട് കോമിൽ (booking.com) കൂടി എടുത്തു. എല്ലാ യാത്രകളും റ്റ്ബിലിസിൽ നിന്നും തുടങ്ങി അവിടെത്തന്നെ അവസാനിക്കുന്നതാണ് ഞാൻ തെരഞ്ഞെടുത്തത്. കൂടാതെ അവിടെ ചെന്ന് ഉപയോഗിക്കാനുള്ള ഈ സിമ്മും ഞാൻ മേടിച്ചു.&lt;/p&gt;
&lt;p&gt;അവിടുത്തെ യാത്രകൾക്ക് കുറച്ച് ക്യാഷും കൈയ്യിൽ കരുതണമെന്ന് പലരും എന്നോട് പറഞ്ഞിരുന്നതുകൊണ്ട്, ജോർജ്ജിയൻ ലാരിയും ഞാൻ പറഞ്ഞു വെച്ചിരുന്നു.&lt;/p&gt;
&lt;p&gt;ജിസിസി റസിഡൻഷ്യൽ വിസയും ഒപ്പം അവിടെ പോകണമെങ്കിൽ ട്രാവൽ ഇൻഷുറൻസ് നിർബന്ധമാണ്. അങ്ങനെ വേണ്ടതെല്ലാം തയ്യാറാക്കി ഞാൻ ആ ദിവസത്തിനായി കാത്തിരുന്നു.&lt;/p&gt;
&lt;h3 id="6-ജൺ-2025"&gt;6 ജൂൺ 2025&lt;/h3&gt;
&lt;p&gt;രാവിലെ ജിനോ വന്നു എയർപോർട്ടിൽ കൊണ്ടുവിടാൻ. കൂടെ ആനന്ദേട്ടനും മാത്യുഭായിയും ഉണ്ടായിരുന്നു.&lt;/p&gt;
&lt;p&gt;രാവിലെ 8:55 ആയിരുന്നു ഫ്ലൈറ്റ്, ഏഴു മണി കഴിഞ്ഞപ്പോൾ തന്നെ ഞാൻ ചെക് ഇൻ ചെയ്തു. ബഹ്റിന്റെ ലളിതസുന്ദരമായ എയർപോർട്ടിൽ ചെക് ഇൻ ചെയ്യുന്ന സ്ഥലം വരെ എല്ലാവർക്കും കയറി വരാം. അതുകൊണ്ടുതന്നെ അവരും കൂടെയുണ്ടായിരുന്നു. ബോർഡിങ് പാസ് കിട്ടിയതിനുശേഷം കുറച്ചുനേരം അവരോട് ഞാൻ സംസാരിച്ചു നിന്നു. അതിനു ശേഷം ജിനോയോടും അവരോടും യാത്ര പറഞ്ഞ് എമ്മിഗ്രേഷലേക്ക് നടന്നു ഞാൻ. എയർപോർട്ടിലാണ് ഏറ്റവും മനോഹരമായ യാത്രപറച്ചിലുകൾ സംഭവിക്കുന്നതെന്ന് എനിക്ക് പല യാത്രകളിലും തോന്നിയിട്ടുണ്ട്.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-1/1.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-1/1_hu_816becb810d96fdd.webp 400w,
 /img/ml/2025/georgia/1-1/1_hu_ad5e9b115523db62.webp 700w,
 /img/ml/2025/georgia/1-1/1_hu_29ecf31a6bef479a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-1/1_hu_6c4c3d0ea4380988.webp"
 srcset="
 /img/ml/2025/georgia/1-1/1_hu_baa2fb57d8931f34.webp 400w,
 /img/ml/2025/georgia/1-1/1_hu_6c4c3d0ea4380988.webp 700w,
 /img/ml/2025/georgia/1-1/1_hu_1aa339fd2861f479.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-1/1.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-1/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-1/2_hu_430a4079386b3a47.webp 400w,
 /img/ml/2025/georgia/1-1/2_hu_a497edecf643769b.webp 700w,
 /img/ml/2025/georgia/1-1/2_hu_4c0ee25936b6ae07.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-1/2_hu_cabd8aa651e2d108.jpeg"
 srcset="
 /img/ml/2025/georgia/1-1/2_hu_85f4960c1e4a09b7.jpeg 400w,
 /img/ml/2025/georgia/1-1/2_hu_cabd8aa651e2d108.jpeg 700w,
 /img/ml/2025/georgia/1-1/2_hu_c5937c3d0877602e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-1/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-1/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-1/3_hu_3efa50db0e90410.webp 400w,
 /img/ml/2025/georgia/1-1/3_hu_7867797bbd9e79cb.webp 700w,
 /img/ml/2025/georgia/1-1/3_hu_8b993835fd364274.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-1/3_hu_a67d925872e296b8.jpeg"
 srcset="
 /img/ml/2025/georgia/1-1/3_hu_18de513f746d5965.jpeg 400w,
 /img/ml/2025/georgia/1-1/3_hu_a67d925872e296b8.jpeg 700w,
 /img/ml/2025/georgia/1-1/3_hu_5cb6472914d837be.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-1/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;നേരെ എമിഗ്രേഷൻ, അതിനുശേഷം സുരക്ഷാ പരിശോധനകൾ കഴിഞ്ഞ് ബോർഡിങ് ഗേറ്റിലേക്ക്. ഇന്ത്യയിലെ എയർപോർട്ട് സുരക്ഷാ പരിശോധനകൾവെച്ച് നോക്കുമ്പോൾ ഇവിടുത്തെ സുരക്ഷാ പരിശോധനകൾ കുറച്ചുകൂടെ ലളിതവും സൗഹൃദപരവുമാണ്.&lt;/p&gt;
&lt;p&gt;ഇടയ്ക്ക് പോയി രാവിലത്തെ ആഹാരം കഴിച്ച് വീണ്ടും ഞാൻ ഗേറ്റിൽ തിരിച്ചു വന്നു. ഫ്ലൈറ്റ് ഇരുപത് മിനിറ്റ് വൈകുമെന്ന് സ്ക്രീനിൽ കാണിക്കുന്നുണ്ട്. ഈ സമയത്ത് പ്രിയപ്പെട്ടവരെ ഒക്കെ വിളിക്കുകയും മെസ്സേജ് അയക്കുകയും ചെയ്തു ഞാൻ. നമ്മളെക്കുറിച്ച് നമ്മളെക്കാൾ ആകുലതയോടെയാണ്, അമ്മ അടക്കമുള്ളവർ നമ്മുടെ വിളിക്കായി കാത്തിരിക്കുന്നത്. ശേഷം, ഇനിയുള്ള ദിവസങ്ങളെക്കുറിച്ച് മനോഹരമായി ഓർത്ത്, ഞാൻ നീണ്ട ചാരുകസേര പോലെയുള്ള ഇരുപ്പിടത്തിൽ നിവർന്ന് കിടന്നു.&lt;/p&gt;
&lt;p&gt;ഏറെ നേരത്തെ കാത്തിരിപ്പിനുശേഷം വിമാനത്തിൽ കയറാനുള്ള വിളി വന്നു. പരിശോധനകൾ എല്ലാം കഴിഞ്ഞ് ഞാൻ വിമാനത്തിൽ കയറിയിരുന്നു, ജനലരികിലായിരുന്നു എൻറെ സീറ്റ്. എല്ലാ സീറ്റിലും ചുമന്ന തുണിയിൽ &amp;ldquo;ഈദ് മുബാറക്&amp;rdquo; എന്നെഴുതിയ സീറ്റുകൾ കാണാൻ നല്ല ഭംഗിയുണ്ടായിരുന്നു.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-2/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-2/1_hu_756dbdbff9c2cbfe.webp 400w,
 /img/ml/2025/georgia/1-2/1_hu_37d44eb4beab54a8.webp 700w,
 /img/ml/2025/georgia/1-2/1_hu_201c1582b38da647.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-2/1_hu_7b158ce618122251.jpeg"
 srcset="
 /img/ml/2025/georgia/1-2/1_hu_26d778144c3f9e11.jpeg 400w,
 /img/ml/2025/georgia/1-2/1_hu_7b158ce618122251.jpeg 700w,
 /img/ml/2025/georgia/1-2/1_hu_cf2b4968b7fd69d0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-2/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-2/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-2/2_hu_48914f048993aeff.webp 400w,
 /img/ml/2025/georgia/1-2/2_hu_73b541900b3e727d.webp 700w,
 /img/ml/2025/georgia/1-2/2_hu_4097af0ea0448d8d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-2/2_hu_36a3de2201a033d6.jpeg"
 srcset="
 /img/ml/2025/georgia/1-2/2_hu_21ff5081ba3a9255.jpeg 400w,
 /img/ml/2025/georgia/1-2/2_hu_36a3de2201a033d6.jpeg 700w,
 /img/ml/2025/georgia/1-2/2_hu_fcd2228cc029d11d.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-2/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-2/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-2/3_hu_934416e53da1bced.webp 400w,
 /img/ml/2025/georgia/1-2/3_hu_55b74c7b27039de0.webp 700w,
 /img/ml/2025/georgia/1-2/3_hu_7e441f828b4555a2.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-2/3_hu_98b57c4337cddd96.jpeg"
 srcset="
 /img/ml/2025/georgia/1-2/3_hu_5728392a1f0b1105.jpeg 400w,
 /img/ml/2025/georgia/1-2/3_hu_98b57c4337cddd96.jpeg 700w,
 /img/ml/2025/georgia/1-2/3_hu_255a4bceb55486e0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-2/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;ഇടയ്ക്ക് പാട്ട് കേട്ടും, കുറച്ചുറങ്ങിയും സമയം മുന്നോട്ട് പോയി, ഒരു മണിക്കൂറിൽ വിമാനം ഷാർജയിലെത്തി. അവിടുത്തെ കാത്തിരിപ്പ് മൂന്ന് മണിക്കൂറായിരുന്നു. അതുകൊണ്ടുതന്നെ ഞാൻ വിമാനത്തിൽ നിന്ന് വളരെ സാവകാശമാണ് നടന്നിറങ്ങിയത്.&lt;/p&gt;
&lt;p&gt;ഷാർജ എയർപോർട്ടിൽ നല്ല തിരക്കുണ്ടായിരുന്നു, പഴയ ഒരു എയർപോർട്ട് ആയിട്ടാണ് എനിക്ക് തോന്നിയത്. ലോകത്തിന്റെ പല ഭാഗത്തോട്ടുമുള്ള ആളുകൾ അവർക്ക് പോകാനുള്ള വിമാനവും കാത്ത് പലയിടത്തും നിൽക്കുകയും ഇരിക്കുകയും തിരക്ക് കൂട്ടുകയും ചെയ്യുന്നുണ്ടായിരുന്നു. എനിക്ക് സമയം ഏറെ ഉണ്ടായിരുന്നതുകൊണ്ട് ഞാൻ വളരെ സാവകാശം ഇതെല്ലാം കണ്ടും കേട്ടും നടന്നു നീങ്ങി.&lt;/p&gt;
&lt;p&gt;എൻറെ വിമാനത്തിന്റെ ഗേറ്റ് കണ്ടുപിടിച്ചതിനു ശേഷം ഞാൻ പോയി ഒരു ബിരിയാണി കഴിച്ചു, വല്യ തരക്കേടില്ലായിരുന്നു ആഹാരം. അതിനുശേഷം ഞാൻ വീണ്ടും ഗേറ്റിൽ പോയിരുന്നു. അങ്ങോട്ട് പോകുന്ന പല മലയാളികളെയും മറ്റു രാജ്യക്കാരെയും ഞാൻ കണ്ടു. കൂട്ടമായി പോകുന്നവരും കുടുംബമായി പോകുന്നവരും പലവിധ കാര്യങ്ങൾ പരസ്പരം പറയുന്നുണ്ടായിരുന്നു, അവരുടെയെല്ലാം ഇടയിൽ ഏകാകിയായ ഒരു നാടോടിയെ പോലെ ഞാനിരുന്നു.&lt;/p&gt;
&lt;p&gt;നീണ്ട കാത്തിരിപ്പിനുശേഷം വിമാനത്തിൽ കയറി. ആഹാരം കഴിച്ചത് കൊണ്ടും, വേറെ പരിപാടിയൊന്നും ഇല്ലാത്തതുകൊണ്ട് ഞാൻ കുറച്ചുനേരം കിടന്നുറങ്ങി. ഉറക്കം ഉണർന്നപ്പോൾ ഒരു അറബിക് കറക് ചായ ഞാൻ ഓർഡർ ചെയ്തു. വളരെ നല്ലതായിരുന്നു, ആ ഒരു ഉന്മേഷത്തിൽ ഞാൻ ജനാലയുടെ പുറത്തോട്ട് നോക്കിയിരുന്നു.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-3/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-3/1_hu_1e834793e0a53872.webp 400w,
 /img/ml/2025/georgia/1-3/1_hu_9e6b3a869b35ef2e.webp 700w,
 /img/ml/2025/georgia/1-3/1_hu_f96769fd1744b324.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-3/1_hu_7402173abcdc42e6.jpeg"
 srcset="
 /img/ml/2025/georgia/1-3/1_hu_76818fcf180a77d7.jpeg 400w,
 /img/ml/2025/georgia/1-3/1_hu_7402173abcdc42e6.jpeg 700w,
 /img/ml/2025/georgia/1-3/1_hu_ae407d8789c80beb.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-3/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-3/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-3/2_hu_e124ad8eb0c1c665.webp 400w,
 /img/ml/2025/georgia/1-3/2_hu_3137fffa22bbaa9c.webp 700w,
 /img/ml/2025/georgia/1-3/2_hu_a019b33f3f732a61.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-3/2_hu_13876342a49abdce.jpeg"
 srcset="
 /img/ml/2025/georgia/1-3/2_hu_3a62380d20d79b49.jpeg 400w,
 /img/ml/2025/georgia/1-3/2_hu_13876342a49abdce.jpeg 700w,
 /img/ml/2025/georgia/1-3/2_hu_6740801f4d3d0d61.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-3/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-3/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-3/3_hu_761b4531392750df.webp 400w,
 /img/ml/2025/georgia/1-3/3_hu_c9ea9a6ac8973400.webp 700w,
 /img/ml/2025/georgia/1-3/3_hu_69c05e6cbffdb56f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-3/3_hu_e4841c2df05d53d0.jpeg"
 srcset="
 /img/ml/2025/georgia/1-3/3_hu_e9511214af412bb6.jpeg 400w,
 /img/ml/2025/georgia/1-3/3_hu_e4841c2df05d53d0.jpeg 700w,
 /img/ml/2025/georgia/1-3/3_hu_b4d8c61317b92346.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-3/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;ജനാലയുടെ പുറകിൽ പലവിധ കാഴ്ചകൾ മിന്നിമറിഞ്ഞു കൊണ്ടേയിരുന്നു. മരുഭൂമി കണക്കെ വരണ്ട മലകളും നീണ്ട പുഴകളും കാണുന്നുണ്ട് താഴെ. കുറച്ചു കഴിഞ്ഞപ്പോൾ നിറയെ മരങ്ങൾളുള്ള മലകളും, വിശാലമായ പച്ച വിരിച്ച താഴ്‌വരകളും വെളുത്ത മേഘ തുണ്ടുകൾക്കിടയിലൂടെ കാണാൻ തുടങ്ങി. ജോർജ്ജിയ എന്ന രാജ്യം അടുക്കാറായിയെന്ന് എനിക്ക് തോന്നി. പക്ഷേ ഫോട്ടോയുടെ ലൊക്കേഷൻ പിന്നീട് നോക്കിയപ്പോഴാണ് മനസ്സിലായത് അത് അർമേനിയയെന്ന ജോർജ്ജിയയുടെ അയൽ രാജ്യമായിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഫ്ലൈറ്റ് പിന്നെയും മുന്നോട്ട് നീങ്ങിക്കൊണ്ടിരുന്നു. ഇടയ്ക്ക് പാട്ട് കേട്ട് പുറത്തോട്ട് നോക്കിയിരുന്നും ഞാൻ സമയം കളഞ്ഞു. പിന്നെയും മുന്നോട്ട് പോയപ്പോൾ പച്ചവിരിച്ച പാടത്ത് വെളുത്ത ചതുരക്കെട്ടുകൾ അടുക്കി വച്ചിരിക്കുന്ന പോലെയുള്ള കെട്ടിടങ്ങൾ ഞാൻ കണ്ടു. റ്റ്ബിലിസിയുടെ അടുത്തുള്ള മാർനൂലി (Marneuli) എന്ന നഗരമായിരുന്നു അത്.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-5/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-5/1_hu_bb0f984ac55a5db3.webp 400w,
 /img/ml/2025/georgia/1-5/1_hu_e7ee5bfaddff39e8.webp 700w,
 /img/ml/2025/georgia/1-5/1_hu_a56a165f644b6bb5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-5/1_hu_5a3b7af86b05eff4.jpeg"
 srcset="
 /img/ml/2025/georgia/1-5/1_hu_47ddddb7b802f32a.jpeg 400w,
 /img/ml/2025/georgia/1-5/1_hu_5a3b7af86b05eff4.jpeg 700w,
 /img/ml/2025/georgia/1-5/1_hu_8c52b77c3ca6a84e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-5/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-5/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-5/2_hu_a05eb04830e80d7d.webp 400w,
 /img/ml/2025/georgia/1-5/2_hu_ccbb46b372f49662.webp 700w,
 /img/ml/2025/georgia/1-5/2_hu_70cd82621ede933c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-5/2_hu_c4362443c2d20748.jpeg"
 srcset="
 /img/ml/2025/georgia/1-5/2_hu_d5c42819b8ad770f.jpeg 400w,
 /img/ml/2025/georgia/1-5/2_hu_c4362443c2d20748.jpeg 700w,
 /img/ml/2025/georgia/1-5/2_hu_8c0d558cfd2a9da2.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-5/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-5/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-5/3_hu_8f715b962276bfef.webp 400w,
 /img/ml/2025/georgia/1-5/3_hu_72632734f8963bd0.webp 700w,
 /img/ml/2025/georgia/1-5/3_hu_ced3ec5b78b228ba.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-5/3_hu_79d1e2caefb5b4bc.jpeg"
 srcset="
 /img/ml/2025/georgia/1-5/3_hu_c58db2df8c8f2d34.jpeg 400w,
 /img/ml/2025/georgia/1-5/3_hu_79d1e2caefb5b4bc.jpeg 700w,
 /img/ml/2025/georgia/1-5/3_hu_b40df8a24a436807.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-5/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;കുറച്ചുനേരത്തെ യാത്രയ്ക്കുശേഷം പൈലറ്റിന്റെ അറിയിപ്പ് വന്നു. &amp;ldquo;നമ്മൾ റ്റ്ബിലിസിയിലേക്ക് ലാൻഡ് ചെയ്യാൻ പോകുന്നു, എല്ലാവരും സീറ്റ് ബെൽറ്റ് ധരിക്കുക&amp;rdquo;. ആ സമയം ലാൻഡിങ്ങിന് മുമ്പ് ചെയ്യേണ്ട കാര്യങ്ങൾ എയർഹോസ്റ്റസ്മാർ ഓടിനടന്നു ചെയ്യുന്നുണ്ടായിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഒടുവിൽ റ്റ്ബിലിസി എയർപോർട്ടിൽ വിമാനം വന്നിറങ്ങി. ആളുകൾ കൂട്ടത്തോടെ പുറത്തിറങ്ങിയപ്പോൾ, അതിന് പുറകെ ഞാൻ ഇമിഗ്രേഷനിലേക്ക് നടന്നു. അവിടെ എത്തിയപ്പോൾ എല്ലാ കൗണ്ടറിലും യാത്രക്കാരുടെ നീണ്ട ക്യൂ. പെരുന്നാളിന്റെ അവധിയായ കൊണ്ട് ഗൾഫ് രാജ്യങ്ങളിൽ നിന്ന് മലയാളികൾ അടക്കമുള്ള ധാരാളം ആളുകൾ അവിടെ വന്നിട്ടുണ്ടായിരുന്നു. മുക്കാൽ മണിക്കൂറോളം നിന്നതിനുശേഷമാണ് ഞാൻ ഇമ്മിഗ്രേഷൻ കൗണ്ടറിൽ എത്തിയത്.&lt;/p&gt;
&lt;p&gt;ഇടയ്ക്ക് ഞാൻ അലക്സിന് മെസ്സേജ് അയച്ചു. ഞാൻ താമസിക്കാൻ പോകുന്ന ഹോസ്റ്റലിന്റെ നടത്തിപ്പുകാരനാണ് അലക്സ്. എന്നെ വിളിക്കാൻ ഡ്രൈവർ പുറത്തുണ്ടെന്ന് അലക്സ് പറഞ്ഞിട്ട്, എൻറെ പേരെഴുതിയ പേപ്പറിന്റെ ഫോട്ടോ അവനെനിക്ക് അയച്ചു തന്നു.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-6/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-6/1_hu_fbfec4bc52e7dea.webp 400w,
 /img/ml/2025/georgia/1-6/1_hu_ce8291007fc2141.webp 700w,
 /img/ml/2025/georgia/1-6/1_hu_c9169c38ce2d52a4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-6/1_hu_43991cdb8790fedf.jpeg"
 srcset="
 /img/ml/2025/georgia/1-6/1_hu_b68b12aa439a8d5.jpeg 400w,
 /img/ml/2025/georgia/1-6/1_hu_43991cdb8790fedf.jpeg 700w,
 /img/ml/2025/georgia/1-6/1_hu_efdad2456b60257b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="934"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-6/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-6/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-6/2_hu_6ee6a1ef551e8a5.webp 400w,
 /img/ml/2025/georgia/1-6/2_hu_8f6e2f40c16fe58f.webp 700w,
 /img/ml/2025/georgia/1-6/2_hu_dc742eb6bade41a7.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-6/2_hu_b905e4cd0c077706.jpeg"
 srcset="
 /img/ml/2025/georgia/1-6/2_hu_4f324da0d9fb50da.jpeg 400w,
 /img/ml/2025/georgia/1-6/2_hu_b905e4cd0c077706.jpeg 700w,
 /img/ml/2025/georgia/1-6/2_hu_fd2b100c8960ef3e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-6/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-6/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-6/3_hu_44ae292e5806a928.webp 400w,
 /img/ml/2025/georgia/1-6/3_hu_96e4608389e39320.webp 700w,
 /img/ml/2025/georgia/1-6/3_hu_d961914409d498f0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-6/3_hu_376c7a211e7f1d3b.jpeg"
 srcset="
 /img/ml/2025/georgia/1-6/3_hu_51cc8c76e2a3d59e.jpeg 400w,
 /img/ml/2025/georgia/1-6/3_hu_376c7a211e7f1d3b.jpeg 700w,
 /img/ml/2025/georgia/1-6/3_hu_700c1a2e40bbcc6e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-6/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;ഇമ്മിഗ്രേഷനിലെ പരിശോധനകൾക്ക് ശേഷം വിമാനത്താവളത്തിൽ നിന്ന് ഞാൻ പുറത്തോട്ടിറങ്ങി. അവിടെ യാത്രക്കാരെ കാത്തു കുറച്ചു ഡ്രൈവേഴ്‌സും, ഹോട്ടലിന്റെ ആളുകളും വരുന്ന അതിഥികളുടെ പേരെഴുതിയ പേപ്പറുമായി നില്പ്പുണ്ടായിരുന്നു. അവരുടെ മുന്നിലുള്ള കമ്പിവേലിയിൽ എൻറെ പേര് എഴുതിയ ഒരു പേപ്പർ തൂങ്ങിക്കിടപ്പുണ്ടായിരുന്നു. ഞാൻ അതിൻറെ അടുത്ത് ചെന്നപ്പോൾ ഒരു വെളുത്ത വലിയ മനുഷ്യൻ വന്ന് ബിനോ അല്ലേയെന്ന് ചോദിച്ചു. ഞാൻ അതേയെന്ന് മറുപടി പറഞ്ഞു. കാർ പുറത്തുണ്ട് എന്ന് പറഞ്ഞ് അയാൾ എനിക്ക് മുന്നേ നടന്നു. തൊട്ടടുത്തുള്ള ഒരു കാർ പാർക്കിങ്ങിൽ ഞങ്ങൾ എത്തി. ബെൻസിന്റെ ഒരു വലിയ വാനായിരുന്നു അയാളുടെ വണ്ടി.&lt;/p&gt;
&lt;p&gt;യാത്രകളിലിന്നെ അനുഗമിക്കുന്ന കറുപ്പും നീലയും കലർന്ന വലിയ ബാക്ക്പാക്ക് ഞാൻ വണ്ടിയുടെ പുറകിൽ വെച്ചിട്ട് മുന്നിൽ കയറിയിരുന്നു. ഞങ്ങൾ യാത്ര തുടങ്ങി, വിമാനത്താവളത്തിൽ നിന്നുള്ള റോഡ് അരികെ നിറയെ പച്ച മരങ്ങൾ ഉണ്ടായിരുന്നു, അതായിരുന്നു എൻറെ കണ്ണിൽ ആദ്യം ഉടക്കിയത്.&lt;/p&gt;
&lt;p&gt;ബഹ്‌റൈനിൽ വന്നതിനു ശേഷം പച്ചക്കാടുകളോട് എനിക്ക് സ്നേഹം കൂടുതലാണ്. നമ്മളിൽ പലരും മരുഭൂമിയിൽ എത്തിപ്പെടണം പച്ചവിരിച്ച മരങ്ങളുടെ വിലയറിയണേൽ. ഞങ്ങൾ യാത്ര തുടങ്ങി, നിറയെ തിരക്കുള്ള റോഡിൽ കൂടി വണ്ടി പോയികൊണ്ടേയിരുന്നു, ഇടയ്ക്കൊരു പഴമ തോന്നിക്കുന്ന ഇരുണ്ട ടണലിക്കൂടി വണ്ടി കയറിയിറങ്ങി. പെട്ടെന്ന് ഞാൻ മണാലി യാത്രയും അടൽ ടണലും ഓർത്തുപോയി, മഞ്ഞും മലകളും ചേർന്ന് മണാലി എനിക്ക് സമ്മാനിച്ചത് ഏറ്റവും മനോഹരമായ ഓർമ്മകളാണ്.&lt;/p&gt;
&lt;p&gt;ചെറുതും വലുതുമായ പല വഴികൾ പിന്നിട്ട് ഞങ്ങൾ വീണ്ടും യാത്ര തുടർന്നു. കുറച്ചു കഴിഞ്ഞപ്പോൾ വീടുകൾ തിങ്ങിപ്പാർക്കുന്ന ഭംഗിയായി കല്ലുകൾ വിരിച്ച ഒറ്റയടിപ്പാതയിലേക്ക് ഞങ്ങളുടെ വണ്ടി കയറി. ചെറിയൊരു കുന്നു പോലെയുള്ള ആ കയറ്റം കയറി ഞങ്ങൾ ചെന്നത്, എനിക്ക് താമസിക്കാനുള്ള ഹോസ്റ്റലിന്റെ മുന്നിലാണ്.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-7/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-7/1_hu_fdda2773704a81ce.webp 400w,
 /img/ml/2025/georgia/1-7/1_hu_3626335d61f99755.webp 700w,
 /img/ml/2025/georgia/1-7/1_hu_d5b9ff002dca0d0a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-7/1_hu_773bd1d957d39b96.jpeg"
 srcset="
 /img/ml/2025/georgia/1-7/1_hu_6e758dfe7ddf39d9.jpeg 400w,
 /img/ml/2025/georgia/1-7/1_hu_773bd1d957d39b96.jpeg 700w,
 /img/ml/2025/georgia/1-7/1_hu_823fae1123784ee6.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-7/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-7/2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-7/2_hu_7611e6c60a0564bd.webp 400w,
 /img/ml/2025/georgia/1-7/2_hu_e6b40a4ef9f7fdd7.webp 700w,
 /img/ml/2025/georgia/1-7/2_hu_62515a3845a2481b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-7/2_hu_39d4827f0196fd0a.jpeg"
 srcset="
 /img/ml/2025/georgia/1-7/2_hu_74ba2e5410e2b88e.jpeg 400w,
 /img/ml/2025/georgia/1-7/2_hu_39d4827f0196fd0a.jpeg 700w,
 /img/ml/2025/georgia/1-7/2_hu_12d11e10741cf0d3.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-7/2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/ml/2025/georgia/1-7/3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/ml/2025/georgia/1-7/3_hu_596d7284fc0489f4.webp 400w,
 /img/ml/2025/georgia/1-7/3_hu_35c6e808ac73e8d6.webp 700w,
 /img/ml/2025/georgia/1-7/3_hu_82fbc5eede367a9a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/ml/2025/georgia/1-7/3_hu_fd259ee343e9dafa.jpeg"
 srcset="
 /img/ml/2025/georgia/1-7/3_hu_87626a9bd16fd240.jpeg 400w,
 /img/ml/2025/georgia/1-7/3_hu_fd259ee343e9dafa.jpeg 700w,
 /img/ml/2025/georgia/1-7/3_hu_a06f9f13edac4c46.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/ml/2025/georgia/1-7/3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;ബുക്കിംഗ് ഡോട്ട് കോമിൽ കൂടി ബുക്ക് ചെയ്തപ്പോൾ ഞാൻ കണ്ട അതേ കെട്ടിടം. വലിയ ഭിത്തിയിൽ നിറഞ്ഞുനിൽക്കുന്ന കറുത്ത പൂച്ചയുടെ വലിയ ചിത്രം. അതിൽ നമസ്തേ ഹോസ്റ്റൽ എന്ന് എഴുതിയിട്ടുണ്ടായിരുന്നു. ( Shiva the cat mural, Georgia എന്ന് ഗൂഗിൾ ചെയ്താൽ ആ സ്ഥലം നിങ്ങൾക്ക് കാണാം).&lt;/p&gt;
&lt;p&gt;അയാൾക്ക് നന്ദി പറഞ്ഞുകൊണ്ട് ഞാൻ വണ്ടിയിൽ നിന്നിറങ്ങി. 60 ലാരിയിരുന്നു ടാക്സി കൂലി, 30 ലാരി കൊടുത്താൽ ബോൾട്ടിന്റെ ടാക്സി കാറിൽ വരാമെന്ന് അലക്സ് പറഞ്ഞതാണ്. അവൻ വണ്ടി വിട്ടാൽ കൂടുതലാകുമെന്ന് പറഞ്ഞപ്പോൾ, സാരമില്ല എന്ന് ഞാൻ പറഞ്ഞതു കൊണ്ടാണ് ഈ വണ്ടി വിട്ടത്. പക്ഷേ അതിലെനിക്ക് ഒരു നഷ്ടബോധവും ഇല്ലായിരുന്നു. ഇവിടുത്തെ ആദ്യത്തെ യാത്ര സുഖകരമായിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഞാനാ ഹോസ്റ്റലിൻ്റെ വാതുക്കൽ വന്നുനിന്നു&amp;hellip;.&lt;/p&gt;
&lt;p&gt;തുടരും&amp;hellip;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2025/10/georgia-tales-part-2/"&gt;ബാക്കി ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ഒറ്റമരപ്പെയ്ത്ത്</title><link>https://www.binovarghese.com/ml/2025/10/book-ottamarappeythu/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/10/book-ottamarappeythu/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2025/ottamarappeythu.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;ഒന്നും വായിക്കാതെ മനസ്സ് വല്ലാതെ മുരടിച്ച് വരുന്നു. കുറെയായി, എന്തേലുമൊന്ന് ആർത്തിയോടെ വായിച്ച് തീർക്കണമെന്ന് കരുതിയിട്ട്. അപ്പോഴാണ് മരുഭൂമിയിലെ മഴ പോലെ മനോജേട്ടന്റെ വാട്സ്ആപ്പ് സ്റ്റാറ്റസിൽ ദീപാനിശാന്തിന്റെ രണ്ട്‍ പുസ്തകങ്ങൾ കണ്ടത്. ഒറ്റമരപ്പെയ്ത്തും, ജീവിതം ഒരു മൊണാലിസച്ചിരിയും. അവരുടെ തന്നെ “കുന്നോളമുണ്ടല്ലോ ഭൂതകാലക്കുളിർ” ഞാൻ വായിച്ചത് ആണ്. മനോഹരമാണ് അത്.&lt;/p&gt;
&lt;p&gt;പിന്നെ ഒന്നും നോക്കിയില്ല, പുസ്തകം ചോദിച്ചു, തരാമെന്ന് പറഞ്ഞു, പിറ്റേന്ന് തന്നെ അനിയന്റെ കൈയ്യിൽ കൊടുത്തു വിട്ടു. രണ്ട് രാത്രി കൊണ്ട് വായിച്ചു തീർത്തു.&lt;/p&gt;
&lt;p&gt;ചെറുകാടിന്റെ വരികൾ എഴുത്തുകാരി തന്നെ ആമുഖത്തിൽ പറയുന്നത് പോലെ, “എന്റെ മുരിങ്ങാച്ചുവട്ടിൽ നിന്നു കൊണ്ട് ഞാൻ കണ്ട നക്ഷത്രങ്ങൾ”. അതാണ് ഈ പുസ്തകം. ശരിക്കും പ്രകാശം പൊഴിക്കുകയും ചിലപ്പോൾ പൊളിക്കുകയും ചെയ്യുന്നു എഴുത്തുകാരിയുടെ ഓർമനക്ഷത്രങ്ങൾ.&lt;/p&gt;
&lt;p&gt;ഈ കുറിപ്പുകളിൽ നാം പലതരത്തിലുള്ള മനുഷ്യരെ കണ്ടു മുട്ടും. വായന കഴിയുമ്പോൾ പലരും നമ്മളിൽ നിന്ന് മടങ്ങി പോകാതെ കൂടെ കൂടും. ഷക്കീല തൊട്ട് കവിതയെ ഉപാസിക്കുന്ന വല്യച്ഛൻവരെയുണ്ടാവും ആ കൂട്ടത്തിൽ. അവരുടെ കൂടെയുള്ള നടത്തങ്ങൾ നമുക്ക് വെളിച്ചം പകരും.&lt;/p&gt;
&lt;p&gt;ഉടലുകൾക്കപ്പുറം എന്ന കുറിപ്പിൽ ഷക്കീലയാണ് നായിക, അവരെ വായിച്ച് കഴിയുമ്പോൾ അവരുടെ സിനിമകൾ ഇക്കിളിപ്പെടുത്തിയവരുടെയും വിമർശിച്ചവരുടെയും മനസ്സിൽ ഒരു നീറ്റലായി ഷക്കീല മാറും. കാലം മുറിവേൽപ്പിച്ച വല്യച്ഛനെയും ചന്ദ്രശേഖരൻ മാഷിനെയും എനിക്ക് മറക്കാൻ പറ്റുന്നില്ല. നഷ്ട്ടദുഃഖത്തിൻ്റെ കടൽ അവർ എങ്ങനെയായിരിക്കും കുറുകെ കടക്കുന്നത് എന്ന് ഓർത്ത് എനിക്ക് ഭയം തോന്നാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;ദൈവത്തിന് ചിലരെ വലിയ വിശ്വാസമാണെന്ന് ടെൻസി പറയുമ്പോൾ എനിക്ക് മനസ്സിലാകും അവരുടെ സമുദ്രഹൃദയത്തിൻ്റെ ആഴവും അഴലും. പുഴ പോലെ ഒഴുകുന്ന കാവുമ്പായി മാഷും, അകാലത്തിൽ യാത്ര അവസാനിച്ച സുനിലിന്റെ കഥയുമെല്ലാം നമ്മളെ ജീവിതത്തിന്റെ പല പാഠങ്ങളും പഠിപ്പിക്കും, പലതും ഓർമിപ്പിക്കും.&lt;/p&gt;
&lt;p&gt;വാർദ്ധക്യം ഒറ്റപ്പെടുത്തിയ അച്ഛമ്മമാരെ എനിക്ക് നേരിട്ടറിയാം. എന്നായിരിക്കും അവരെ ചേർത്ത് പിടിക്കാൻ നമ്മുക്ക് കഴിയുന്നത്? പല ചോദ്യങ്ങൾക്കും ഉത്തരമില്ല. എഴുത്തുകാരിയുടെ പ്രണയവും ,പോരാട്ടവും, ലേബർ റൂമിലെ നിലവിളികളുമെല്ലാം വായിച്ചപ്പോൾ എനിക്ക് എൻ്റെ നല്ലപാതിയെയാണ് ഓർമ വന്നത്. ഒടുവിൽ ജോലി സമയത്ത് പുസ്തകം വായിക്കരുതെന്ന് പറഞ്ഞ ഷാർജയിൽ തന്നെ, ഷാർജ ഇന്റർനാഷണൽ ബുക്ക് ഫെയറിന്റെ അതിഥിയായി അവർ വന്നപ്പോൾ ഞാൻ സന്തോഷിച്ചു.&lt;/p&gt;
&lt;p&gt;ഈ വായനയിൽ ഉടനീളമുള്ള ഓരോ ഓർമ്മക്കുറിപ്പിലും ഞാൻ എന്നെയും എനിക്ക് ചുറ്റുമുള്ളവരെയും കണ്ടു. അങ്ങനെ എഴുത്തുകാരിയുടെ ഓർമ്മകൾ ഇപ്പോൾ എന്‍റേത് കൂടിയായിരിക്കുന്നു. ഒടുവിലീ ഓർമകളുടെ വെളിച്ചത്തിൽ ഞാൻ ആശ്വാസം കണ്ടെത്തുവാൻ ശ്രമിച്ച് കൊണ്ടിരിക്കുന്നു.&lt;/p&gt;</description></item><item><title>ചോദ്യമിതാണ്</title><link>https://www.binovarghese.com/ml/2025/09/question/</link><pubDate>Wed, 24 Sep 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/09/question/</guid><description>&lt;p&gt;നിന്റെ കണ്ണുകളിലേക്ക് നോക്കിയിരിക്കെ&lt;br&gt;
നിന്നിലേക്ക് പരകായപ്രവേശം&lt;br&gt;
നടത്തുവാനും, നിമിഷാർദ്ധം കൊണ്ട്&lt;br&gt;
നിന്റെ നിശ്വാസങ്ങളുടെ&lt;br&gt;
ആഴമളക്കുവാനുമെനിക്ക് കഴിയും.&lt;/p&gt;
&lt;p&gt;നീ നിനച്ചിരിക്കാത്തപ്പോൾ&lt;br&gt;
നിന്റെ ചുണ്ടിലെ മുത്തമാകുവാനും &lt;br&gt;
നിന്റെ മനതാരിലെ മാന്ത്രികനാകാനും &lt;br&gt;
ക്ഷണനേരം മതിയെനിക്ക്.&lt;/p&gt;
&lt;p&gt;നീയാഗ്രഹിക്കുന്ന നിമിഷത്തിൽ&lt;br&gt;
നിന്റെ നക്ഷത്രക്കാടുകളിൽ &lt;br&gt;
മഴയായി പെയ്തിറങ്ങാനും&lt;br&gt;
നിന്റെ ആഴങ്ങളുടെ അടിത്തട്ടിൽ&lt;br&gt;
മറ്റൊരു നീയായി രൂപം&lt;br&gt;
മാറുവാനുമെനിക്ക് സാധിക്കും.&lt;/p&gt;
&lt;p&gt;നാമിരുവരുമിനി കാലത്തിന്റെ&lt;br&gt;
നിശ്ശബ്ദനിമിഷത്തിൽ&lt;br&gt;
അലിഞ്ഞ് ചേരുംവരെ, &lt;br&gt;
നിനക്കൊപ്പം നടക്കാമെന്ന്&lt;br&gt;
ഞാൻ വാക്ക് നൽകുന്നു.&lt;/p&gt;
&lt;p&gt;ചോദ്യമിതാണ്,&lt;br&gt;
ഇതാണോ പ്രണയം?&lt;br&gt;
നീയാണ് ഉത്തരം തരേണ്ടത്.&lt;/p&gt;</description></item><item><title>മഴ പെയ്യുമ്പോൾ</title><link>https://www.binovarghese.com/ml/2025/08/durinng-the-rain/</link><pubDate>Wed, 27 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/08/durinng-the-rain/</guid><description>&lt;p&gt;മഴ പെയ്യുമ്പോൾ&lt;br&gt;
വീട്ടു വരാന്തയിൽ&lt;br&gt;
വെറുതെയിരിക്കണം,&lt;br&gt;
ഇടക്കിടെ കുട ചൂടി&lt;br&gt;
ഇറങ്ങി നടക്കണം.&lt;/p&gt;
&lt;p&gt;മഴ തോരുമ്പോൾ&lt;br&gt;
ചെടിയെല്ലാം നോക്കണം,&lt;br&gt;
പിന്നെ കുഞ്ഞിനെ&lt;br&gt;
എടുത്തോണ്ട് നടക്കാൻ&lt;br&gt;
പോകണം.&lt;/p&gt;
&lt;p&gt;മഴയിൽ കുതിർന്ന്&lt;br&gt;
നിൽക്കുന്ന വഴികൾ&lt;br&gt;
അവളെ കാണിക്കണം.&lt;br&gt;
പൊടി പിടിച്ച് നിറം&lt;br&gt;
മങ്ങിയ ടാറിട്ട റോഡ് &lt;br&gt;
വീണ്ടും കറുത്തത്&lt;br&gt;
അവൾ ശ്രദ്ധിക്കുമോ എന്തോ!&lt;/p&gt;
&lt;p&gt;ആ വഴി വീണ്ടും നടക്കണം&lt;br&gt;
മുന്നോട്ട്, മഴയത്ത്&lt;br&gt;
വീണയിലകൾ അവൾക്ക് &lt;br&gt;
പെറുക്കി കൊടുക്കണം.&lt;br&gt;
എല്ലാ ചെറിയ കാര്യങ്ങളും&lt;br&gt;
അവളുടെ കണ്ണിൽ&lt;br&gt;
കൗതുകങ്ങൾ വിരിയിക്കും.&lt;/p&gt;
&lt;p&gt;വഴിയിലെ ചെളിവെള്ളം&lt;br&gt;
കാൽകൊണ്ട് തട്ടി&lt;br&gt;
തെറിപ്പിക്കുമ്പോൾ&lt;br&gt;
അവൾ ചിരിക്കുമാരിക്കും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ ആരേലും&lt;br&gt;
അയലത്ത് നിന്ന്&lt;br&gt;
പറയുമാരിക്കും.&lt;br&gt;
&amp;ldquo;കൊച്ചിനെ പനി പിടിപ്പിക്കാതെ&lt;br&gt;
വീട്ടിൽ കൊണ്ട് പോകാൻ.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;ചിരി മാത്രമായിരിക്കും&lt;br&gt;
എൻ്റെ മറുപടി.&lt;br&gt;
വീണ്ടും പൊടുന്നനേ
മഴ മുഴങ്ങുമ്പോൾ&lt;br&gt;
അവളെയും കൊണ്ട്&lt;br&gt;
വീട്ടിലേക്ക് ഓടണം.&lt;/p&gt;
&lt;p&gt;മഴ പിന്നെയും കനക്കുമ്പോൾ&lt;br&gt;
അവളെ നെഞ്ചിലുറക്കി&lt;br&gt;
വരാന്തയിൽ വെറുതെയിരിക്കണം.&lt;/p&gt;</description></item><item><title>Fav Quotes</title><link>https://www.binovarghese.com/desk/2025/08/fav-quotes/</link><pubDate>Sun, 24 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/08/fav-quotes/</guid><description>&lt;p&gt;To be honest, I love beautiful and brilliant quotes. They can come from &lt;a href="https://www.binovarghese.com/desk/2024/04/smart-words-from-smart-people/"&gt;smart people&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/desk/2024/11/favourite-movie-quotes/"&gt;movies&lt;/a&gt;, or books. I don’t care where they come from, if they inspire me, I love them. The most beautiful part is that I enjoy collecting and curating them. Usually, I note them down in my notes and go through them again whenever I want.&lt;/p&gt;
&lt;p&gt;Last week, I added a quotes section in the footer of this website. (Scroll down and see it!) It shows my favorite quotes whenever you refresh the page or move to another one. Cool, right?&lt;/p&gt;
&lt;p&gt;So here are some of my collections of quotes from my notes, which I added in the footer. I’ll keep adding to this section whenever I find new ones.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Those who don&amp;rsquo;t believe in magic will never find it. ― Roald Dahl&lt;/li&gt;
&lt;li&gt;Magic is believing in yourself, if you can do that, you can make anything happen. ― Johann Wolfgang von Goethe&lt;/li&gt;
&lt;li&gt;Real ones don&amp;rsquo;t wait for the sunshine, they show up in the storm. ― Unknown&lt;/li&gt;
&lt;li&gt;Stay hungry, stay foolish. ― Steve Jobs&lt;/li&gt;
&lt;li&gt;The only way to do great work is to love what you do. ― Steve Jobs&lt;/li&gt;
&lt;li&gt;Tell me, what is it you plan to do with your one wild and precious life? — Mary Oliver&lt;/li&gt;
&lt;li&gt;In the end, we only regret the chances we didn’t take. — Lewis Carroll&lt;/li&gt;
&lt;li&gt;Be yourself; everyone else is already taken. ― Oscar Wilde&lt;/li&gt;
&lt;li&gt;The best way to predict the future is to create it. — Peter Drucker&lt;/li&gt;
&lt;li&gt;Imagination is more important than knowledge. — Albert Einstein&lt;/li&gt;
&lt;li&gt;The unexamined life is not worth living. — Socrates&lt;/li&gt;
&lt;li&gt;All that we are is the result of what we have thought. — Buddha&lt;/li&gt;
&lt;li&gt;I have no special talent. I am only passionately curious. — Albert Einstein&lt;/li&gt;
&lt;li&gt;The successful warrior is the average man, with laser-like focus. — Bruce Lee&lt;/li&gt;
&lt;li&gt;Good artists copy, great artists steal. — Pablo Picasso&lt;/li&gt;
&lt;li&gt;Whatever you are, be a good one. — Abraham Lincoln&lt;/li&gt;
&lt;li&gt;Not all those who wander are lost. — J.R.R. Tolkien&lt;/li&gt;
&lt;li&gt;The biggest adventure you can take is to live the life of your dreams. — Oprah Winfrey&lt;/li&gt;
&lt;li&gt;Promise me you’ll always remember: You’re braver than you believe, and stronger than you seem, and smarter than you think. — A. A. Milne&lt;/li&gt;
&lt;li&gt;It is not that we have a short time to live, but that we waste a lot of it. — Seneca&lt;/li&gt;
&lt;li&gt;Learn from the mistakes of others. You can&amp;rsquo;t live long enough to make them all yourself. — Eleanor Roosevelt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you for reading, let me know your favourite ones.&lt;/p&gt;</description></item><item><title>Life Left App</title><link>https://www.binovarghese.com/projects/apps/life-left/</link><pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/projects/apps/life-left/</guid><description>&lt;p&gt;&lt;strong&gt;Life Left&lt;/strong&gt; is a minimalist life reflection web app that helps users visualize how much of their life may still remain, based on their age, retirement plan, and expected lifespan. The app is inspired by the &lt;em&gt;memento mori&lt;/em&gt; philosophy, which encourages awareness of life’s finiteness so people can live with greater intention and purpose instead of falling into routine.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/Life-Left.png"
 alt="Life left home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life left home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="demo"&gt;Demo&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;🌿&lt;a href="https://binovarghese.com/apps/life-left/"&gt;Life Left Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="screenshots"&gt;Screenshots&lt;/h3&gt;
&lt;p&gt;You can find the screenshots of the theme below:&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/life-left-app-1.png"
 alt="Life Left home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life Left home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2025/life-left/life-left-app-2.png"
 alt="Life Span page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Life Span page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="features"&gt;Features&lt;/h3&gt;
&lt;h4 id="input"&gt;Input&lt;/h4&gt;
&lt;p&gt;Users are required to provide a few basic details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Birth date&lt;/li&gt;
&lt;li&gt;Retirement age&lt;/li&gt;
&lt;li&gt;Expected lifespan&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="output"&gt;Output&lt;/h4&gt;
&lt;p&gt;Based on the input, the following insights are displayed on the home page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Current Age&lt;/strong&gt;&lt;br&gt;
Shows how many years, months, and days the user has lived.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remaining Time&lt;/strong&gt;&lt;br&gt;
Displays the remaining lifespan based on the expected age.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sleep Time Projection&lt;/strong&gt;&lt;br&gt;
Estimates how much of life may be spent sleeping, calculated using an average of eight hours per day.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Work Time Projection&lt;/strong&gt;&lt;br&gt;
Estimates the total time likely to be spent working, based on standard work hours and weekdays.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Actual Personal Time&lt;/strong&gt;&lt;br&gt;
Reveals how much lifetime remains after accounting for sleep and work, highlighting the time available for meaningful and personal pursuits.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to numeric insights, the app visually represents the remaining years of life using colored blocks, making abstract time more tangible and easier to reflect on.&lt;/p&gt;
&lt;h3 id="technology"&gt;Technology&lt;/h3&gt;
&lt;p&gt;The application is built as a lightweight single-page app using &lt;strong&gt;React&lt;/strong&gt; for real-time calculations and dynamic UI updates. &lt;strong&gt;Tailwind CSS&lt;/strong&gt; is used for responsive and consistent styling. All calculations are performed entirely on the client side, with no backend dependency.&lt;/p&gt;</description></item><item><title>വിട പറഞ്ഞവർ</title><link>https://www.binovarghese.com/ml-musings/2025/08/seperated/</link><pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/08/seperated/</guid><description>&lt;p&gt;വിട പറഞ്ഞവർ നാം&lt;br&gt;
വിദൂരതയിലേക്ക്&lt;br&gt;
നടന്നകന്നവർ നാം.&lt;/p&gt;
&lt;p&gt;വിധിക്ക് വിധേയപ്പെടാൻ&lt;br&gt;
വിധിക്കപ്പെട്ടവർ നാം,&lt;br&gt;
വീണ്ടും കാണാതെ&lt;br&gt;
മൃതിയിൽ വിസ്മൃതി&lt;br&gt;
പൂകട്ടെ നാം.&lt;/p&gt;</description></item><item><title>Software gardening and death</title><link>https://www.binovarghese.com/notes/2025/08/death-of-software/</link><pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/08/death-of-software/</guid><description>&lt;p&gt;I have came across the following article recently.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Software is a bit like this house plant: its wellbeing depends on the folks who constantly tend it. Without us around, it gradually erodes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I used Google Orkut in the past and I loved it at that time. It was fun to send messages in the scrapbook, cool usernames, and enjoy all the other social media features that felt cool back then. But after the rise of Facebook and other giants, Google shut down Orkut. They sent us an email with a link to download our data archive and said goodbye. I still have those emails from Orkut, and when I read them recently, they gave me a nostalgic happiness.&lt;/p&gt;
&lt;p&gt;What I realize now is that everything eventually comes to an end when the gardeners stop tending their &lt;a href="https://www.binovarghese.com/blog/2021/digital-gardening-2021/"&gt;gardens&lt;/a&gt;. We cannot take it for granted forever. Today we have access to some of the most amazing things in human history. We need to be grateful and enjoy the beauty of it. So keep on gardening, and cherish your fellow gardeners.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jonas.do/writing/2021-03-03-software-gardening-and-death/"&gt;Article link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>നിലാവ്</title><link>https://www.binovarghese.com/ml-musings/2025/08/death/</link><pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/08/death/</guid><description>&lt;p&gt;നിലാവ് വരുന്നപോൽ&lt;br&gt;
ഒരു വൈകുന്നേരം&lt;br&gt;
മരണമെന്നേ തേടി വരും.&lt;/p&gt;
&lt;p&gt;വിട പറയുന്നതിന് മുൻപ്&lt;br&gt;
ഒന്നുകൂടെ നമുക്ക് &lt;br&gt;
മുറുകെ കെട്ടിപ്പിടിക്കാൻ&lt;br&gt;
കാലം അവസരം തരട്ടെ&lt;/p&gt;</description></item><item><title>Reborn</title><link>https://www.binovarghese.com/drawer/2025/08/reborn/</link><pubDate>Sun, 10 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/08/reborn/</guid><description>&lt;p&gt;I know I must&lt;br&gt;
endure this suffering,&lt;br&gt;
For there is no other way.&lt;br&gt;
But I don’t know&lt;br&gt;
how to bear the pain&lt;br&gt;
The ache in my heart is real,&lt;br&gt;
And it’s killing me &lt;br&gt;
inch by inch.&lt;/p&gt;
&lt;p&gt;I have lost
the last shred of courage&lt;br&gt;
Yet, beyond this pain,&lt;br&gt;
I hope to remain,&lt;br&gt;
reborn as Buddha again.&lt;/p&gt;</description></item><item><title>Me and Music</title><link>https://www.binovarghese.com/desk/2025/08/a-shift-in-my-listening/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/08/a-shift-in-my-listening/</guid><description>&lt;p&gt;On weekend mornings to my evening walks, I am always with music. I have loved music from a very young age. I don’t even know when exactly I fell in love with it. Since my school days, we had a music system at home, and we played songs almost every day. From CD tracks to YouTube playlists, the love has only grown over time. From those early days until now, I’ve always had music systems with me and I still enjoy music deeply.&lt;/p&gt;
&lt;p&gt;As I said, I always love to listen to music. During my commute, on slow mornings, at the gym, while having food, in the car, almost everywhere, music has been there with me. My taste varies from English to Malayalam, rock to classical, background scores to ambient sounds.&lt;/p&gt;
&lt;p&gt;By listening to music, I try to escape from reality. Sometimes I find myself dreaming about things that may never happen, and I still enjoy it. I don’t know if anyone else does this, but I do. Other times, I just immerse myself in the music and live inside the beats. Both give me a sense of enjoyment and relief.&lt;/p&gt;
&lt;p&gt;But recently, I noticed something. When music is playing, there’s no room for thinking. The lyrics block the flow of my thoughts. New poems, fresh write-ups, and creative ideas, they all come from the quiet place in my mind. Deep thinking and going over ideas again and again is what brings something new. But when I constantly feed my mind with songs, that process doesn&amp;rsquo;t happen. It feels like it&amp;rsquo;s making my mind tired.&lt;/p&gt;
&lt;p&gt;So now I want to reduce the amount of songs I listen to. Instead, I might switch to rain sounds or lofi music without lyrics, something that gives my mind space to think. Or maybe I’ll stop listening to music for a while and just see how things turn out.&lt;/p&gt;
&lt;p&gt;I hope this gives me more room to think about new things and to create something meaningful.&lt;/p&gt;
&lt;p&gt;As someone said, &amp;ldquo;Maybe in the silence, I’ll find something I’ve never heard before&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Lightbi Version 2</title><link>https://www.binovarghese.com/blog/2025/08/lightbi-version-2/</link><pubDate>Mon, 04 Aug 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/08/lightbi-version-2/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/lightbi-home-screen.png"
 alt="Lightbi profile and blog home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Lightbi profile and blog home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Last week I released version 2 of &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;Lightbi&lt;/a&gt;. I had been planning it for a very long time, but the time didn’t permit me until now.&lt;/p&gt;
&lt;p&gt;When I created this theme, my intention was simple. I needed a card-based theme for my website that was simple and elegant to use. I wasn’t lucky enough to find a theme I liked, so I created this one. And yes, I have open sourced it. That’s how Lightbi was released.&lt;/p&gt;
&lt;p&gt;As I said, my aim was to create a simple and elegant theme, and even now I am trying to stick to the same principles. But as my website grew into a bigger space than just a blog, I modified the theme to cater to my needs. I added new features like &lt;a href="https://www.binovarghese.com/notes"&gt;notes&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/now"&gt;now page&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/stats"&gt;statistics&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/common/library"&gt;library&lt;/a&gt; to this website.&lt;/p&gt;
&lt;p&gt;But I didn’t release some of the new changes to Lightbi, like profile mode and the updated about section. Some people saw my website and requested these options in Lightbi as well. That was the trigger for me to do all the changes in the new version. I have added a profile mode along with blog mode and made some major design changes to all pages. If you want, you can see the full features of the theme &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And yes, here it is. Lightbi Version 2.&lt;/p&gt;
&lt;h3 id="demo"&gt;Demo&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;😎&lt;a href="https://Lightbi-hugo-theme.netlify.app/"&gt;Lightbi Profile Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🪶&lt;a href="https://lighbi-blog-mode.netlify.app/en/"&gt;Lightbi Blog Mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="screenshots"&gt;Screenshots&lt;/h3&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_9edd8a0011560de7.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_569581ab298fca41.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_1bd2ce0e92e76e6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_5b0d6ad3142988e2.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_ef8191e5024709ac.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_ff74c770d3220582.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b19997c0b7fba0c.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c73136e6161bd17b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c89038d2ffec25e3.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b3c7bef4d21ec76.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="751"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_361c1973d9ab1b7d.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_f145185c50b3215b.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_32e06e8485ae6e39.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_9f23f33995ca0bfe.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_abf7e3c131ccd922.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1055"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_e9ae99d3b9d6e98f.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_45e72548a92164ba.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_6486ded5ad8a0cde.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c0fd087353c79ecb.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_5305c76b2a1c20f7.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="426"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_4a89079a8dc7225b.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_262a262ddeeb53b8.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_2e5ea18640bebfe0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_211a596b398fb738.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_7348d00e520f7be3.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1112"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_86c8916f517b3b8c.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_afaa955bf82df935.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_25e328bbdb03ecab.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_d730d5a7c12de90f.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_dd1ae8226f1a8930.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;Hope you like this new version, and if you have any comments, please let me know.&lt;/p&gt;</description></item><item><title>macOS and iOS 20 public beta impressions</title><link>https://www.binovarghese.com/blog/2025/07/macos-and-ios-public-beta/</link><pubDate>Sat, 26 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/07/macos-and-ios-public-beta/</guid><description>&lt;p&gt;I installed macOS and iOS 26 public beta today. The main attraction in this update is the design change called &lt;strong&gt;Liquid Glass&lt;/strong&gt;. I liked the Liquid Glass design in most places, but in some areas, it has readability issues.&lt;/p&gt;
&lt;p&gt;Below are the features I liked in the update:&lt;/p&gt;
&lt;h3 id="iphone"&gt;iPhone&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Liquid Glass design&lt;/strong&gt; – It gives a uniform and fresh look to almost all inbuilt apps. But in some places, there are readability issues. We&amp;rsquo;ll have to wait and see if others will adopt it or not.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spatial wallpaper&lt;/strong&gt; – It&amp;rsquo;s stunning on the iPhone.&lt;/li&gt;
&lt;li&gt;You can now &lt;strong&gt;create Spatial photos&lt;/strong&gt; in the Photos app.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Camera app&lt;/strong&gt; is now more simplified and useful.&lt;/li&gt;
&lt;li&gt;After 16 years, we can &lt;strong&gt;finally set ringtones&lt;/strong&gt; on the iPhone without using the GarageBand app.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Preview app&lt;/strong&gt; has come to iOS from macOS, and it’s very useful for me.&lt;/li&gt;
&lt;li&gt;You can now see &lt;strong&gt;how many minutes your phone needs to reach 80% charge&lt;/strong&gt;. The Settings section also received a nice update.&lt;/li&gt;
&lt;li&gt;In the Photos app, &lt;strong&gt;Collections and Library are now separated&lt;/strong&gt; into two sections.&lt;/li&gt;
&lt;li&gt;Some options like &lt;strong&gt;Save Image, Copy, Add to Album&lt;/strong&gt;, and others are now easily accessible through a quick access menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mac"&gt;Mac&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Here too, the &lt;strong&gt;Liquid Glass design&lt;/strong&gt; is a win in most places, although some areas still have readability issues.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spotlight&lt;/strong&gt; is now supercharged with new capabilities. Search results now include files, folders, events, and apps from both Mac and iPhone. You can also view &lt;strong&gt;clipboard history&lt;/strong&gt; directly from Spotlight.&lt;/li&gt;
&lt;li&gt;A new &lt;strong&gt;Phone app&lt;/strong&gt; allows you to make calls over Wi-Fi with a connected iPhone.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Journal app&lt;/strong&gt; is finally available on Mac. I’ve been wanting this since I use it a lot on my iPhone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Safari&lt;/strong&gt; got a design update—tabs look better, and it’s now &lt;strong&gt;50% faster&lt;/strong&gt; at loading frequently visited websites compared to Chrome.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt; can now be imported as &lt;strong&gt;Markdown&lt;/strong&gt;, which is a great addition.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are just my first impressions of both updates. There are many more features to explore, like Apple Intelligence in Shortcuts, Call Screening, Hold Assist, Polls in Messages, and Live Translations.&lt;/p&gt;
&lt;p&gt;The features mentioned above are the ones I used first and felt like highlighting. If I come across anything else worth sharing, I’ll update here later.&lt;/p&gt;</description></item><item><title>Useful PL/SQL queries</title><link>https://www.binovarghese.com/blog/2025/07/useful-pl-sql-scripts/</link><pubDate>Sun, 20 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/07/useful-pl-sql-scripts/</guid><description>&lt;p&gt;In this post, I’m sharing some handy PL/SQL queries that help with monitoring and maintaining Oracle databases. As I learn new scripts, I’ll keep adding them to this list.&lt;/p&gt;
&lt;h3 id="tables"&gt;Tables&lt;/h3&gt;
&lt;h4 id="to-check-the-source-code"&gt;To check the source code&lt;/h4&gt;
&lt;p&gt;ALL_SOURCE is a data dictionary view that shows the PL/SQL source code (line by line) of procedures, functions, packages, triggers, and types that the current user has access to, even if they are not the owner.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To search any database objects:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT line, text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM all_source
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE name = &amp;#39;MY_PROCEDURE&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AND type = &amp;#39;PROCEDURE&amp;#39; -- Add any data objects here
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ORDER BY line;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;To get the full code as a single block, you can use LISTAGG&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT LISTAGG(text, &amp;#39;&amp;#39;) WITHIN GROUP (ORDER BY line) AS full_code
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM all_source
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE name = &amp;#39;MY_PROCEDURE&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AND type = &amp;#39;PROCEDURE&amp;#39; -- Add any data objects here
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AND owner = &amp;#39;OWNER&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="to-check-the-table-size-in-the-current-schema"&gt;To check the table size in the current schema.&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT SEGMENT_NAME,SEGMENT_TYPE, SUM(BYTES/1024/1024/1024) GB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DBA_SEGMENTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE SEGMENT_NAME=&amp;#39;&amp;amp;TableName&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GROUP BY SEGMENT_NAME,SEGMENT_TYPE; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="sessions"&gt;Sessions&lt;/h3&gt;
&lt;h5 id="to-kill-a-session-in-oracle"&gt;To kill a session in Oracle&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT OBJECT_NAME, &amp;#39;ALTER SYSTEM KILL SESSION &amp;#39;&amp;#39;&amp;#39; || VS.SID || &amp;#39;,&amp;#39; || VS.SERIAL# || &amp;#39;&amp;#39;&amp;#39; ;&amp;#39; ,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AO.OWNER, MACHINE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM V$SESSION VS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LEFT JOIN V$LOCK VL ON VS.SID = VL.SID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LEFT JOIN ALL_OBJECTS AO ON VL.ID1 = AO.OBJECT_ID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LEFT JOIN USER_TABLES UT ON AO.OBJECT_NAME = UT.TABLE_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE OBJECT_NAME LIKE &amp;#39;%TABLE_NAME%&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="to-view-active-user-session-details"&gt;To view active user session details&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT s.sid, s.serial#, p.spid, s.username, s.program
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM v$session s JOIN v$process p ON p.addr = s.paddr
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE s.type != &amp;#39;BACKGROUND&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle"&gt;Stack Overflow&lt;/a&gt;&lt;/p&gt;</description></item><item><title>കാടെരിയുമ്പോൾ</title><link>https://www.binovarghese.com/ml/2025/07/during-the-wildfire/</link><pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/07/during-the-wildfire/</guid><description>&lt;p&gt;കാറ്റ് കാട്ടുതീയാകുമ്പോൾ,&lt;/p&gt;
&lt;p&gt;കൂട്ടം തെറ്റിപ്പോയവർക്ക്&lt;br&gt;
കൂടാകുക.&lt;br&gt;
ചിറകെരിഞ്ഞ് വീണവർക്ക്&lt;br&gt;
ചാഞ്ഞ് കിടക്കാനൊരു&lt;br&gt;
നെഞ്ചകം കൊടുക്കുക.&lt;/p&gt;
&lt;p&gt;ആകാശമെരിയുമ്പോൾ&lt;br&gt;
അമ്മക്കിളിയും, &lt;br&gt;
ആശയറ്റവർക്ക്&lt;br&gt;
അച്ഛൻകിളിയുമാകുക.&lt;/p&gt;
&lt;p&gt;ഒടുവിൽ കാടെരിയുമ്പോൾ &lt;br&gt;
കൂറ്റൻക്കുന്നിലെ കാട്ടരുവിയായി&lt;br&gt;
കവിഞ്ഞൊഴുകുക.&lt;/p&gt;</description></item><item><title>കാലാന്തരം</title><link>https://www.binovarghese.com/ml/2025/07/light-of-the-world/</link><pubDate>Fri, 11 Jul 2025 10:34:34 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/07/light-of-the-world/</guid><description>&lt;p&gt;തോറ്റ് പോയിട്ടും പോരാട്ടം&lt;br&gt;
അവസാനിപ്പിക്കാത്തവർക്കു വേണ്ടി,&lt;/p&gt;
&lt;p&gt;ആൾക്കൂട്ടത്തിൽ ഒറ്റക്കായിപ്പോയിട്ടും&lt;br&gt;
എല്ലാവരെയും ചേർത്ത്&lt;br&gt;
നിർത്തിയവർക്കു വേണ്ടി,&lt;/p&gt;
&lt;p&gt;നിശബ്ദരാക്കപ്പെട്ടവരുടെ&lt;br&gt;
ഇടിമുഴക്കമായവർക്കു വേണ്ടി,&lt;/p&gt;
&lt;p&gt;ഹൃദയത്തിൽ മുറിവേറ്റിട്ടും&lt;br&gt;
സ്നേഹം പൊഴിച്ചവർക്കു വേണ്ടി,&lt;/p&gt;
&lt;p&gt;മരിച്ചു കളയാൻ കാരണങ്ങൾ&lt;br&gt;
ഏറെയുണ്ടായിട്ടും ജീവിക്കാൻ&lt;br&gt;
തീരുമാനിച്ചവർക്കു വേണ്ടി,&lt;/p&gt;
&lt;p&gt;നാം ഇനിയും കവിതകളെഴുതും&lt;br&gt;
കഥകൾ പറയും, പാട്ട് പാടും.&lt;/p&gt;
&lt;p&gt;നിങ്ങളെപ്പോലെയുള്ള മനുഷ്യരാണ്&lt;br&gt;
ഈ ലോകത്തിന്റെ വെളിച്ചം&lt;br&gt;
കെടാതെ സൂക്ഷിക്കുന്നതെന്ന്&lt;br&gt;
വരും തലമുറകളോട് ഇങ്ങനെ&lt;br&gt;
പറഞ്ഞ് കൊണ്ടേയിരിക്കും.&lt;/p&gt;
&lt;p&gt;ഒടുവിലാ പിന്തുടർച്ചയിൽ &lt;br&gt;
നമുക്ക് സഹോദരിസഹോദരന്മാർ&lt;br&gt;
ഉണ്ടാകും.&lt;/p&gt;
&lt;p&gt;കാലാന്തരത്തിൽ,&lt;br&gt;
കവിതകൾ വീണ്ടും പിറക്കും,&lt;br&gt;
വെളിച്ചം വീണ്ടും ജ്വലിക്കും.&lt;/p&gt;</description></item><item><title>I don’t know why!</title><link>https://www.binovarghese.com/drawer/2025/07/humble-or-lack-of-confidence/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/07/humble-or-lack-of-confidence/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/paitings-by-wife.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;p&gt;Sometimes we don’t realise the beauty of something we created until someone recognises it.&lt;/p&gt;
&lt;p&gt;Maybe we are too humble to acknowledge our work is as good as someone else&amp;rsquo;s, or maybe we don’t have enough confidence to take pride in something we created.&lt;/p&gt;
&lt;p&gt;I don’t know why!&lt;/p&gt;
&lt;p&gt;PS: These paintings were done by my wife, and yet she still believes she can’t draw.&lt;/p&gt;
&lt;p&gt;Let me know your comments on the above. Thank you!&lt;/p&gt;</description></item><item><title>Poet</title><link>https://www.binovarghese.com/drawer/2025/07/poet/</link><pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/07/poet/</guid><description>&lt;p&gt;I am the wizard&lt;br&gt;
who can make you dream,&lt;br&gt;
fall in love,&lt;br&gt;
dance in the rain,&lt;br&gt;
find peace,&lt;br&gt;
and enlighten you.&lt;/p&gt;
&lt;p&gt;Yes, I am a poet.&lt;/p&gt;</description></item><item><title>അമരന്മാർ</title><link>https://www.binovarghese.com/ml-musings/2025/07/poet/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/07/poet/</guid><description>&lt;p&gt;നിങ്ങൾ മതങ്ങളിലേക്ക്&lt;br&gt;
ചുരുങ്ങി മരിക്കുമ്പോൾ,&lt;br&gt;
ഞങ്ങൾ മനുഷ്യരിലേക്ക്&lt;br&gt;
പടർന്ന് അമരന്മാരാകും.&lt;/p&gt;</description></item><item><title>തുടരും</title><link>https://www.binovarghese.com/ml-musings/2025/07/vs/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/07/vs/</guid><description>&lt;p&gt;സമരസൂര്യൻ&lt;br&gt;
അസ്തമച്ചോപ്പിൽ&lt;br&gt;
അലിയുമ്പോൾ,&lt;/p&gt;
&lt;p&gt;അയാൾ ഉയർത്തിയ&lt;br&gt;
ആശയത്തിന് കീഴെ&lt;br&gt;
നാമിനിയും പോരാട്ടം&lt;br&gt;
തുടരും.&lt;/p&gt;</description></item><item><title>NOT IN vs NOT EXISTS in PL/SQL</title><link>https://www.binovarghese.com/notes/2025/06/not-null-and-not-exists/</link><pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/06/not-null-and-not-exists/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM TABLE1 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE ID NOT IN (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT ID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; FROM TABLE2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When I ran the above query I know the condition will give me the results, because the data exists in the &lt;code&gt;TABLE1&lt;/code&gt; which is not in &lt;code&gt;TABLE2&lt;/code&gt;. But I didn&amp;rsquo;t go any results. I got surprised. After I a while I found out the issue.&lt;/p&gt;
&lt;p&gt;So the reason is that &lt;code&gt;ID&lt;/code&gt; column in the &lt;code&gt;TABLE2&lt;/code&gt; have null values. If any value of &lt;code&gt;ID&lt;/code&gt; in the subquery is &lt;code&gt;NULL&lt;/code&gt;, then the entire &lt;code&gt;NOT IN&lt;/code&gt; clause fails to match anything. This is standard SQL behavior because &lt;code&gt;NULL&lt;/code&gt; makes the whole comparison unknown.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You can use &lt;code&gt;NOT NULL&lt;/code&gt; condition in the sub-query as below:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM TABLE1 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE ID NOT IN (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT ID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; FROM TABLE2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WHERE ID IS NOT NULL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;Use &lt;code&gt;NOT EXISTS&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM TABLE1 T1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE NOT EXISTS (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; FROM TABLE2 T2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WHERE T1.ID = T2.ID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;NOT EXISTS&lt;/code&gt; will automatically handle null values and safer to use.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/173041/not-in-vs-not-exists"&gt;StackOverflow&lt;/a&gt;,
&lt;a href="https://www.geeksforgeeks.org/plsql/not-in-vs-not-exists-in-plsql/"&gt;Geeks for geeks&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Difference between React and ReactDOM</title><link>https://www.binovarghese.com/blog/2025/06/react-and-react-dom/</link><pubDate>Fri, 13 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/06/react-and-react-dom/</guid><description>&lt;p&gt;I hope you know &lt;a href="https://www.binovarghese.com/blog/2023/07/what-is-react/"&gt;what is React&lt;/a&gt; and React DOM. Now let’s dig deeper to understand what is the difference between these two.&lt;/p&gt;
&lt;p&gt;As you understood earlier, React and ReactDOM are two distinct libraries that are commonly used together in the development of web applications with React.&lt;/p&gt;
&lt;h4 id="what-is-react"&gt;What is React?&lt;/h4&gt;
&lt;p&gt;React is a JavaScript library focused on building user interfaces. It follows a declarative approach, where developers define what the UI should look like based on the current state of the application. React then efficiently updates and renders components as the state changes. Its design emphasizes flexibility and efficiency, making it a popular choice for developing both web and mobile applications.&lt;/p&gt;
&lt;p&gt;Its design prioritizes flexibility, performance, and reusability, making it a popular choice for building applications across different platforms, not just for the web.&lt;/p&gt;
&lt;h4 id="what-is-reactdom"&gt;What is ReactDOM?&lt;/h4&gt;
&lt;p&gt;ReactDOM, on the other hand, serves as a bridge between React and the DOM (Document Object Model). The DOM is a hierarchical structure representing the HTML content of a web page. ReactDOM provides a set of methods that enable React components to be rendered and updated within the DOM. It ensures that the user interface is synchronized with the underlying HTML structure.&lt;/p&gt;
&lt;h4 id="why-are-react-and-reactdom-separate"&gt;Why are React and ReactDOM separate?&lt;/h4&gt;
&lt;p&gt;From the React &lt;a href="https://legacy.reactjs.org/blog/2015/07/03/react-v0.14-beta-1.html"&gt;v0.14 Beta release announcement&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As we look at packages like react native, react art, react canvas, and react three, it has become clear that the beauty and essence of React has nothing to do with browsers or the DOM.&lt;br&gt;
To make this more clear and to make it easier to build more environments that React can render to, we’re splitting the main react package into two: react and react dom.
This paves the way to writing components that can be shared between the web version of React and React Native. We don’t expect all the code in an app to be shared, but we want to be able to share the components that do behave the same across platforms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yes, React is not only used for web development. It is also used in libraries like React Native, React Canvas, and React Fiber.&lt;/p&gt;
&lt;p&gt;The benefits of splitting the core logic (react) from the platform specific renderer (react-dom) include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Platform independence: Use React for mobile (React Native), VR, canvas, etc.&lt;/li&gt;
&lt;li&gt;Maintainability: Renderers can evolve separately.&lt;/li&gt;
&lt;li&gt;Optimization: Smaller bundles and leaner code for specific environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="summary"&gt;Summary&lt;/h4&gt;
&lt;p&gt;In summary, React is a library for building user interfaces, while ReactDOM handles the interaction with the DOM, rendering React components onto the web page. Although they are often used together, they serve different purposes and can function independently of each other.&lt;/p&gt;</description></item><item><title>Good bye Georgia!</title><link>https://www.binovarghese.com/drawer/2025/06/georgia-5/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/06/georgia-5/</guid><description>&lt;p&gt;Until next time, good bye Georgia!
Thank you for filling my hands with memories and my heart with love and kindness. ♥️🇬🇪&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/georgia/09jun1.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Whispering winds</title><link>https://www.binovarghese.com/drawer/2025/06/georgia-4/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/06/georgia-4/</guid><description>&lt;p&gt;When the mountain smiles and the wind whispers to you, you’ll know you’re a mountain person.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/georgia/09jun.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>I'm not dreaming</title><link>https://www.binovarghese.com/drawer/2025/06/georgia-3/</link><pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/06/georgia-3/</guid><description>&lt;p&gt;Don&amp;rsquo;t wake me, I&amp;rsquo;m not dreaming. 🇬🇪 🌉&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/georgia/08jun.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Mountains</title><link>https://www.binovarghese.com/drawer/2025/06/georgia-2/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/06/georgia-2/</guid><description>&lt;p&gt;Mountains are mighty protectors, guardians of centuries-old tales. To hear their stories, you must bow in reverence. Then, the snow will smile upon you, and the trees will whisper their hidden truths. 🇬🇪 ⛰&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/georgia/07jun.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>New kind of magic.</title><link>https://www.binovarghese.com/drawer/2025/06/georgia-1/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/06/georgia-1/</guid><description>&lt;p&gt;Traveling is like reading a poem, every new path holds a new kind of magic. 🇬🇪✨&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/georgia/07jun1.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>ഏതോ തെരുവിലാണ് ഞാൻ</title><link>https://www.binovarghese.com/ml-musings/2025/05/in-the-street/</link><pubDate>Fri, 30 May 2025 18:38:57 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/05/in-the-street/</guid><description>&lt;p&gt;ഏതോ തെരുവിലാണ് ഞാൻ. പൊടിപിടിച്ച ഓർമകളുടെ ബലത്തിൽ ഇന്നും വഴി തെറ്റാതെ നടക്കുന്നുവെന്ന് മാത്രം. മങ്ങിയ കാഴ്ചകളുടെ അപ്പുറത്താണ് പ്രകാശമെന്ന് സ്വയം പ്രതീക്ഷയോടെ മുന്നോട്ട് നടക്കുമ്പോളും ചുറ്റുമുള്ള എല്ലാം ഞാൻ ഇഷ്ട്ടപ്പെടുന്നു.&lt;/p&gt;</description></item><item><title>Unhang Windows PC</title><link>https://www.binovarghese.com/notes/2025/05/unhang-windows-pc/</link><pubDate>Mon, 26 May 2025 16:11:01 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/unhang-windows-pc/</guid><description>&lt;p&gt;I often found that &lt;code&gt;Ctrl+Alt+Delete&lt;/code&gt; unhangs the Windows PC. I googled why?&lt;/p&gt;
&lt;p&gt;The nutshell answer is : &lt;code&gt;Ctrl+Alt+Delete&lt;/code&gt; is a secure attention sequence (SAS) triggers a system interrupt, effectively forcing the computer to respond. This is directly handled by the Windows operating system kernel. That means it can bypass most of the stuff that&amp;rsquo;s currently running (including frozen apps or even some parts of the graphical interface).&lt;/p&gt;
&lt;p&gt;Cool to know this.&lt;/p&gt;</description></item><item><title>To my younger self</title><link>https://www.binovarghese.com/drawer/2025/05/to-my-younger-self/</link><pubDate>Mon, 26 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/to-my-younger-self/</guid><description>&lt;p&gt;Dear younger me,&lt;/p&gt;
&lt;p&gt;I know you&lt;br&gt;
somewhere from the past.&lt;br&gt;
You made mistakes,&lt;br&gt;
your heart is broken,&lt;br&gt;
and you’ve lost your way.&lt;/p&gt;
&lt;p&gt;I want to tell you,&lt;br&gt;
it’s okay to be wounded&lt;br&gt;
and scared.&lt;br&gt;
You will get a chance&lt;br&gt;
to heal,&lt;br&gt;
and you will find&lt;br&gt;
the courage to get up again.&lt;/p&gt;
&lt;p&gt;Until then,&lt;br&gt;
keep going.&lt;/p&gt;</description></item><item><title>I 'll read it</title><link>https://www.binovarghese.com/desk/2025/05/i-ll-read-it/</link><pubDate>Sun, 25 May 2025 15:48:07 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/05/i-ll-read-it/</guid><description>&lt;p&gt;I recently saw Manu&amp;rsquo;s &lt;a href="https://manuelmoreale.com/i-ll-read-it"&gt;post&lt;/a&gt; and got inspired.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“I don’t know what to write about” and “what if no one will read it?”. These are the two most common reasons why people don’t want to start a personal blog. I already &lt;a href="https://manuelmoreale.com/unsolicited-blogging-advice/"&gt;addressed the first one&lt;/a&gt;, so let me tackle the second one in the easiest way possible: I’ll read it. If you decide to start a blog […] I’ll read it. I don’t care about the topic. Start a blog, write something, send it to me, and I’ll read it. And you’ll have your first reader.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’ve always loved reading and surfing the web. These web surfing adventures led me to beautiful &lt;a href="https://www.binovarghese.com/blogroll"&gt;sites&lt;/a&gt; that continually feed my curiosity. I’ve learned so much from these personal websites. Honestly, they’re what inspired me to write and create this site.&lt;/p&gt;
&lt;p&gt;You can create whatever you want, like a &lt;a href="https://www.binovarghese.com/blog/2021/digital-gardening-2021/"&gt;garden&lt;/a&gt;, there will be flowers, and there might be bugs too. I want to see more and more personal spaces in small corners of the web, and I love exploring these rabbit holes of hyperlinks. I hope one day, you’ll surprise me with yours.&lt;/p&gt;
&lt;p&gt;So if you have a personal website or blog and want a reader, &lt;a href="mailto:binovarghese8120@gmail.com"&gt;send it to me&lt;/a&gt;, I’ll read it.&lt;/p&gt;
&lt;h3 id="update"&gt;Update&lt;/h3&gt;
&lt;p&gt;After publishing this, a few people shared their blog posts with me. I was more than happy to read them and reply. I’d like to share the links here so that anyone reading this post can explore them and share their own thoughts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mostlytrue.life"&gt;Mostly True&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jeremyrobertjones.com/blog/unexpectedly-unemployed-generalist/"&gt;Jeremy Robert Jones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dangmertz.substack.com/"&gt;Ajm dang-mertz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dpanphoto.com/"&gt;David Pan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Featured posts in Hugo</title><link>https://www.binovarghese.com/blog/2025/05/featured-posts-in-hugo/</link><pubDate>Sat, 24 May 2025 19:28:08 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/05/featured-posts-in-hugo/</guid><description>&lt;p&gt;Today, I updated the &lt;a href="https://www.binovarghese.com/about/"&gt;about&lt;/a&gt; page to display featured blog sections dynamically using front matter tags. This replaces the previous hardcoded method for a more flexible setup.&lt;/p&gt;
&lt;p&gt;So here I am sharing the details. It’s a simple approach that can be done in three steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add featured field to the front matter.&lt;/li&gt;
&lt;li&gt;Create a page to list featured content.&lt;/li&gt;
&lt;li&gt;Include the featured section where needed.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="add-featured-field-to-front-matter"&gt;Add featured field to front matter&lt;/h4&gt;
&lt;p&gt;In your content files (e.g., &lt;code&gt;content/posts/my-post.md&lt;/code&gt;), include a featured field in the front matter like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;My Featured Post&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2025-05-24&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;featured&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="create-a-page-to-list-featured-content"&gt;Create a page to list featured content&lt;/h4&gt;
&lt;p&gt;Create a file named &lt;code&gt;featured.html&lt;/code&gt; inside the &lt;code&gt;layouts/partials/&lt;/code&gt; folder and add the following code:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-sm-12 col-md-4 col-lg-4&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card border shadow-sm&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-body p-3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if .Params.Title }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;{{ .Title }} &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-entry text-secondary&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if .Description }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Description | plainify }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ else }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Content }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The above is a basic card based on Bootstrap. You can modify the styles according to your preferences.&lt;/p&gt;
&lt;h4 id="call-the-featured-page-in-the-required-section"&gt;Call the featured page in the required section&lt;/h4&gt;
&lt;p&gt;Now you can include the featured content in any page like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- about.html --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ range where (where .Site.RegularPages &amp;#34;Section&amp;#34; &amp;#34;blog&amp;#34;) &amp;#34;.Params.featured&amp;#34; true }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ partial &amp;#34;featured.html&amp;#34; . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will display your featured posts in your page. Also, you can change the section (e.g., &lt;code&gt;&amp;quot;Section&amp;quot; &amp;quot;blog&amp;quot;&lt;/code&gt;) to match your content structure.&lt;/p&gt;
&lt;p&gt;Yes, that&amp;rsquo;s it. You have created a featured posts section in your Hugo website. Happy coding.&lt;/p&gt;</description></item><item><title>Lost in the way to home</title><link>https://www.binovarghese.com/drawer/2025/05/lost-in-the-way-to-home/</link><pubDate>Sat, 24 May 2025 18:00:40 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/lost-in-the-way-to-home/</guid><description>&lt;p&gt;We are all lost in some way or another&lt;br&gt;
on the road to home.&lt;br&gt;
Some are still searching.&lt;br&gt;
Some fall apart along the path.&lt;br&gt;
Only a few ever find it.&lt;/p&gt;
&lt;p&gt;I hope you do.&lt;/p&gt;</description></item><item><title>യാത്രകൾ</title><link>https://www.binovarghese.com/ml/2025/05/travel-memories/</link><pubDate>Sat, 24 May 2025 10:34:34 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/05/travel-memories/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2025/travel-memories.jpg"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/travel/"&gt;യാത്രകൾ&lt;/a&gt; അവസാനിച്ചാലും അവയുടെ ഓർമ്മകൾ അവസാനിക്കില്ല. മഴ തോരുമ്പോളും നിറഞ്ഞുപെയ്യുന്ന മരങ്ങളെപോലെ അവയിങ്ങനെ പെയ്ത്‌കൊണ്ടേയിരിക്കും. എനിക്ക് തോന്നുന്നു യാത്രകളുടെ ഏറ്റവും മനോഹരമായ ഒരു കാര്യം അവ ബാക്കി വെക്കുന്ന ഈ ഓർമകളാണ്.&lt;/p&gt;
&lt;p&gt;നടന്ന വഴികളും, കണ്ട കാഴ്ചകളും, പുതിയ മനുഷ്യരും, കഴിച്ച ആഹാരവും, എല്ലാം മനോഹരമായ ഒരു ചിത്രം പോലെ മനസിന്റെ കോണിൽ ഇങ്ങനെ സൂക്ഷിച്ച് വെയ്ക്കണം. ഇടക്കിടെ അവ എടുത്ത് നോക്കി വീണ്ടും അങ്ങോട്ട് പോകാൻ പറ്റണം. ഒരു നിമിഷം അവയുടെ തണുപ്പിൽ വീണ്ടും അലിഞ്ഞ് ചേരണം.&lt;/p&gt;</description></item><item><title>Have clarity</title><link>https://www.binovarghese.com/drawer/2025/05/have-clarity/</link><pubDate>Thu, 22 May 2025 10:57:22 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/have-clarity/</guid><description>&lt;p&gt;&lt;strong&gt;The main issue in life is not having clarity about what you want. Without clarity, you can&amp;rsquo;t focus on the things that matter.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Without focus, you will be distracted by countless things and the noise around you. These distractions will affect every decision you make. Over time, this can cause you to lose yourself and your dreams.&lt;/p&gt;
&lt;p&gt;To achieve your dreams, you need laser-sharp focus. But focus begins with clarity. First, define what your dreams are. A simple way to start is by writing them down.&lt;/p&gt;
&lt;p&gt;Create a clear, intentional list of what you want to achieve in life. Then, commit to focusing only on what truly matters.&lt;/p&gt;</description></item><item><title>Diffdiff and Emoji Kitchen</title><link>https://www.binovarghese.com/notes/2025/05/tools/</link><pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/tools/</guid><description>&lt;p&gt;I just found two tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://diffdiff.net"&gt;diffdiff&lt;/a&gt; is a fast, private way to compare two pieces of text, created by &lt;a href="https://jkaptur.com"&gt;Joe Kaptur&lt;/a&gt;. It&amp;rsquo;s interface is so clean and good.&lt;/li&gt;
&lt;li&gt;An impressive emoji-mixing site called &lt;a href="https://emojikitchen.dev"&gt;Emoji Kitchen&lt;/a&gt;, created by &lt;a href="https://xsalazar.com"&gt;Xavier Salazar&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/notes/2025/emojikitchen.png" width="300"&gt;&lt;figcaption&gt;
 &lt;p&gt;Thunder and Unicorn mixed by Emoji Kitchen&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Google AI Overview</title><link>https://www.binovarghese.com/notes/2025/05/google-ai-overview/</link><pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/google-ai-overview/</guid><description>&lt;p&gt;I don’t search for things as much as I used to. These days, I just go straight to ChatGPT. I don’t feel like Googling and clicking through multiple pages to find the best answer. I ask ChatGPT, and most of the time, the results are satisfying.&lt;/p&gt;
&lt;p&gt;I’ve heard that traditional Google searches are declining. But now, they’ve introduced AI Overviews at the top of their results. I think it’s a good idea—because we get a quick summary of what we’re looking for, along with links to other websites.
Yes, I think it’s a good move.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/notes/2025/google-ai-overview.png"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;Google AI Overview for my theme Lightbi&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Tequila</title><link>https://www.binovarghese.com/drawer/2025/05/tequila/</link><pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/tequila/</guid><description>&lt;p&gt;He thought tequila&lt;br&gt;
gave him the most&lt;br&gt;
sudden ignitions,&lt;br&gt;
until he kissed her&lt;br&gt;
for the first time.&lt;/p&gt;</description></item><item><title>The lights</title><link>https://www.binovarghese.com/drawer/2025/05/338/</link><pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/338/</guid><description>&lt;p&gt;Wandering at night brings peace—and pictures like this.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/338.jpg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Custom folder Icons with Material Icon Theme</title><link>https://www.binovarghese.com/notes/2025/05/custom-vs-icons/</link><pubDate>Mon, 12 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/custom-vs-icons/</guid><description>&lt;p&gt;Install Material Icon Theme&lt;/p&gt;
&lt;p&gt;In settings.json:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;material-icon-theme.folders.associations&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;folder-name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;folder-name&lt;/code&gt; is the folder name and &lt;code&gt;Home&lt;/code&gt; is the icon.
You can find the files and folders icons in &lt;a href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>My Home</title><link>https://www.binovarghese.com/desk/2025/05/my-home/</link><pubDate>Mon, 12 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/05/my-home/</guid><description>&lt;p&gt;I often wonder why I’m too lazy to post my writings on social media, even though, somehow, I still do it. Also, after checking the posts for a while, I start to feel tired. Actually, I don’t have Instagram, YouTube, or Twitter on my phone. Sometimes I’ll install them for a few days, and then I’ll suddenly uninstall them. Other than YouTube (not Shorts), most social media platforms make me feel drained after using them.&lt;/p&gt;
&lt;p&gt;But I’m happy to spend hours here (on my website), and I feel more energized. I know that most views and reach come from social media. But I can’t help myself. When I spend time here, it feels like I’m sitting at home, enjoying myself. But when it comes to social media, I feel like I’m in someone else’s place, and I’m all alone there even though there’s a loud party with a huge, noisy crowd. I don’t feel welcomed.&lt;/p&gt;
&lt;p&gt;As I said earlier, this website feels like home to me my place, &lt;a href="https://www.binovarghese.com/desk"&gt;my desk&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/ml"&gt;my stories&lt;/a&gt;, and my rules.
Spending more time here brings me happiness and, more importantly, peace. I know I’m in control here. I’m not seeking validation either. I’m just writing the things I like, and only a few people are reading them. The funny part is, aside from my close circle, no one has responded to my posts. Yet I still feel happy, and that’s wonderful.&lt;/p&gt;
&lt;p&gt;On social media, I think I’m seeking validation likes, comments, and I just end up waiting for them. Maybe that’s what makes me unhappy. I don’t know why, but I just feel tired over there. Here, I’m writing for myself not for anyone else and that gives me a real sense of freedom. I can do whatever I want with it. If someone happens to read this, that’s just a bonus.&lt;/p&gt;
&lt;p&gt;So, this is my happy place. I want to channel all my energy into this space, and I want to make it even more beautiful.&lt;/p&gt;
&lt;p&gt;After all, this is my home.&lt;/p&gt;</description></item><item><title>Jatayu Earth Center</title><link>https://www.binovarghese.com/desk/2025/05/jatayu-park-kerala/</link><pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/05/jatayu-park-kerala/</guid><description>&lt;p&gt;In December 2023, I went to view the world&amp;rsquo;s largest bird sculpture in the world, which is in Jatayu Earth Center. Yes, It&amp;rsquo;s in Kerala and near to my home town.&lt;/p&gt;
&lt;p&gt;Here are some of the facts I took from Wikipedia about the park:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It was sculpted by Rajiv Anchal.&lt;/li&gt;
&lt;li&gt;It is a National park and tourism centre at Chadayamangalam in Kollam district of Kerala, India.&lt;/li&gt;
&lt;li&gt;It stands at an altitude of 350m (1200ft) above the mean sea level.&lt;/li&gt;
&lt;li&gt;To get to the top, there&amp;rsquo;s a cable car and it&amp;rsquo;s the only cable car in Kerala.&lt;/li&gt;
&lt;li&gt;It holds the distinction of having the world’s largest bird sculpture, which is of Jatayu.&lt;/li&gt;
&lt;li&gt;The sculpture measures 200 feet (61 m) long, 150 feet (46 m) wide, 70 feet (21 m) in height and occupies 15,000 square feet (1,400 m2) of floor area.&lt;/li&gt;
&lt;li&gt;The statue is a representation of a legend Ramayana, and symbolizes the protection of women, and their honour and safety.&lt;/li&gt;
&lt;li&gt;This rock theme nature park was the first Public and private partnership tourism initiative in the state of Kerala under the BOT model.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want, you can read more &lt;a href="https://en.wikipedia.org/wiki/Jatayu_Earth%27s_Center_Nature_Park"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Okay, let’s start the journey.&lt;/p&gt;
&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-10.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-21.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-13.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-9.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It was a solo trip, a one day visit. I reached the destination in the morning via a KSRTC bus and took an autorickshaw from the bus stop.&lt;/p&gt;
&lt;p&gt;The entry point to the park was well maintained. To reach the top, where the Jatayu sculpture stands, visitors can either take an 826 step walkway up the hill or ride the cable car. Both have different ticket rates.&lt;/p&gt;
&lt;p&gt;I thought I’d walk up and take the cable car down. So I bought tickets accordingly and started walking.
It was actually a long and tiring climb, especially since I was alone, but it was beautiful. You walk through a semi forest, with a stone paved path winding uphill. Tall trees line both sides of the walkway, and there are benches along the way to rest.&lt;/p&gt;
&lt;p&gt;It took me around 40 minutes to climb all 826 steps and reach the top.&lt;/p&gt;
&lt;p&gt;But when I got there, the view was spectacular. The Jatayu was lying on the rock, with one wing cut by Ravana. You can feel the pain in the wings and see the bravery in his eyes.&lt;/p&gt;
&lt;p&gt;It’s a masterpiece done in the rocks. I walked around it and got a close look at the gigantic figure. You can see the details in the wings and the head. It’s a beauty to feel.&lt;/p&gt;
&lt;p&gt;&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-3.jpeg" width="400"&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-4.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-2.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-6.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can read the poem written by the great Malayalam poet O. N. V. Kurup about Jatayu, and other details of the sculpture are also displayed there.&lt;/p&gt;
&lt;p&gt;There’s a small snack shop for light refreshments, and a temple beside the sculpture, which you can visit as well. The sculpture, temple, and surrounding buildings are all made of black stone, which gives a cohesive and striking look to the entire place.&lt;/p&gt;
&lt;p&gt;After spending some time there and taking a few photos, I decided to head back down using the cable car.&lt;/p&gt;
&lt;p&gt;Seeing the cable cars reminded me of the ones in videos from Switzerland. The cars move slowly, and you have to hop on quickly, but everything is well managed, and I really enjoyed the ride.&lt;/p&gt;
&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-18.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/kerala/jatayu-park/jatayu-park-20.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In less than 10 minutes, I was at the bottom. I had lunch at the cafeteria, and after the meal, I began my journey home.&lt;/p&gt;
&lt;p&gt;One bucket list item: done.
Memories: saved.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;</description></item><item><title>Sticky footers</title><link>https://www.binovarghese.com/notes/2025/05/sticky-footer/</link><pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/sticky-footer/</guid><description>&lt;p&gt;To make a sticky footer in the Bootstrap you can use the below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;body class=&amp;#34;d-flex flex-column min-vh-100&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;main class=&amp;#34;flex-fill&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Your page content here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/main&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;footer class=&amp;#34;bg-dark text-white text-center py-2&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Your footer content here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/footer&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;d-flex flex-column min-vh-100&lt;/code&gt; on &lt;!-- raw HTML omitted --&gt;: makes the body fill the viewport and act like a vertical Flexbox container.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flex-fill&lt;/code&gt; on &lt;!-- raw HTML omitted --&gt;: makes the content area take up all available vertical space, pushing the footer down.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;footer&lt;/code&gt;: stays at the bottom even with short content.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>You can never die</title><link>https://www.binovarghese.com/drawer/2025/05/live-forever/</link><pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/live-forever/</guid><description>&lt;p&gt;If a writer falls in love with you, you can never die.
― Mik Everett&lt;/p&gt;
&lt;p&gt;You can reread the above quote to this: “&lt;strong&gt;If the person dear to you is an artist, you can never die.&lt;/strong&gt;”&lt;/p&gt;
&lt;p&gt;Yes, because they will carry you in their art pieces.
If they are a writer, they will hide you between the lines of their favorite poems or stories.
If they are a photographer, you will be in their photos forever.
If they are a musician, they will blend you into the rhythm.
If they are a painter, they will add you into the corners of their canvas.
And the list goes on.&lt;/p&gt;
&lt;p&gt;You will be forever engraved in their art, sometimes in plain sight, sometimes hidden.
When others see the art, the artist will see you.&lt;/p&gt;</description></item><item><title>Redesign</title><link>https://www.binovarghese.com/desk/2025/05/redesigned-the-garden/</link><pubDate>Sat, 10 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/05/redesigned-the-garden/</guid><description>&lt;p&gt;At the end of last year, I decided to pause modifications on this website for a while but the &lt;a href="https://www.binovarghese.com/desk/2024/12/future/"&gt;future&lt;/a&gt; is unpredictable.&lt;/p&gt;
&lt;p&gt;One fine day last week, I found myself modifying my feed section (now renamed to &lt;a href="https://www.binovarghese.com/room"&gt;Room&lt;/a&gt;). I simply wanted to make it cleaner and more minimal. So, I updated it as I wished for now.&lt;/p&gt;
&lt;p&gt;But those small changes spiraled into several days of intense activity. I went a little crazy, updating things vigorously. On the fly, I decided to restructure the site more like a digital garden. I created multiple spaces like Coder and Writer and interconnected them all within the Garden space.&lt;/p&gt;
&lt;p&gt;I also made various design tweaks: adjusting heading sizes, changing colors, updating the home sections, and even redesigning the 404 page. I think I need to slow down now which is why I’m writing this.&lt;/p&gt;
&lt;p&gt;Here are some of the main changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added the &lt;a href="https://www.binovarghese.com/writer-space"&gt;Writer space&lt;/a&gt; to collect all non-tech essays and notes in one place.&lt;/li&gt;
&lt;li&gt;Redesigned the home page to include &lt;a href="https://www.binovarghese.com/room"&gt;Garden&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/coder-space"&gt;Coder space&lt;/a&gt; , &lt;a href="https://www.binovarghese.com/writer-space"&gt;Writer space&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/ml-space"&gt;Malayali Space&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Modified the menu to add these spaces, and removed sublinks like Essays, Notes, Desk, and Drawer.&lt;/li&gt;
&lt;li&gt;Enabled navigation between pages using the left (←) and right (→) arrow keys.&lt;/li&gt;
&lt;li&gt;Created the &lt;a href="https://www.binovarghese.com/coder-space"&gt;Coder space&lt;/a&gt; space for tech essays and notes.&lt;/li&gt;
&lt;li&gt;Removed post images from the preview cards in the Desk section.&lt;/li&gt;
&lt;li&gt;Renamed the Feed section to &lt;a href="https://www.binovarghese.com/archive"&gt;Garden&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Changed the Feed style from a card design to a minimal listing layout.&lt;/li&gt;
&lt;li&gt;Added a &lt;a href="https://www.binovarghese.com/shelf"&gt;Shelf&lt;/a&gt; section for general notes outside of tech. &lt;a href="https://www.binovarghese.com/drawer"&gt;Drawer&lt;/a&gt; will now be used for poetry, musings, and social media posts only.&lt;/li&gt;
&lt;li&gt;Added a secondary footer to include additional links.&lt;/li&gt;
&lt;li&gt;Added a shadow effect to blog post images.&lt;/li&gt;
&lt;li&gt;Made several minor tweaks to heading and design styles.&lt;/li&gt;
&lt;li&gt;Updated links and text in the &lt;a href="https://www.binovarghese.com/404"&gt;404&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also you can see the full changes &lt;a href="https://www.binovarghese.com/changelog"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Okay, I think I can slow down for a while now and start planting more seeds in this garden.&lt;/p&gt;</description></item><item><title>Upgrade Hugo</title><link>https://www.binovarghese.com/notes/2025/05/upgrade-hugo/</link><pubDate>Sat, 10 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/upgrade-hugo/</guid><description>&lt;p&gt;To install or update Hugo extended using HomeBrew, you can use the below,&lt;/p&gt;
&lt;p&gt;Install the extended version:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or if you already have it and just want to upgrade:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew upgrade hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check the version to using &lt;code&gt;hugo version&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Modernization of Apps</title><link>https://www.binovarghese.com/notes/2025/05/modernize/</link><pubDate>Fri, 09 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/modernize/</guid><description>&lt;p&gt;One of the main topics discussed in the &lt;a href="https://www.binovarghese.com/blog/2025/05/postgre-sql/"&gt;seminar&lt;/a&gt; I attended was modernizing legacy applications.&lt;/p&gt;
&lt;p&gt;Legacy applications are typically monolithic in nature, making it difficult to scale or integrate new features quickly. The monolithic apps ruled the software industry for a very longer time, but now people are moving (already many moved) to its great alternative, the microservice architecture.&lt;/p&gt;
&lt;p&gt;I’ve come across monolithic applications that are tightly coupled with environments like Oracle or .NET, where growth can become a painful process. Over time, these systems tend to become slow, expensive to maintain, and resistant to change.&lt;/p&gt;
&lt;h4 id="links"&gt;Links&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.ibm.com/think/topics/monolithic-architecture"&gt;Monolithic and microservice architecture&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Avenues</title><link>https://www.binovarghese.com/drawer/2025/05/avenues-visit/</link><pubDate>Fri, 09 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/avenues-visit/</guid><description>&lt;p&gt;The expanded Avenues Mall is a beautiful place to explore. These photos are from the sea-facing area.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues/avenues-1_hu_ed7a6d7f934d07e4.webp 400w,
 /img/drawer/2025/avenues/avenues-1_hu_1b02eac41bcca52f.webp 700w,
 /img/drawer/2025/avenues/avenues-1_hu_f575ead62820a0e5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-1_hu_71c49f18debfe314.jpeg"
 srcset="
 /img/drawer/2025/avenues/avenues-1_hu_42f0f69c4f51ffa0.jpeg 400w,
 /img/drawer/2025/avenues/avenues-1_hu_71c49f18debfe314.jpeg 700w,
 /img/drawer/2025/avenues/avenues-1_hu_3e99f422b9cbe4f0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues/avenues-1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues/avenues-2_hu_9da3304ff86b9eee.webp 400w,
 /img/drawer/2025/avenues/avenues-2_hu_d1994711c5228789.webp 700w,
 /img/drawer/2025/avenues/avenues-2_hu_c64a13a99057400a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-2_hu_4efdb6f0b3b49270.jpeg"
 srcset="
 /img/drawer/2025/avenues/avenues-2_hu_fec3feca8b3c0fe0.jpeg 400w,
 /img/drawer/2025/avenues/avenues-2_hu_4efdb6f0b3b49270.jpeg 700w,
 /img/drawer/2025/avenues/avenues-2_hu_e87c43c2c0cf2493.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues/avenues-2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues/avenues-3_hu_4169ad523da04561.webp 400w,
 /img/drawer/2025/avenues/avenues-3_hu_f9f8ff360553e1bb.webp 700w,
 /img/drawer/2025/avenues/avenues-3_hu_b0d85de33c881e73.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-3_hu_4a1a5cdd177e0160.jpeg"
 srcset="
 /img/drawer/2025/avenues/avenues-3_hu_bf674b9a5d6a9094.jpeg 400w,
 /img/drawer/2025/avenues/avenues-3_hu_4a1a5cdd177e0160.jpeg 700w,
 /img/drawer/2025/avenues/avenues-3_hu_bc22c3d2c6785c8d.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues/avenues-3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-4.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues/avenues-4_hu_a2ba1889bcec232f.webp 400w,
 /img/drawer/2025/avenues/avenues-4_hu_cacc877aa2bf2569.webp 700w,
 /img/drawer/2025/avenues/avenues-4_hu_37fa0a113e792a9.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues/avenues-4_hu_c2e7cb5abc13b4b1.jpeg"
 srcset="
 /img/drawer/2025/avenues/avenues-4_hu_8e336686fd87d1ad.jpeg 400w,
 /img/drawer/2025/avenues/avenues-4_hu_c2e7cb5abc13b4b1.jpeg 700w,
 /img/drawer/2025/avenues/avenues-4_hu_882436f081bbf713.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues/avenues-4.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Unknown universe</title><link>https://www.binovarghese.com/drawer/2025/05/unknown-universe/</link><pubDate>Fri, 09 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/unknown-universe/</guid><description>&lt;p&gt;We will meet again&lt;br&gt;
in an unknown universe,&lt;br&gt;
where I am the wizard,&lt;br&gt;
and you, my witch&lt;br&gt;
where I will cast&lt;br&gt;
the most divine spell:&lt;br&gt;
“Tvayi prema karomi.”&lt;/p&gt;
&lt;p&gt;Beneath the raining stars,&lt;br&gt;
We will fall in love again,&lt;br&gt;
after a million lifetimes.&lt;/p&gt;</description></item><item><title>Office plants</title><link>https://www.binovarghese.com/drawer/2025/05/office-plants/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/office-plants/</guid><description>&lt;p&gt;After my eyes grew tired, I stepped outside the office to relax. I stood there for a while and noticed these plants growing in the middle of the desert and they brought me a sense of peace.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/office-plants.webp" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>To PostgreSQL</title><link>https://www.binovarghese.com/blog/2025/05/postgre-sql/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2025/05/postgre-sql/</guid><description>&lt;p&gt;Earlier this week, I went to a seminar on Amazon AWS conducted by one of their partner organizations. During the session, one of the slides highlighted success stories from AWS clients, including Sony Corporation. They shared how Sony migrated to AWS and adopted PostgreSQL as part of their cloud transformation strategy.&lt;/p&gt;
&lt;p&gt;Until now, I hadn’t used PostgreSQL myself, but this made me curious. how many major corporations have actually made the switch to PostgreSQL? Just out of curiosity, I started looking into it.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a list of well known companies that have moved to PostgreSQL, driven by reasons like cost savings, better scalability, and the flexibility offered by open source technologies.&lt;/p&gt;
&lt;h4 id="companies-migrated-from-other-databases-to-postgresql"&gt;Companies Migrated from Other databases to PostgreSQL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Yandex.Mail&lt;/strong&gt;: The Russian tech giant migrated its Yandex.Mail service from Oracle to PostgreSQL to enhance scalability and reduce licensing costs. &lt;a href="https://www.pgcon.org/2016/schedule/attachments/426_2016.05.19%20Yandex.Mail%20success%20story.pdf"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The Guardian&lt;/strong&gt;: The British news outlet migrated from MongoDB to PostgreSQL in 2018. &lt;a href="https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Met Office (UK)&lt;/strong&gt;: The UK&amp;rsquo;s national weather service replaced Oracle with PostgreSQL as part of a broader strategy to adopt more open-source technologies. &lt;a href="https://www.computing.co.uk/news/2347067/met-office-selects-2ndquadrant-to-help-with-data-migration-to-open-source"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sony Corporation&lt;/strong&gt; The multinational conglomerate have moved to AWS PostgreSQL for more effeciency and scalability.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="other-notable-companies-using-postgresql"&gt;Other notable companies using PostgreSQL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI&lt;/strong&gt;: Utilizes PostgreSQL as a core component of its API services, including for ChatGPT, leveraging its robustness and scalability.&lt;a href="https://en.wikipedia.org/wiki/PostgreSQL"&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;: Employs PostgreSQL for its petabyte-scale &amp;ldquo;Release Quality View&amp;rdquo; analytics dashboard, analyzing metrics from over 800 million Windows devices. &lt;a href="https://techcommunity.microsoft.com/blog/adforpostgresql/architecting-petabyte-scale-analytics-by-scaling-out-postgres-on-azure-with-the-/969685"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reddit&lt;/strong&gt;: The social news aggregation platform uses PostgreSQL to manage its vast user-generated content.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Instagram&lt;/strong&gt; is using PostgreSQL and Cassandra for its backend. &lt;a href="https://blog.bytebytego.com/p/how-instagram-scaled-its-infrastructure"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are the small list of companies I just found by googling and asking ChatGPT. I know there are many more, but I just want satisfy my curosity. If you want more you find out the list in the notable section in the Postgres Wikipedia &lt;a href="PostgreSQL"&gt;link&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Hide details in the mobile screen with Bootstrap</title><link>https://www.binovarghese.com/notes/2025/05/hide-on-mobile/</link><pubDate>Wed, 07 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/hide-on-mobile/</guid><description>&lt;p&gt;In the &lt;a href="https://www.binovarghese.com/archive/"&gt;feed&lt;/a&gt; page I need to hide the dotted line in the mobile screens. So here you can see how its can be done in Bootstrap.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;d-none d-md-flex&lt;/code&gt;: shows only on md and up (desktop/tablet)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;d-block d-md-none&lt;/code&gt;: shows only on mobile&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;text-nowrap&lt;/code&gt;: prevents text from wrapping&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;div class=&amp;#34;mb-3&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Desktop layout --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;d-none d-md-flex align-items-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;a href=&amp;#34;{{ .Permalink }}&amp;#34; class=&amp;#34;text-decoration-none fw-medium me-2 text-nowrap&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Sample heading
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;flex-grow-1 border-bottom dotted-line mx-2&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;p class=&amp;#34;text-muted small text-nowrap mb-0&amp;#34;&amp;gt;Date&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Mobile layout --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;d-block d-md-none&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;a href=&amp;#34;{{ .Permalink }}&amp;#34; class=&amp;#34;text-decoration-none fw-medium d-block mb-1&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Sample heading
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;p class=&amp;#34;text-muted small mb-0&amp;#34;&amp;gt;Date&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>SQLite is the most deployed and most used database</title><link>https://www.binovarghese.com/notes/2025/05/fun-facts-about-sqllite/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/05/fun-facts-about-sqllite/</guid><description>&lt;p&gt;Avinash is sharing some cool facts about SQLite.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SQLite is the most deployed and most used database. There are over one trillion (1000000000000 or a million million) SQLite databases in active use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SQLite is likely used more than all other database engines combined. Billions and billions of copies of SQLite exist in the wild. It’s everywhere.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are mind blowing, have a look into that.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://avi.im/blag/2024/sqlite-facts/"&gt;Article link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Thinking framework</title><link>https://www.binovarghese.com/drawer/2025/05/thinking-framework/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/thinking-framework/</guid><description>&lt;p&gt;Framework for responding to a conversation that might have hurt you.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Analyze what they said: Reflect on the words and tone used.&lt;/li&gt;
&lt;li&gt;Understand the meaning: Consider the intent behind the message.&lt;/li&gt;
&lt;li&gt;Consider the reason: Think about why they might have said this.&lt;/li&gt;
&lt;li&gt;Respond clearly and calmly: Share your perspective without escalation.&lt;/li&gt;
&lt;li&gt;Show kindness and empathy: Approach the entire conversation with patience and compassion.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Why Shelf</title><link>https://www.binovarghese.com/desk/2025/05/why-shelf/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/05/why-shelf/</guid><description>





 


&lt;div class="card mb-3 p-0 alert alert-warning"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Update
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A few days later, I decided to combine the Shelf posts with the Desk section. I’ve realized that, for now, I don’t have much time to invest in maintaining a separate section. Yes, only time knows the future.
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Yes, after the &lt;a href="https://www.binovarghese.com/desk"&gt;Desk&lt;/a&gt; and the &lt;a href="https://www.binovarghese.com/drawer"&gt;Drawer&lt;/a&gt;, now comes the &lt;a href="https://www.binovarghese.com/shelf"&gt;Shelf&lt;/a&gt;. Really, what are you doing?&lt;/p&gt;
&lt;p&gt;This was the thought that came to my mind when I decided to make a Shelf section in my head.&lt;/p&gt;
&lt;p&gt;Why? You have the Desk for long essays, the Drawer for short ones, then what is the purpose of the Shelf?&lt;/p&gt;
&lt;p&gt;I think I need to explain it to myself. The Desk is for slightly longer essays, my reflections, travel diaries, or random things that take an essay format.&lt;/p&gt;
&lt;p&gt;The Drawer is for my tiny personal things, like short musings, poems, and social media posts. It’s small, and it’s mine.&lt;/p&gt;
&lt;p&gt;But the things on the Shelf are the ones I bought or borrowed from somewhere else. It’s a collection of ideas I’ve read, reading highlights I want to share, or links I need to share and comment on. Basically, it’s extended notes with links.&lt;/p&gt;
&lt;p&gt;Even though I have a somewhat clear separation between all these, maybe in the future I’ll merge some of the sections together. Like that line from one of my favorite songs:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Who can say where the road goes?&lt;br&gt;
Where the day flows?&lt;br&gt;
Only time.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Dolce far niente</title><link>https://www.binovarghese.com/drawer/2025/05/dolce-far-niente/</link><pubDate>Sat, 03 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/dolce-far-niente/</guid><description>&lt;p&gt;I don’t want a thing&lt;br&gt;
on Saturday mornings&lt;br&gt;
just my favorite songs&lt;br&gt;
playing low.&lt;/p&gt;
&lt;p&gt;I don’t want to leave the bed,&lt;br&gt;
just stay there,&lt;br&gt;
holding you tightly,&lt;br&gt;
all day long.&lt;/p&gt;
&lt;p&gt;Let me sit cross legged,&lt;br&gt;
tea in one hand,&lt;br&gt;
and you in the other&lt;br&gt;
sipping both,&lt;br&gt;
slowly.&lt;/p&gt;</description></item><item><title>The night is young</title><link>https://www.binovarghese.com/drawer/2025/05/night-is-young/</link><pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/05/night-is-young/</guid><description>&lt;p&gt;It’s 10 p.m., I’m in bed&lt;br&gt;
watching reels, and I’m bored.&lt;br&gt;
Then the friends texted me,&lt;br&gt;
“Let’s go for a walk,” and I said yes.&lt;/p&gt;
&lt;p&gt;Now it’s 2:30 a.m., we’re still&lt;br&gt;
roaming the streets,&lt;br&gt;
Endless conversations&lt;br&gt;
about nothing,&lt;br&gt;
and everything under the sun.&lt;br&gt;
The talks that make time feel unreal.&lt;/p&gt;
&lt;p&gt;It’s hard to say goodbye&lt;br&gt;
when we’re having&lt;br&gt;
chocolate ice cream at midnight,&lt;br&gt;
and laughing loud in the&lt;br&gt;
yellow lighted roads.&lt;/p&gt;
&lt;p&gt;We keep walking, still talking,&lt;br&gt;
as someone says,&lt;br&gt;
“The night is young,&lt;br&gt;
and we have miles to go&lt;br&gt;
before we sleep.”&lt;/p&gt;</description></item><item><title>We will come for you.</title><link>https://www.binovarghese.com/drawer/2025/04/pahalgam/</link><pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/pahalgam/</guid><description>&lt;p&gt;Today, you murdered the innocent. &lt;br&gt;
Those who were sharing meals with their&lt;br&gt;
loved ones, those who were living&lt;br&gt;
their dreams.&lt;/p&gt;
&lt;p&gt;None of them had wronged you.&lt;br&gt;
They had done nothing.&lt;br&gt;
And still, you killed them&lt;br&gt;
without mercy,&lt;br&gt;
because of your f*cking terrorism.&lt;/p&gt;
&lt;p&gt;We will let this haunt us, always,&lt;br&gt;
We will carry this wound forever,&lt;br&gt;
And we will not forgive you.&lt;/p&gt;
&lt;p&gt;But remember this,&lt;br&gt;
we will come for you.&lt;br&gt;
And yes, you will pay the blood price,&lt;br&gt;
for every life you took.&lt;/p&gt;
&lt;p&gt;Until then, we stand together.&lt;br&gt;
As we always have.&lt;br&gt;
As we always will.&lt;/p&gt;</description></item><item><title>Italian movie</title><link>https://www.binovarghese.com/drawer/2025/04/italian-movie/</link><pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/italian-movie/</guid><description>&lt;p&gt;It’s just like a colorful movie,&lt;br&gt;
where we wander&lt;br&gt;
through an old Italian city.&lt;/p&gt;
&lt;p&gt;In the morning,&lt;br&gt;
we’ll share a Cornetto and cappuccino,&lt;br&gt;
then ride an old motorcycle&lt;br&gt;
through sunlit alleys,&lt;br&gt;
keeping our hearts close.&lt;/p&gt;
&lt;p&gt;At noon,&lt;br&gt;
I’ll take your hand&lt;br&gt;
and run with you through Naples,&lt;br&gt;
where love lives forever.&lt;/p&gt;
&lt;p&gt;In the evening,&lt;br&gt;
under the golden hush of dusk,&lt;br&gt;
I’ll wrap my arms around your neck&lt;br&gt;
and kiss you, whispering:&lt;br&gt;
“Ti amo con tutta l’anima.”&lt;/p&gt;
&lt;p&gt;Here, I want us to live&lt;br&gt;
like a timeless poem—&lt;br&gt;
full of love, light, and magic.&lt;/p&gt;</description></item><item><title>Saturday</title><link>https://www.binovarghese.com/drawer/2025/04/avenues-saturday/</link><pubDate>Sat, 19 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/avenues-saturday/</guid><description>&lt;p&gt;Saturday evenings be like.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-1_hu_90e74951b2f4fdd0.webp 400w,
 /img/drawer/2025/avenues-19-apr/a-1_hu_f23fb912f9e98028.webp 700w,
 /img/drawer/2025/avenues-19-apr/a-1_hu_9fc1bc23174dfd64.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-1_hu_1b093685cbad8cb6.jpeg"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-1_hu_cc36d9c7f5dd5568.jpeg 400w,
 /img/drawer/2025/avenues-19-apr/a-1_hu_1b093685cbad8cb6.jpeg 700w,
 /img/drawer/2025/avenues-19-apr/a-1_hu_25d4fa7579e2fafd.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues-19-apr/a-1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-2_hu_c7224c8d01be1c1e.webp 400w,
 /img/drawer/2025/avenues-19-apr/a-2_hu_a47235f30c4f0c2f.webp 700w,
 /img/drawer/2025/avenues-19-apr/a-2_hu_2992630308e24e91.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-2_hu_88fa0ad5f44e338b.jpeg"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-2_hu_16c2fee04ed0594.jpeg 400w,
 /img/drawer/2025/avenues-19-apr/a-2_hu_88fa0ad5f44e338b.jpeg 700w,
 /img/drawer/2025/avenues-19-apr/a-2_hu_325b2c9deb0fbfa.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues-19-apr/a-2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-3_hu_3058001867d76d30.webp 400w,
 /img/drawer/2025/avenues-19-apr/a-3_hu_f9a204a58fbee5f6.webp 700w,
 /img/drawer/2025/avenues-19-apr/a-3_hu_9915a07747626c63.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-3_hu_449b5e5f3d06965d.jpeg"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-3_hu_130fcb3272fa0dca.jpeg 400w,
 /img/drawer/2025/avenues-19-apr/a-3_hu_449b5e5f3d06965d.jpeg 700w,
 /img/drawer/2025/avenues-19-apr/a-3_hu_76ae3ee5e78bf62e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues-19-apr/a-3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-4.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-4_hu_470492e8e7577286.webp 400w,
 /img/drawer/2025/avenues-19-apr/a-4_hu_32098ef99f2ba59f.webp 700w,
 /img/drawer/2025/avenues-19-apr/a-4_hu_9c5555453c75cf63.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-4_hu_6b9a03fc3a4b87b2.jpeg"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-4_hu_f5988216d609a762.jpeg 400w,
 /img/drawer/2025/avenues-19-apr/a-4_hu_6b9a03fc3a4b87b2.jpeg 700w,
 /img/drawer/2025/avenues-19-apr/a-4_hu_aec94097e14ca150.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues-19-apr/a-4.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-5.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-5_hu_718b97a4121d90f6.webp 400w,
 /img/drawer/2025/avenues-19-apr/a-5_hu_693ef33a7bd82b5.webp 700w,
 /img/drawer/2025/avenues-19-apr/a-5_hu_71b284e42c15b3cb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/avenues-19-apr/a-5_hu_759c74c32d929739.jpeg"
 srcset="
 /img/drawer/2025/avenues-19-apr/a-5_hu_597a15fee9f5cb7f.jpeg 400w,
 /img/drawer/2025/avenues-19-apr/a-5_hu_759c74c32d929739.jpeg 700w,
 /img/drawer/2025/avenues-19-apr/a-5_hu_fa0186d108edf6b9.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/avenues-19-apr/a-5.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Sun</title><link>https://www.binovarghese.com/drawer/2025/04/sun/</link><pubDate>Thu, 17 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/sun/</guid><description>&lt;p&gt;I want to be the sun, radiating my own light, &lt;br&gt;
not the moon, borrowing its glow.&lt;/p&gt;</description></item><item><title>I miss you</title><link>https://www.binovarghese.com/drawer/2025/04/miss-you/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/miss-you/</guid><description>&lt;p&gt;O baby, I miss you&lt;br&gt;
in the soft, slow mornings,&lt;br&gt;
in the hush of lazy noon,&lt;br&gt;
and in the quiet of calm evenings.&lt;/p&gt;
&lt;p&gt;You know I feel alone here.&lt;br&gt;
I just want to come home&lt;br&gt;
to run into your arms,&lt;br&gt;
and kiss you like wildfire.&lt;/p&gt;
&lt;p&gt;Let’s share a cup of tea,&lt;br&gt;
under our fairy lights,&lt;br&gt;
like old days.&lt;br&gt;
Then we&amp;rsquo;ll&lt;br&gt;
become one, like a prayer.&lt;/p&gt;</description></item><item><title>Kiss</title><link>https://www.binovarghese.com/drawer/2025/04/kiss/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/kiss/</guid><description>&lt;p&gt;On good days,&lt;br&gt;
I want to kiss you madly.&lt;br&gt;
And on bad days,&lt;br&gt;
I want to kiss you deeply.&lt;/p&gt;</description></item><item><title>Kisser</title><link>https://www.binovarghese.com/drawer/2025/04/kisser/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/kisser/</guid><description>&lt;p&gt;I want to be a good kisser,&lt;br&gt;
that’s why I’m trying&lt;br&gt;
every part of you.&lt;/p&gt;</description></item><item><title>Windy day</title><link>https://www.binovarghese.com/drawer/2025/04/windy-day/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/windy-day/</guid><description>&lt;p&gt;It&amp;rsquo;s very windy today. The air is full of dust, and visibility is poor.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/windy-day-15-apr/w-1.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/windy-day-15-apr/w-2.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>ജടായു</title><link>https://www.binovarghese.com/ml/2025/04/jadayu/</link><pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2025/04/jadayu/</guid><description>&lt;p&gt;നീണ്ട പ്രയാണങ്ങളിൽ&lt;br&gt;
ചിറക് ഇടറുമ്പോളൊക്കെ,&lt;br&gt;
ജടായു,&lt;br&gt;
ഞാൻ നിന്നെയോർക്കും.&lt;/p&gt;
&lt;p&gt;പാതിയരിഞ്ഞ ചിറകുമായി&lt;br&gt;
പ്രാണൻ പിടയുമ്പോഴും,&lt;br&gt;
പോർമുഖം താഴ്ത്തിയില്ല നീ&lt;br&gt;
പോരാട്ടം നിലച്ചിരുന്നില്ല നിന്റെ.&lt;/p&gt;
&lt;p&gt;ഇനി നിൻ സ്മൃതിമതി,&lt;br&gt;
ചിറക് ഇടറാതെ, തല താഴാതെ,&lt;br&gt;
ചിറകടിച്ചെനിക്ക് വീണ്ടുമുയരാൻ.&lt;/p&gt;</description></item><item><title>പാരിസ്</title><link>https://www.binovarghese.com/ml-musings/2025/04/paris/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/04/paris/</guid><description>&lt;p&gt;പാരിസിലെ രാത്രി നക്ഷത്രങ്ങൾ&lt;br&gt;
അവസാനിക്കാത്ത കാലത്തോളം&lt;br&gt;
നമ്മുടെ പ്രണയമുദ്രകൾ&lt;br&gt;
മായാതിരിക്കട്ടെ.&lt;/p&gt;</description></item><item><title>വൈകുന്നേരങ്ങളിൽ</title><link>https://www.binovarghese.com/ml-musings/2025/04/alone/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/04/alone/</guid><description>&lt;p&gt;തനിച്ചായ വൈകുന്നേരങ്ങളിൽ&lt;br&gt;
നിങ്ങൾ വരുമെന്നറിയുന്ന&lt;br&gt;
നിമിഷത്തിൽ,&lt;br&gt;
ഉള്ളിലെ മരുഭൂമിയിൽ&lt;br&gt;
മഴ പെയ്‌തിറങ്ങാറുണ്ട്.&lt;/p&gt;</description></item><item><title>മായാജാലക്കാരൻ</title><link>https://www.binovarghese.com/ml-musings/2025/04/wizard/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/04/wizard/</guid><description>&lt;p&gt;പ്രിയപ്പെട്ടതൊക്കെയും&lt;br&gt;
വരികളിലേക്ക്&lt;br&gt;
മായാജാലക്കാരനാണ് ഞാൻ.&lt;/p&gt;</description></item><item><title>Delhi</title><link>https://www.binovarghese.com/drawer/2025/04/delhi/</link><pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/04/delhi/</guid><description>&lt;p&gt;Somewhere in the Delhi.
The city where chaos and calmness meet each other in the metro station.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/delhi.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Happy Birthday</title><link>https://www.binovarghese.com/drawer/2025/03/hb-eva/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/03/hb-eva/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2025/HBE.png" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Dear time, please tell me how.</title><link>https://www.binovarghese.com/desk/2025/04/time/</link><pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2025/04/time/</guid><description>





 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Update
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 I created an app to show how much time left in my life. Check the same &lt;a href="https://www.binovarghese.com/apps/life-left/"&gt;here&lt;/a&gt;
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I sat quietly on a lazy evening, after doing nothing all day, realizing I had wasted an entire day. I started to wonder why am I like this? I have so many things I want to do in life, yet I let a whole day slip by without accomplishing anything.&lt;/p&gt;
&lt;p&gt;I want to understand why. Do I think I have enough time for everything? I&amp;rsquo;m not sure. But one thing I do know is that life is finite, and my time here is limited.&lt;/p&gt;
&lt;p&gt;I know I am going to die someday. Yet I live my life as if it&amp;rsquo;s a never-ending picnic. I don&amp;rsquo;t know why. I want to remind myself that maybe I won&amp;rsquo;t have enough time to do all the things I dream about.&lt;/p&gt;
&lt;p&gt;If I&amp;rsquo;m lucky, I&amp;rsquo;ll get about 4,000 weeks in my lifetime. But at 33, I have only around 1,929 weeks left. Is that enough?&lt;/p&gt;
&lt;p&gt;Just 1,929 weeks. That number hits hard. The clock is ticking, and I need to move faster.&lt;/p&gt;
&lt;p&gt;But the saddest part? I don&amp;rsquo;t know how to move forward. Something invisible is holding me back. My dreams are still waiting for me, somewhere just out of reach.&lt;/p&gt;
&lt;p&gt;I know I need to achieve greatness.&lt;/p&gt;
&lt;p&gt;Dear time, please tell me how.&lt;/p&gt;</description></item><item><title>ചുംബനം</title><link>https://www.binovarghese.com/ml-musings/2025/04/kiss/</link><pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/04/kiss/</guid><description>&lt;p&gt;ഇനി നാം കാണുമ്പോൾ&lt;br&gt;
ചുംബനം കൊണ്ട്&lt;br&gt;
ചുണ്ടുകൾ കോർക്കാം നമുക്ക്.&lt;/p&gt;</description></item><item><title>നിമിഷം</title><link>https://www.binovarghese.com/ml-musings/2025/04/love/</link><pubDate>Tue, 01 Apr 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/04/love/</guid><description>&lt;p&gt;നിങ്ങളുടെ പ്രണയത്തിൻ്റെ ഏറ്റവും
മനോഹരമായ നിമിഷമേതാണ് ?!&lt;/p&gt;
&lt;p&gt;നിൻ്റെ ചിരി ആദ്യമായി കണ്ട നിമിഷം.&lt;/p&gt;
&lt;p&gt;അയാൾ മകളോട് ഉത്തരം പറഞ്ഞു.&lt;/p&gt;</description></item><item><title>Don't link my writings with my life.</title><link>https://www.binovarghese.com/drawer/2025/03/writings/</link><pubDate>Mon, 31 Mar 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/03/writings/</guid><description>&lt;p&gt;I hate when people connect my life to my writings.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m just a person who writes, the only thing that should matter is what I write.&lt;/p&gt;</description></item><item><title>തോറ്റുപോയവർ</title><link>https://www.binovarghese.com/ml-musings/2025/03/failed-humans/</link><pubDate>Sun, 30 Mar 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2025/03/failed-humans/</guid><description>&lt;p&gt;വിജയിച്ചവരുടെ ഈ ലോകത്ത്,&lt;br&gt;
തോറ്റുപോയ മനുഷ്യർക്കൊപ്പമാണ്&lt;br&gt;
നാം എല്ലാകാലവും നിലനിൽക്കേണ്ടത്.&lt;/p&gt;
&lt;p&gt;അത് ക്രിക്കറ്റ് കളിയിലായാലും&lt;br&gt;
ജീവിതത്തിലായാലും.&lt;/p&gt;</description></item><item><title>Bahrain Bay</title><link>https://www.binovarghese.com/drawer/2025/03/bahrain-bay/</link><pubDate>Fri, 07 Mar 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/03/bahrain-bay/</guid><description>&lt;p&gt;In night we went to Bahrain bay and tool some photos. Here are the few snaps.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_a9cfc3e10e0919fd.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_f6fca5c44f95ff27.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_16d22cd2de3ddb08.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_22057896fbaa1b6.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_caea78bc8f6bd157.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_22057896fbaa1b6.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.28.20%20PM_hu_910eeb2263a8c67b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.28.20 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_5db86f721482183a.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_f473005e8009a51c.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_bb3804e6f38572a9.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_a16d3b2b8df14523.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_4c521334715fc9cf.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_a16d3b2b8df14523.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM%20%281%29_hu_e378081d29634533.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="934"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.46 PM (1).jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_5e18bbe7a4050c93.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_18c66e77674e8e02.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_4132d4f22285ba76.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_7b2dd59a429ebefa.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_fb2acf5d8f55f625.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_7b2dd59a429ebefa.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.46%20PM_hu_a93c5be15dd78562.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.46 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_927497201b1a11b1.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_e876d9ad38962516.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_3f80b8f7c8924f70.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_cf67371c1b1f312.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_aaf017cf5dbfc04.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_cf67371c1b1f312.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%281%29_hu_e3249a180595073a.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.48 PM (1).jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_9460739d52ccca17.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_119a692a9fa9c194.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_1dd0c782f8aa8d27.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_8dea5d1a5fec6130.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_71bd20924c97fa91.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_8dea5d1a5fec6130.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM%20%282%29_hu_26660f3bc3b4efb1.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.48 PM (2).jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_a11d1ff61170bb74.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_58740163647671d8.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_b95187bb50728dcd.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_63b2406e98275e8e.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_afc870d24285974a.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_63b2406e98275e8e.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.48%20PM_hu_db0789b3364c0ef8.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.48 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_c0a7d0e9fafd0402.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_437f8a9454cf06a4.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_9da0dc562a05f68a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_255d8d0d678eb982.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_2270cb36f968c8c3.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_255d8d0d678eb982.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%281%29_hu_7905f6086d990f7c.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.49 PM (1).jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_f3e5ff7d7cc125bc.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_fc8d8e82a65694ee.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_dc707bba82feeb71.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_a6f7b152b52ae358.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_f741f155f591e82f.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_a6f7b152b52ae358.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM%20%282%29_hu_1d9169e6717e01da.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.49 PM (2).jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_80b5f3913fcd1e23.webp 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_c07a9f0fa303ab6a.webp 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_7a18d3da0e2654d4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_1a9935c7fd3596d2.jpeg"
 srcset="
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_85f4cc796e225c83.jpeg 400w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_1a9935c7fd3596d2.jpeg 700w,
 /img/drawer/2025/night-7-mar/WhatsApp%20Image%202025-05-14%20at%204.37.49%20PM_hu_862db47676b66f27.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2025/night-7-mar/WhatsApp Image 2025-05-14 at 4.37.49 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Good old days</title><link>https://www.binovarghese.com/drawer/2025/01/good-old-days/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/01/good-old-days/</guid><description>&lt;p&gt;Can I go back to the good old days&lt;br&gt;
just for one last time?&lt;/p&gt;
&lt;p&gt;To smile without the weight of pain,&lt;br&gt;
and breathe in the calm of peace.&lt;br&gt;
To make myself believe that chaos&lt;br&gt;
and suffering no longer lingers within me.&lt;/p&gt;
&lt;p&gt;To live a life unburdened by curses,&lt;br&gt;
to feel blessed-&lt;br&gt;
the way I always deserved to be.&lt;/p&gt;
&lt;p&gt;Can I go back to the time&lt;br&gt;
when everything seemed beautiful,&lt;br&gt;
even if only in my dreams,&lt;br&gt;
just one more last time?&lt;/p&gt;</description></item><item><title>To extract the value of a tag from an XML-like string in PL/SQL</title><link>https://www.binovarghese.com/notes/2025/01/extracting-xml-attributes/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2025/01/extracting-xml-attributes/</guid><description>&lt;p&gt;To extract the value of a tag from the given XML-like string in PL/SQL, you can use the &lt;code&gt;EXTRACTVALUE&lt;/code&gt; function or &lt;code&gt;XMLTABLE&lt;/code&gt; for XML processing.&lt;/p&gt;
&lt;h4 id="example-using-extractvalue"&gt;Example Using &lt;code&gt;EXTRACTVALUE&lt;/code&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;xml_data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CLOB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;Status&amp;gt;200&amp;lt;/Status&amp;gt;&amp;lt;Message&amp;gt;Success&amp;lt;/Message&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VARCHAR2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Extract the FunctionalReferenceID value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EXTRACTVALUE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;XMLTYPE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;root&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;xml_data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;/root&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/root/Message&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Print the value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_OUTPUT&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PUT_LINE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;FunctionalReferenceID: &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="example-using-xmltable"&gt;Example Using &lt;code&gt;XMLTABLE&lt;/code&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;xml_data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CLOB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;Status&amp;gt;200&amp;lt;/Status&amp;gt;&amp;lt;Message&amp;gt;Success&amp;lt;/Message&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VARCHAR2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Use XMLTABLE to extract the Message
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INTO&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;XMLTABLE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/root/Message&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PASSING&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;XMLTYPE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;root&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;xml_data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;/root&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COLUMNS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VARCHAR2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PATH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;.&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Print the value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_OUTPUT&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PUT_LINE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Message: &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/EXTRACTVALUE.html"&gt;EXTRACTVALUE&lt;/a&gt;,
&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/XMLTABLE.html"&gt;XMLTABLE&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Phoenix</title><link>https://www.binovarghese.com/drawer/2025/01/phoenix/</link><pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2025/01/phoenix/</guid><description>&lt;p&gt;After all the chaos,&lt;br&gt;
I will be reborn from the ashes&lt;br&gt;
and soar high to the moon,&lt;br&gt;
like a phoenix from a fairy tale.&lt;/p&gt;
&lt;p&gt;I hope you’ll watch me&lt;br&gt;
rise, just like the old days.&lt;/p&gt;</description></item><item><title>Movies 2025</title><link>https://www.binovarghese.com/movies/2025/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/movies/2025/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Detective-Ujjwalan.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Detective-Ujjwalan_hu_ef5c36a64a497b10.webp 400w,
 /img/movies/2025/Detective-Ujjwalan_hu_3d97d654b3b84bcf.webp 700w,
 /img/movies/2025/Detective-Ujjwalan_hu_90c2942ddd3bc19a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Detective-Ujjwalan_hu_17a92f9da54bfd25.webp"
 srcset="
 /img/movies/2025/Detective-Ujjwalan_hu_6f72a2ca6ff80077.webp 400w,
 /img/movies/2025/Detective-Ujjwalan_hu_17a92f9da54bfd25.webp 700w,
 /img/movies/2025/Detective-Ujjwalan_hu_103bcb470cd12537.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="873"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Detective-Ujjwalan.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/thudarum.webp" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/thudarum_hu_739d4fe33d6bd576.webp 400w,
 /img/movies/2025/thudarum_hu_5c3d5fb43c38f8e3.webp 700w,
 /img/movies/2025/thudarum_hu_511db91de3412786.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/thudarum_hu_cae0884f58a10d0d.webp"
 srcset="
 /img/movies/2025/thudarum_hu_fc40f3dfd0ef55a3.webp 400w,
 /img/movies/2025/thudarum_hu_cae0884f58a10d0d.webp 700w,
 /img/movies/2025/thudarum_hu_2413ab88772eadb2.webp 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1022"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/thudarum.webp"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Alappuzha-Gymkhana.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Alappuzha-Gymkhana_hu_11dc2f29039b2324.webp 400w,
 /img/movies/2025/Alappuzha-Gymkhana_hu_3158e88c83a93aee.webp 700w,
 /img/movies/2025/Alappuzha-Gymkhana_hu_100845cb5f358306.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Alappuzha-Gymkhana_hu_9c47d70f27ba9692.jpg"
 srcset="
 /img/movies/2025/Alappuzha-Gymkhana_hu_94d8b356b46f7d1b.jpg 400w,
 /img/movies/2025/Alappuzha-Gymkhana_hu_9c47d70f27ba9692.jpg 700w,
 /img/movies/2025/Alappuzha-Gymkhana_hu_9224148889cfdf4f.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="869"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Alappuzha-Gymkhana.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Dies-Irae.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Dies-Irae_hu_9dbc86473a1e1ee6.webp 400w,
 /img/movies/2025/Dies-Irae_hu_5710b7c382f5725a.webp 700w,
 /img/movies/2025/Dies-Irae_hu_fda3f73c95c8e38c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Dies-Irae_hu_813a931491bf6de3.jpg"
 srcset="
 /img/movies/2025/Dies-Irae_hu_be47afe83dbdca9e.jpg 400w,
 /img/movies/2025/Dies-Irae_hu_813a931491bf6de3.jpg 700w,
 /img/movies/2025/Dies-Irae_hu_6a87b2357c2a3fd3.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Dies-Irae.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/eko.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/eko_hu_79e9427810711298.webp 400w,
 /img/movies/2025/eko_hu_d509c4e69f796cec.webp 700w,
 /img/movies/2025/eko_hu_bdd09edb061a1307.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/eko_hu_2477f4523dc302b2.jpg"
 srcset="
 /img/movies/2025/eko_hu_d5e9811d2ec17370.jpg 400w,
 /img/movies/2025/eko_hu_2477f4523dc302b2.jpg 700w,
 /img/movies/2025/eko_hu_88c68284e50e375e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1050"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/eko.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/empuraan.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/empuraan_hu_a3968bf4bb537f05.webp 400w,
 /img/movies/2025/empuraan_hu_92adb0bb7e562446.webp 700w,
 /img/movies/2025/empuraan_hu_c7ae72606da75dd.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/empuraan_hu_1530d2d18d48ba5b.jpg"
 srcset="
 /img/movies/2025/empuraan_hu_ed9176a17f46b854.jpg 400w,
 /img/movies/2025/empuraan_hu_1530d2d18d48ba5b.jpg 700w,
 /img/movies/2025/empuraan_hu_1aa5d2febf1b0a91.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/empuraan.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Hridayapoorvam.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Hridayapoorvam_hu_13a04a20e57f7747.webp 400w,
 /img/movies/2025/Hridayapoorvam_hu_bbb252cdd672830.webp 700w,
 /img/movies/2025/Hridayapoorvam_hu_bdfae39e7b5a20ba.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Hridayapoorvam_hu_6d0914fbd8861b3a.jpg"
 srcset="
 /img/movies/2025/Hridayapoorvam_hu_8c91fadfede174ea.jpg 400w,
 /img/movies/2025/Hridayapoorvam_hu_6d0914fbd8861b3a.jpg 700w,
 /img/movies/2025/Hridayapoorvam_hu_d4ccf908a50df8f9.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Hridayapoorvam.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/KalamKaval.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/KalamKaval_hu_8d860558f3c6f165.webp 400w,
 /img/movies/2025/KalamKaval_hu_56e38f2a4fc7c842.webp 700w,
 /img/movies/2025/KalamKaval_hu_554a0050444e42aa.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/KalamKaval_hu_bf718d3572166f44.jpg"
 srcset="
 /img/movies/2025/KalamKaval_hu_feab30990c84149f.jpg 400w,
 /img/movies/2025/KalamKaval_hu_bf718d3572166f44.jpg 700w,
 /img/movies/2025/KalamKaval_hu_e08dfae3f1d0ea3d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/KalamKaval.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/lokah.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/lokah_hu_7fffb9eefe4c0448.webp 400w,
 /img/movies/2025/lokah_hu_115b2a910635867a.webp 700w,
 /img/movies/2025/lokah_hu_f248f7b770b4a04c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/lokah_hu_8edc8d196d67d130.jpg"
 srcset="
 /img/movies/2025/lokah_hu_ff0249d3aa16693f.jpg 400w,
 /img/movies/2025/lokah_hu_8edc8d196d67d130.jpg 700w,
 /img/movies/2025/lokah_hu_4bb8f1e45897c091.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/lokah.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Officer-on-Duty.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Officer-on-Duty_hu_736bcb30906ff500.webp 400w,
 /img/movies/2025/Officer-on-Duty_hu_e56141ecc2593dd.webp 700w,
 /img/movies/2025/Officer-on-Duty_hu_14f1889bbe77a961.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Officer-on-Duty_hu_ca49cbb26265d7dd.jpg"
 srcset="
 /img/movies/2025/Officer-on-Duty_hu_22529a1441b0e9d0.jpg 400w,
 /img/movies/2025/Officer-on-Duty_hu_ca49cbb26265d7dd.jpg 700w,
 /img/movies/2025/Officer-on-Duty_hu_6ac1f3f928ca9f73.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Officer-on-Duty.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Oru-%20Jaathi-Jaathakam.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_9d608ac0ec47c4ec.webp 400w,
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_799a6c5d9199263d.webp 700w,
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_982130e89d36b6cf.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_68ce916fe3ddad3b.jpg"
 srcset="
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_2c8bcfa6b243b242.jpg 400w,
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_68ce916fe3ddad3b.jpg 700w,
 /img/movies/2025/Oru-%20Jaathi-Jaathakam_hu_c0fdd8635f3b960a.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1022"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Oru- Jaathi-Jaathakam.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Padakkalam.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Padakkalam_hu_eee41fdd78e394bb.webp 400w,
 /img/movies/2025/Padakkalam_hu_1155633bafda6636.webp 700w,
 /img/movies/2025/Padakkalam_hu_91311c0307b4fe21.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Padakkalam_hu_e293fa37244eea5a.jpg"
 srcset="
 /img/movies/2025/Padakkalam_hu_886a90ca1ea79201.jpg 400w,
 /img/movies/2025/Padakkalam_hu_e293fa37244eea5a.jpg 700w,
 /img/movies/2025/Padakkalam_hu_9c3b451413596d29.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="887"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Padakkalam.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/Rekhachithram.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/Rekhachithram_hu_e0ca19a1fb5e0897.webp 400w,
 /img/movies/2025/Rekhachithram_hu_dd039c1581a04f47.webp 700w,
 /img/movies/2025/Rekhachithram_hu_4e237661fc93c7b3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/Rekhachithram_hu_776f292db1fbec8d.jpg"
 srcset="
 /img/movies/2025/Rekhachithram_hu_65743ce3942fe8e.jpg 400w,
 /img/movies/2025/Rekhachithram_hu_776f292db1fbec8d.jpg 700w,
 /img/movies/2025/Rekhachithram_hu_9ce20158922018b6.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/Rekhachithram.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/The-Pet-%20Detective.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/The-Pet-%20Detective_hu_91915a15ed803cbf.webp 400w,
 /img/movies/2025/The-Pet-%20Detective_hu_5f342f1e220d50ff.webp 700w,
 /img/movies/2025/The-Pet-%20Detective_hu_e6d370aa31e6ef3f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/The-Pet-%20Detective_hu_2933d39fdf482abe.jpg"
 srcset="
 /img/movies/2025/The-Pet-%20Detective_hu_37ba570df63d7336.jpg 400w,
 /img/movies/2025/The-Pet-%20Detective_hu_2933d39fdf482abe.jpg 700w,
 /img/movies/2025/The-Pet-%20Detective_hu_8dd8dc9ac548d327.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/The-Pet- Detective.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/TheAdamProject.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/TheAdamProject_hu_3073030f0139d911.webp 400w,
 /img/movies/2025/TheAdamProject_hu_ba800dafebca60d0.webp 700w,
 /img/movies/2025/TheAdamProject_hu_aa9b1a11a92cbcd2.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/TheAdamProject_hu_4caa2e30f221aa5c.jpg"
 srcset="
 /img/movies/2025/TheAdamProject_hu_6dafb9aa69f83886.jpg 400w,
 /img/movies/2025/TheAdamProject_hu_4caa2e30f221aa5c.jpg 700w,
 /img/movies/2025/TheAdamProject_hu_abf70e67d4e0bebb.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1036"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/TheAdamProject.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/TheIntern.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/TheIntern_hu_67b500ec9fb9bae7.webp 400w,
 /img/movies/2025/TheIntern_hu_343b055deed035ad.webp 700w,
 /img/movies/2025/TheIntern_hu_6f181e12a7db11f7.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/TheIntern_hu_be0ed70978e05c4a.jpg"
 srcset="
 /img/movies/2025/TheIntern_hu_ab2d5bb298fd7798.jpg 400w,
 /img/movies/2025/TheIntern_hu_be0ed70978e05c4a.jpg 700w,
 /img/movies/2025/TheIntern_hu_f3ddf64d66b79045.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1037"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/TheIntern.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/movies/2025/all-i-need-for-christmass.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/movies/2025/all-i-need-for-christmass_hu_4185c13b63c61ae4.webp 400w,
 /img/movies/2025/all-i-need-for-christmass_hu_c4186608fba3985f.webp 700w,
 /img/movies/2025/all-i-need-for-christmass_hu_a35f040f46104e7a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/movies/2025/all-i-need-for-christmass_hu_79ca59bc40cb5138.jpeg"
 srcset="
 /img/movies/2025/all-i-need-for-christmass_hu_72c7fc72f61e05b5.jpeg 400w,
 /img/movies/2025/all-i-need-for-christmass_hu_79ca59bc40cb5138.jpeg 700w,
 /img/movies/2025/all-i-need-for-christmass_hu_b826b63d3b15d86e.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1050"
 class="img-fluid rounded mb-2"
 alt="/img/movies/2025/all-i-need-for-christmass.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Photos 2025</title><link>https://www.binovarghese.com/photos/2025/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/photos/2025/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/photos/2025/IMG_1281.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2025/IMG_1281_hu_e61c822a9fb9fb3c.webp 400w,
 /img/photos/2025/IMG_1281_hu_1fa50f6a6e9c0388.webp 700w,
 /img/photos/2025/IMG_1281_hu_220ac299ff97a769.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2025/IMG_1281_hu_a6faf613726773db.jpg"
 srcset="
 /img/photos/2025/IMG_1281_hu_3f4efb328c86d9c3.jpg 400w,
 /img/photos/2025/IMG_1281_hu_a6faf613726773db.jpg 700w,
 /img/photos/2025/IMG_1281_hu_ff26c6d87b9c7249.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2025/IMG_1281.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2025/IMG_2566.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2025/IMG_2566_hu_706056f69c079d41.webp 400w,
 /img/photos/2025/IMG_2566_hu_230732fc076caab2.webp 700w,
 /img/photos/2025/IMG_2566_hu_4edbdeea2b66420c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2025/IMG_2566_hu_ea38212d7ee2470a.jpg"
 srcset="
 /img/photos/2025/IMG_2566_hu_a3c4a0c002cddbe2.jpg 400w,
 /img/photos/2025/IMG_2566_hu_ea38212d7ee2470a.jpg 700w,
 /img/photos/2025/IMG_2566_hu_3127a65b1694d026.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2025/IMG_2566.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2025/IMG_4023.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2025/IMG_4023_hu_cedac12d2b0aa85c.webp 400w,
 /img/photos/2025/IMG_4023_hu_8c59e1a32bc9062.webp 700w,
 /img/photos/2025/IMG_4023_hu_cebba23cc5c7b3fb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2025/IMG_4023_hu_6ffc17d5066b885b.jpg"
 srcset="
 /img/photos/2025/IMG_4023_hu_86aae3c1f456341b.jpg 400w,
 /img/photos/2025/IMG_4023_hu_6ffc17d5066b885b.jpg 700w,
 /img/photos/2025/IMG_4023_hu_55fd12d73c970900.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2025/IMG_4023.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2025/1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2025/1_hu_213f6452bfb65494.webp 400w,
 /img/photos/2025/1_hu_be5134481dd7d9b5.webp 700w,
 /img/photos/2025/1_hu_47a6c7c06317db20.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2025/1_hu_5bd743db897d48.jpeg"
 srcset="
 /img/photos/2025/1_hu_2c7ad7019241290d.jpeg 400w,
 /img/photos/2025/1_hu_5bd743db897d48.jpeg 700w,
 /img/photos/2025/1_hu_c08fdaba95a48f03.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2025/1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>The Night</title><link>https://www.binovarghese.com/drawer/2024/12/the-night/</link><pubDate>Fri, 27 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/12/the-night/</guid><description>&lt;p&gt;Sometimes, the night is a good time to hide yourself from the rest of the world. It gives a sense of relief, allowing you to be exactly as you want to be.&lt;/p&gt;
&lt;p&gt;In the middle of the dark night you become your true self.&lt;/p&gt;</description></item><item><title>Am I asking the right questions?</title><link>https://www.binovarghese.com/desk/2024/12/questions/</link><pubDate>Sat, 21 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/12/questions/</guid><description>&lt;p&gt;I want to ensure I&amp;rsquo;m asking myself meaningful questions that encourage self-awareness and guide me to the better life. Here are the key questions I plan to reflect on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Am I fully aware of my life and its happenings?&lt;/li&gt;
&lt;li&gt;Am I focusing on what’s most important?&lt;/li&gt;
&lt;li&gt;Are my actions aligned with my dreams?&lt;/li&gt;
&lt;li&gt;Am I using my time wisely?&lt;/li&gt;
&lt;li&gt;Am I caring for my health?&lt;/li&gt;
&lt;li&gt;Am I being kind to myself and others?&lt;/li&gt;
&lt;li&gt;Am I am taking care of those around me?&lt;/li&gt;
&lt;li&gt;Am I improving daily?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope these reflections will lead me to a better self.&lt;/p&gt;</description></item><item><title>The future</title><link>https://www.binovarghese.com/desk/2024/12/future/</link><pubDate>Sat, 14 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/12/future/</guid><description>&lt;p&gt;This is my personal website, and I want to add a lot of things to it. Recently, I have been making many &lt;a href="https://www.binovarghese.com/changelog/"&gt;changes&lt;/a&gt; to the website and have developed an obsession with adding new features or improvements daily. I am currently in a phase where there is less content but more modifications. Oh boy, I know this is just a personal website and that nobody cares about it as much as I do. Still, I enjoy adding more things to the site because it makes me &lt;a href="https://www.binovarghese.com/desk/2024/11/what-makes-me-happy/"&gt;happy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Recently, I have implemented the following features and modifications:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Image gallery&lt;/li&gt;
&lt;li&gt;Search option&lt;/li&gt;
&lt;li&gt;Added a &amp;ldquo;reply via email&amp;rdquo; card at the bottom of the text&lt;/li&gt;
&lt;li&gt;Improved archive layout&lt;/li&gt;
&lt;li&gt;Several other design improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, I want to limit the new changes I bring to this website. As I mentioned, there’s less content and more modifications. But even with this resolution, I still feel the urge to add a few more improvements. I know what you’re thinking: after all this? The answer is always.&lt;/p&gt;
&lt;p&gt;I’ve always loved how small changes can bring happiness. This time, however, I plan to make a list of things I need to do and follow through in a more organized manner. This means more time for creating content and less time for modifications.&lt;/p&gt;
&lt;p&gt;Here’s the plan for the future:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add library section, now page, and Malayalam writings somewhere in the menu or home page.&lt;/li&gt;
&lt;li&gt;Add a profile/ resume section of mine.&lt;/li&gt;
&lt;li&gt;Add an option to view random profile pictures of mine on the About page.&lt;/li&gt;
&lt;li&gt;Display the language name in code blocks.&lt;/li&gt;
&lt;li&gt;Create a page where users can get an overview of everything on this website.&lt;/li&gt;
&lt;li&gt;Modify the website color theme.&lt;/li&gt;
&lt;li&gt;Fix any bugs.&lt;/li&gt;
&lt;li&gt;Work on anything that catches my interest in the meantime.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are the planned changes I aim to make in the near future. I’m not entirely sure if I can stick to this plan, but I hope to. The main goal of this planning is to limit changes and establish a writing streak. Hopefully, this will result in more writings, more poetry, and more magic.&lt;/p&gt;</description></item><item><title>Who am I?!</title><link>https://www.binovarghese.com/desk/2024/12/who-am-i/</link><pubDate>Sat, 07 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/12/who-am-i/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/in-search-of-me.jpg"&gt;
&lt;/figure&gt;

&lt;p&gt;Who am I?!&lt;/p&gt;
&lt;p&gt;This is the question I’ve asked myself the most in life. Yet, I’ve never been able to find a definitive answer.&lt;/p&gt;
&lt;p&gt;In childhood, the answer was simple. To the question “Who am I?”, I would reply with my name. Ah, simple and beautiful.
In adolescence, the answer expanded to include my parents and family name. I felt the clarity in my answer had increased.&lt;/p&gt;
&lt;p&gt;However, as I entered youth and began to ask myself this question, I started feeling the clarity diminish. Who am I?! If asked who I am, I would say, “I’m me. Who else?” But even then, it didn’t feel like the answer.
Who am I?&lt;/p&gt;
&lt;p&gt;To search that’s the only way to find answers, isn’t it? “Knock, and it shall be opened unto you.” So, I began my search.&lt;/p&gt;
&lt;p&gt;There was no doubt where to begin. From within myself. In the quietest hours, I started seeking deep within my heart. From there, the search extended to printed books. I couldn’t grasp the answer from them either. I couldn’t even find a mentor capable of echoing my question back to me.&lt;/p&gt;
&lt;p&gt;The search continued, driven only by the echo in my heart urging me forward. Somewhere, the answer must exist. That belief keeps me searching, still wandering, hoping the answer to my question might be hidden somewhere.&lt;/p&gt;
&lt;p&gt;I don’t know some questions take time to be answered. A one-word question begins to expand its scope further and further. Who am I?!
What is my essence? What is my purpose? Will I ever glimpse the light of those answers?&lt;/p&gt;
&lt;p&gt;It seems those who’ve asked themselves these same questions either became enlightened or went mad. I wonder what I’ll become in the end a Buddha or a madman? Whoever I become, I hope a faint smile remains at the end the smile of realization.&lt;/p&gt;
&lt;p&gt;Who am I? Let the question persist.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is a translated version of my &lt;a href="https://www.binovarghese.com/ml/2020/feb/who-am-i/"&gt;Malayalam writing&lt;/a&gt;, translated with the help of ChatGPT.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>The promise</title><link>https://www.binovarghese.com/drawer/2024/12/forever/</link><pubDate>Fri, 06 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/12/forever/</guid><description>&lt;p&gt;I know that one day I will collapse,&lt;br&gt;
And hopefully, you won’t witness it.&lt;br&gt;
I will make sure that, until your last breath,&lt;br&gt;
I’ll stay strong and keep us stronger.&lt;/p&gt;
&lt;p&gt;That’s the promise I made—to hold you&lt;br&gt;
Forever.&lt;/p&gt;</description></item><item><title>It's you</title><link>https://www.binovarghese.com/drawer/2024/12/its-you/</link><pubDate>Thu, 05 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/12/its-you/</guid><description>&lt;p&gt;You are the most precious gift&lt;br&gt;
you could ever wish for.&lt;br&gt;
You are the light that guides you&lt;br&gt;
through the darkest nights.&lt;br&gt;
You are the Santa&lt;br&gt;
you’ve always dreamed of.&lt;br&gt;
You are the Christmas&lt;br&gt;
you’ve been waiting for.&lt;/p&gt;</description></item><item><title>Understanding Suspense</title><link>https://www.binovarghese.com/blog/2024/12/react-suspense/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/12/react-suspense/</guid><description>&lt;p&gt;React Suspense comes handy when you want to show an indication to user that something is loading in your app. Loader is the simplest example for a Suspense component. Let&amp;rsquo;s deep dive into the details of Suspense.&lt;/p&gt;
&lt;h3 id="what-is-suspense"&gt;What is Suspense?&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;Suspense&amp;gt;&lt;/code&gt; lets you display a fallback until its children have finished loading.&lt;br&gt;
— React Docs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Suspense&lt;/span&gt; &lt;span class="nx"&gt;fallback&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Loading&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SomeComponent&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/Suspense&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="props"&gt;Props&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;children&lt;/code&gt;&lt;/strong&gt;: The actual UI component you need to render. If children suspends while rendering, the Suspense boundary will switch to rendering fallback.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;fallback&lt;/code&gt;&lt;/strong&gt;: An alternate UI to render in place of the actual UI if it has not finished loading. Any valid React node is accepted here, but a lightweight loader like loading spinner or skeleton is recommended. Suspense will automatically switch to &lt;code&gt;fallback&lt;/code&gt; when &lt;code&gt;children&lt;/code&gt; suspends, and back to &lt;code&gt;children&lt;/code&gt; when the data is ready. If &lt;code&gt;fallback&lt;/code&gt; suspends while rendering, it will activate the closest parent Suspense boundary.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="usage"&gt;Usage&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Displaying a fallback while content is loading.&lt;/li&gt;
&lt;li&gt;Revealing content together at once.&lt;/li&gt;
&lt;li&gt;Revealing nested content as it loads.&lt;/li&gt;
&lt;li&gt;Showing stale content while fresh content is loading.&lt;/li&gt;
&lt;li&gt;Preventing already revealed content from hiding.&lt;/li&gt;
&lt;li&gt;Indicating that a Transition is happening.&lt;/li&gt;
&lt;li&gt;Resetting Suspense boundaries on navigation.&lt;/li&gt;
&lt;li&gt;Providing a fallback for server errors and client-only content.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example"&gt;Example:&lt;/h3&gt;
&lt;p&gt;To better understand this concept, let’s dive into an example where we use a fallback component during content loading, combined with lazy loading.&lt;/p&gt;
&lt;p&gt;In the example below, the &lt;code&gt;LoadingPage&lt;/code&gt; component is lazily loaded, and a fallback component (&lt;code&gt;Loading&lt;/code&gt;) is provided via the &lt;code&gt;fallback&lt;/code&gt; prop of the &lt;code&gt;Suspense&lt;/code&gt; component. The &lt;code&gt;Suspense&lt;/code&gt; component ensures that while &lt;code&gt;LoadingPage&lt;/code&gt; is being loaded, the &lt;code&gt;Loading&lt;/code&gt; component is displayed as a placeholder.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Suspense&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;lazy&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Loading&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./Loading&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Dynamically import the `LoadingPage` component. This delays the loading of this component until it&amp;#39;s needed.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;LoadingPage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;lazy&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kr"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;./LoadingPage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;HomePage&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;clicked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setClicked&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;btnClickHandler&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setClicked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;clicked&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Use React&amp;#39;s Suspense to handle lazy loading. While `LoadingPage` is being loaded, show the `Loading` component.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Home&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/h2&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;btnClickHandler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Click&lt;/span&gt; &lt;span class="nx"&gt;here&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;clicked&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Suspense&lt;/span&gt; &lt;span class="nx"&gt;fallback&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Loading&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LoadingPage&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/Suspense&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The fallback component, &lt;code&gt;Loading&lt;/code&gt;, is defined separately:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Loading&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Loading&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/i&amp;gt;&amp;lt;/p&amp;gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="how-it-works"&gt;How it works&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Lazy Loading with &lt;code&gt;lazy()&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;LoadingPage&lt;/code&gt; component is not loaded initially but only when it is needed (after the button is clicked).&lt;/li&gt;
&lt;li&gt;This improves the initial load time of the application by splitting code into smaller bundles.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Suspense as a Wrapper&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;Suspense&lt;/code&gt; component acts as a boundary that waits for the lazily loaded component (&lt;code&gt;LoadingPage&lt;/code&gt;) to finish loading.&lt;/li&gt;
&lt;li&gt;During this time, the fallback component (&lt;code&gt;Loading&lt;/code&gt;) is displayed, providing feedback to the user.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;State Management with &lt;code&gt;useState&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A state variable (&lt;code&gt;clicked&lt;/code&gt;) is used to determine whether the button has been clicked and subsequently whether the &lt;code&gt;LoadingPage&lt;/code&gt; component should be displayed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fallback Component (&lt;code&gt;Loading&lt;/code&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This component provides a visual indicator (in this case, a &amp;ldquo;Loading&amp;hellip;&amp;rdquo; message) to keep users engaged while the actual component is being fetched.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;By combining &lt;code&gt;Suspense&lt;/code&gt; and &lt;code&gt;lazy&lt;/code&gt;, we can dynamically load components in React, improving performance and optimizing user experience. The fallback mechanism provided by &lt;code&gt;Suspense&lt;/code&gt; ensures that users are never left staring at a blank screen during load times.&lt;/p&gt;
&lt;p&gt;This approach is especially useful for large applications where certain parts of the app (like modal dialogs, routes, or additional pages) don’t need to be loaded immediately.&lt;/p&gt;
&lt;h3 id="example-repository"&gt;Example repository&lt;/h3&gt;
&lt;p&gt;Check out the full working examples in the &lt;a href="https://github.com/binokochumolvarghese/react-snippets/tree/main/2024/apr-lazy-load-app"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://react.dev/reference/react/Suspense"&gt;Suspense&lt;/a&gt;, &lt;a href="https://react.dev/reference/react/lazy"&gt;React Lazy&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Varchar datatype limits</title><link>https://www.binovarghese.com/notes/2024/11/oracle-varchar2-size/</link><pubDate>Sat, 30 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/11/oracle-varchar2-size/</guid><description>&lt;p&gt;For &lt;code&gt;NVARCHAR2&lt;/code&gt; and &lt;code&gt;VARCHAR2&lt;/code&gt; maximum size is 4000 bytes, or 32767 bytes if the &lt;code&gt;MAX_STRING_SIZE&lt;/code&gt; initialization parameter is set to &lt;code&gt;EXTENDED&lt;/code&gt;. This is useful you have to allocate more data to a variable.&lt;/p&gt;
&lt;p&gt;You can run the below command to view the parameter.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;parameter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MAX_STRING_SIZE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/datatype-limits.html"&gt;Oracle Doc&lt;/a&gt;, &lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/MAX_STRING_SIZE.html#GUID-D424D23B-0933-425F-BC69-9C0E6724693C"&gt;Max string size&lt;/a&gt;&lt;/p&gt;</description></item><item><title>33 for 33</title><link>https://www.binovarghese.com/desk/2024/11/33-for-33/</link><pubDate>Fri, 29 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/11/33-for-33/</guid><description>&lt;p&gt;Today, I turned 33. Over the years, life has taught me countless lessons, some easy, some hard. As I look ahead, I hope for many more opportunities to learn and grow. For now, I&amp;rsquo;d like to share 33 lessons I&amp;rsquo;ve gathered along the way. This list is incomplete and unstructured. For my younger self as much as for my child and anyone reading this.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Love yourself.&lt;/li&gt;
&lt;li&gt;Love your family and friends.&lt;/li&gt;
&lt;li&gt;Have fun.&lt;/li&gt;
&lt;li&gt;Meditate on your mortality.&lt;/li&gt;
&lt;li&gt;Start before it is perfect. Perfectionism is a dangerous thing.&lt;/li&gt;
&lt;li&gt;Writing brings clarity to your thoughts; make it a habit.&lt;/li&gt;
&lt;li&gt;Make exercise a priority for both body and mind.&lt;/li&gt;
&lt;li&gt;Go for walks.&lt;/li&gt;
&lt;li&gt;Listen to music.&lt;/li&gt;
&lt;li&gt;Take more photos; they preserve memories.&lt;/li&gt;
&lt;li&gt;Travel more, it opens your mind and enriches your life.&lt;/li&gt;
&lt;li&gt;Give everything for your dreams.&lt;/li&gt;
&lt;li&gt;Think and dream big, your aspirations shape your reality.&lt;/li&gt;
&lt;li&gt;Seek out new experiences, they enrich your life.&lt;/li&gt;
&lt;li&gt;Meditate daily. It will give a calm and clean mind.&lt;/li&gt;
&lt;li&gt;Plan your days, months, and years; structure creates freedom.&lt;/li&gt;
&lt;li&gt;Commit to lifelong learning; knowledge is power.&lt;/li&gt;
&lt;li&gt;Keep a daily journal; it’s a powerful tool for reflection.&lt;/li&gt;
&lt;li&gt;Be kind, to yourself and others. Kindness transforms.&lt;/li&gt;
&lt;li&gt;Read widely: books, blogs, notes. knowledge is invaluable.&lt;/li&gt;
&lt;li&gt;Save money and learn to manage it.&lt;/li&gt;
&lt;li&gt;Avoid comparing yourself to others; your journey is unique.&lt;/li&gt;
&lt;li&gt;Try to improve 1% daily.&lt;/li&gt;
&lt;li&gt;Prioritize quality sleep; it’s essential for health and focus.&lt;/li&gt;
&lt;li&gt;You can learn anything you want.&lt;/li&gt;
&lt;li&gt;Happiness is a choice and a skill you can cultivate.&lt;/li&gt;
&lt;li&gt;Consistency is the key to success.&lt;/li&gt;
&lt;li&gt;Focus on what you can control; let go of the rest.&lt;/li&gt;
&lt;li&gt;Play long term games.&lt;/li&gt;
&lt;li&gt;Stay optimistic; it’s a powerful mindset.&lt;/li&gt;
&lt;li&gt;You don&amp;rsquo;t know yourself yet. Keep exploring yourself.&lt;/li&gt;
&lt;li&gt;Enjoy the process.&lt;/li&gt;
&lt;li&gt;Time is precious. Use it wisely.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Hope</title><link>https://www.binovarghese.com/drawer/2024/11/hope/</link><pubDate>Thu, 28 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/hope/</guid><description>&lt;p&gt;To my daughter,&lt;/p&gt;
&lt;p&gt;In the midst of the war,&lt;br&gt;
Amid the heart-aching pain,&lt;br&gt;
Through the windy nights,&lt;br&gt;
On my darkest days,&lt;br&gt;
You are my hope.&lt;/p&gt;</description></item><item><title>Hosting your Hugo site on Netlify</title><link>https://www.binovarghese.com/blog/2024/11/netlify-configuration/</link><pubDate>Sat, 23 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/11/netlify-configuration/</guid><description>&lt;p&gt;When I built this website, I checked for a free static hosting solution that was easy to use and maintain. After a little research, I landed on Netlify. I found hosting a Hugo site on Netlify to be an effective solution for deploying static websites. Combining Hugo’s speed with Netlify’s robust features, such as continuous deployment, a user-friendly dashboard, and advanced build settings, made everything feel seamless.&lt;/p&gt;
&lt;h3 id="why-use-netlify"&gt;Why Use Netlify?&lt;/h3&gt;
&lt;p&gt;Netlify is popular for its ease of use, free hosting tier, and powerful features like automated builds, custom domain support, and built-in SSL. With Hugo’s efficient static site generation, deploying on Netlify enables fast, seamless updates and management.&lt;/p&gt;
&lt;h3 id="step-1-set-up-netlifytoml-configuration"&gt;Step 1: Set up &lt;code&gt;netlify.toml&lt;/code&gt; configuration&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;netlify.toml&lt;/code&gt; file is essential for configuring build settings in Netlify. Here’s a setup tailored for various deployment environments, including production, deploy previews, and branch deploys.&lt;/p&gt;
&lt;p&gt;Add the following &lt;code&gt;netlify.toml&lt;/code&gt; file to your Hugo project’s root directory:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;build&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;publish&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;public&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;command&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hugo --gc --minify&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;production&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.134.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_ENV&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;production&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_ENABLEGITINFO&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;false&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;split1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;command&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hugo --gc --minify --enableGitInfo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;split1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.134.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_ENV&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;production&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;deploy-preview&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;command&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;deploy-preview&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.134.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;branch-deploy&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;command&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hugo -b $DEPLOY_PRIME_URL&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;branch-deploy&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.134.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_ENABLEGITINFO&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;false&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="explanation-of-key-parameters"&gt;Explanation of key parameters&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Build Command: &lt;code&gt;hugo --gc --minify&lt;/code&gt; triggers garbage collection (&lt;code&gt;--gc&lt;/code&gt;) and minifies output.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HUGO_VERSION&lt;/code&gt;: Specifies the Hugo version to avoid compatibility issues.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HUGO_ENABLEGITINFO&lt;/code&gt;: Used for tracking commit metadata in production.&lt;/li&gt;
&lt;li&gt;Deployment Contexts:
&lt;ul&gt;
&lt;li&gt;Production: Builds optimized, production-ready files.&lt;/li&gt;
&lt;li&gt;Deploy Preview: Builds the site using the pull request URL, helpful for staging.&lt;/li&gt;
&lt;li&gt;Branch Deploy: Enables previews for branches other than the main one.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="step-2-connect-your-repository-to-netlify"&gt;Step 2: Connect your repository to netlify&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Log in to Netlify&lt;/strong&gt;: Go to &lt;a href="https://app.netlify.com/"&gt;Netlify&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a new site&lt;/strong&gt;: Choose &amp;ldquo;New site from Git&amp;rdquo; from the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Select your repository&lt;/strong&gt;: Choose GitHub, GitLab, or Bitbucket, authenticate, and select your Hugo site repository.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure build settings&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Build command&lt;/strong&gt;: Leave as &lt;code&gt;hugo&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publish directory&lt;/strong&gt;: Set as &lt;code&gt;public&lt;/code&gt; (Netlify automatically reads from &lt;code&gt;netlify.toml&lt;/code&gt; if it’s present).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deploy your site&lt;/strong&gt;: Click &amp;ldquo;Deploy site&amp;rdquo; to initiate the first build. Netlify will pull from your repository, build, and deploy the site, which you can access via the provided default Netlify URL (e.g., &lt;code&gt;https://example-site.netlify.app&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="step-3-preview-and-customize-your-site"&gt;Step 3: Preview and customize your site&lt;/h3&gt;
&lt;p&gt;Once the build completes, visit the live preview URL to verify that your site is working correctly.&lt;/p&gt;
&lt;h3 id="step-4-set-up-a-custom-domain-optional"&gt;Step 4: Set Up a custom domain (Optional)&lt;/h3&gt;
&lt;p&gt;To configure a custom domain:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to the Netlify dashboard, select &amp;ldquo;Domain settings,&amp;rdquo; and add your domain.&lt;/li&gt;
&lt;li&gt;Follow the provided DNS setup instructions. If you want Netlify to manage DNS, you can transfer the domain or add a Netlify DNS record.&lt;/li&gt;
&lt;li&gt;Netlify automatically provisions an SSL certificate through Let’s Encrypt, adding secure HTTPS to your site.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="step-5-enable-continuous-deployment"&gt;Step 5: Enable continuous deployment&lt;/h3&gt;
&lt;p&gt;Netlify supports continuous deployment by default. Each push to your repository triggers a new build and redeploys the latest changes. This is the feature I love the most, and it makes easy to manage updates or collaborate with others on site changes.&lt;/p&gt;
&lt;h3 id="conclusion"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Deploying a Hugo site on Netlify offers a streamlined experience, leveraging Hugo’s fast builds with Netlify’s advanced hosting features. With a few simple steps, your site is live, secure, and ready for easy content updates directly from Git.&lt;/p&gt;
&lt;p&gt;I hope this setup is ideal for efficient deployment with customized environments, making it easy to manage development and production versions and maintain a polished, dynamic website.&lt;/p&gt;
&lt;h3 id="further-readings"&gt;Further readings&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gohugo.io/hosting-and-deployment/hosting-on-netlify/"&gt;Host on Netlify / Hugo docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.netlify.com/frameworks/hugo/"&gt;Hugo on Netlify / Netlify docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>പ്രകാശഗോപുരം</title><link>https://www.binovarghese.com/ml-musings/2024/lighthouse/</link><pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/lighthouse/</guid><description>&lt;p&gt;ഇരുട്ടിന്റെ കയങ്ങളിലും&lt;br&gt;
ആഴിത്തിരമാലയുടെ ഉലച്ചിലിലും&lt;br&gt;
പതറാതെ നീ യാത്ര തുടരുക.&lt;/p&gt;
&lt;p&gt;മറുകരയിൽ നിന്നെയും കാത്ത്&lt;br&gt;
ഒരു പ്രകാശഗോപുരം കണക്കെ&lt;br&gt;
ഞാൻ കാത്തിരിപ്പുണ്ട്.&lt;/p&gt;</description></item><item><title>Writing</title><link>https://www.binovarghese.com/drawer/2024/11/writing/</link><pubDate>Wed, 20 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/writing/</guid><description>&lt;p&gt;I want to write something every day. I don’t know what to write, but I love to write.&lt;/p&gt;
&lt;p&gt;I don’t want to write for publishing; I want to write for the sake of writing.&lt;/p&gt;
&lt;p&gt;I think I can write about myself, the thoughts in my head, or the things around me.&lt;/p&gt;
&lt;p&gt;So, I am writing here to feel alive.&lt;/p&gt;</description></item><item><title>Hugo image gallery shortcode</title><link>https://www.binovarghese.com/blog/2024/11/hugo-image-gallery/</link><pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/11/hugo-image-gallery/</guid><description>&lt;p&gt;Here’s a custom Hugo shortcode that creates an image gallery in a masonry style using GLightbox. This approach will display images from a specified folder in a masonry layout, and each image will open in a lightbox when clicked.&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="step-1-set-up-the-shortcode"&gt;Step 1: Set up the shortcode&lt;/h3&gt;
&lt;p&gt;In your Hugo site’s theme directory, create a file for this shortcode at &lt;code&gt;layouts/shortcodes/img_gallery.html&lt;/code&gt;. Then, add the following code to define the gallery layout:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $folder := .Get &amp;#34;folder&amp;#34; -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{- $images := resources.Match (printf &amp;#34;%s/*.{jpg,jpeg,webp,png}&amp;#34; $folder) -}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;gallery&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{- range $images }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .RelPermalink }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;gallery-item glightbox&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;data-gallery&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;my-gallery&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .RelPermalink }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Name | plainify }}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;img-fluid rounded mb-2&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{- end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* Masonry layout styling */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;column-count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;column-gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery-item&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;break-inside&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;avoid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="kt"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;transform&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="kt"&gt;s&lt;/span&gt; &lt;span class="kc"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;/* Responsive adjustments */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;media&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;992px&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;column-count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;media&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;max-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;576px&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;gallery&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;column-count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;style&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="step-2-configure-glightbox-initialization"&gt;Step 2: Configure GLightbox initialization&lt;/h3&gt;
&lt;p&gt;In your main HTML template (often found in &lt;code&gt;layouts/_default/baseof.html&lt;/code&gt; or &lt;code&gt;layouts/partials/footer.html&lt;/code&gt;), add the following JavaScript to initialize GLightbox on page load:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.jsdelivr.net/npm/glightbox/dist/js/glightbox.min.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;DOMContentLoaded&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;lightbox&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;GLightbox&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;selector&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;.glightbox&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;touchNavigation&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;loop&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;scrollLock&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This JavaScript code initializes GLightbox with the &lt;code&gt;.glightbox&lt;/code&gt; selector, which is applied to each image link in the gallery. The &lt;code&gt;scrollLock: false&lt;/code&gt; setting ensures that the page can be scrolled even when the lightbox is open.&lt;/p&gt;
&lt;h3 id="step-3-add-glightbox-css"&gt;Step 3: Add GLightbox CSS&lt;/h3&gt;
&lt;p&gt;To ensure the gallery functions correctly, add the GLightbox CSS file either in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; section of your main HTML template:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="step-4-use-the-shortcode-in-your-content"&gt;Step 4: Use the Shortcode in Your Content&lt;/h3&gt;
&lt;p&gt;In any Markdown file where you want the gallery to appear, call the shortcode like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/*&amp;lt; img_gallery folder=&amp;#34;/img/sample/folder/&amp;#34; &amp;gt;*/}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will dynamically generate an image gallery from all images in the &lt;code&gt;/img/sample/folder/&lt;/code&gt; directory, applying the masonry style and enabling GLightbox for each image. You can view the image gallery created by the above shortcode below.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_293cd3e7673daa2f.webp 400w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_d8ef3bd4d77df973.webp 700w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e3698e36b3a3dbc.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e389da23f1003a4e.jpg"
 srcset="
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_6e7cda45f0c79b37.jpg 400w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e389da23f1003a4e.jpg 700w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_93373866e63b368b.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1028"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_c881c68c185d3784.webp 400w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_be5705917233e315.webp 700w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_c87d162aba29d822.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_879991171cf1d5ed.jpg"
 srcset="
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_fdf060a450418014.jpg 400w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_879991171cf1d5ed.jpg 700w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_74f75e68d270b0fa.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_baa5e60f6ece8e0c.webp 400w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_b5d679b8a1c194cc.webp 700w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_b0a39bfc35223f62.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_f7f584772d8e4d15.jpg"
 srcset="
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_2c8602de72cc0649.jpg 400w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_f7f584772d8e4d15.jpg 700w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_4f060db7bb19286c.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1050"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_225b45aec10901d.webp 400w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_a7b6af81c11612b7.webp 700w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_6623435ec450b262.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_ae541831f3ff5499.jpg"
 srcset="
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_4ecc7cd45cfe098e.jpg 400w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_ae541831f3ff5499.jpg 700w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_e946af5302053cd6.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_eee4e70622ef8db0.webp 400w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_ff215f591a7694ef.webp 700w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_c6da53390dae62b5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_5513e31201e9199d.jpg"
 srcset="
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_fce63c6b22583834.jpg 400w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_5513e31201e9199d.jpg 700w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_e270ad2490debc4f.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1049"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_5508c855dd80a720.webp 400w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_2357c44823dfc40c.webp 700w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_74ce720b5989492b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_8ee9a531cdd7b9be.jpg"
 srcset="
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_e938ed159b11d65d.jpg 400w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_8ee9a531cdd7b9be.jpg 700w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_3e628eb82a407d5e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;h3 id="how-the-shortcode-works"&gt;How the Shortcode works&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Folder parameter&lt;/strong&gt;: The &lt;code&gt;folder&lt;/code&gt; parameter specifies the directory where the images are stored and the images will fetch from it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GLightbox configuration&lt;/strong&gt;: Each image link (&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag) has the &lt;code&gt;glightbox&lt;/code&gt; class and a &lt;code&gt;data-gallery&lt;/code&gt; attribute, which groups the images so users can navigate through them within the lightbox.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CSS styling&lt;/strong&gt;: The &lt;code&gt;gallery&lt;/code&gt; class uses CSS columns to create the masonry effect. Images are responsive, and the column count adapts for smaller screens.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While this approach is an efficient way to create a responsive image gallery in Hugo, please note that it is still under development. I&amp;rsquo;m currently working on adding new features, such as titles and captions, and hope to release updates in the coming days.&lt;/p&gt;
&lt;p&gt;If you have any suggestions, feel free to share them via the email link below.&lt;/p&gt;</description></item><item><title>Light is coming</title><link>https://www.binovarghese.com/drawer/2024/11/light-is-coming/</link><pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/light-is-coming/</guid><description>&lt;p&gt;To those who are in dark: Hold on, light is coming—and it’s within you.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/light.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>That’s because I’m evolving</title><link>https://www.binovarghese.com/desk/2024/11/thats-because-i-am-evolving/</link><pubDate>Sat, 16 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/11/thats-because-i-am-evolving/</guid><description>&lt;p&gt;I used to be someone who:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Never wrote anything on a blog.&lt;/li&gt;
&lt;li&gt;Wandered the streets with friends until late night.&lt;/li&gt;
&lt;li&gt;Had no indoor plants in my flat.&lt;/li&gt;
&lt;li&gt;Didn’t think to take notes on what I was reading.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But things have changed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Now, I write regularly on this blog about programming, poetry, and my random reflections.&lt;/li&gt;
&lt;li&gt;I’ve prioritized sleep and limited late-night wanderings.&lt;/li&gt;
&lt;li&gt;My flat is now home to many &lt;a href="https://www.binovarghese.com/desk/2024/10/my-plants/"&gt;plants&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I take notes on what I read, both &lt;a href="https://www.binovarghese.com/notes"&gt;here&lt;/a&gt; and on Notion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, what happened?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I’ve changed—a lot, actually.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As I grow, every part of my life evolves with me. I&amp;rsquo;m constantly reading, learning, and experiencing new things, which shape my ideologies and perspectives over time. Sometimes, they change in an instant; other times, it takes months or even years. I can’t stop this from happening, and I don’t want to.&lt;/p&gt;
&lt;p&gt;Because I know it’s a natural part of my growth. Having an open mind and boundless curiosity drives me to keep learning and evolving me as a better human. I’m constantly reinventing myself, &lt;strong&gt;so I’m not the same person you met yesterday&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;What’s the problem with that?&lt;/p&gt;
&lt;p&gt;The truth is, I&amp;rsquo;m ready for change. But sometimes, it feels like certain people expect me to stay exactly as I was when they first knew me. They’ll say, “You’ve changed” or even mock me for it. While I don&amp;rsquo;t usually worry about others&amp;rsquo; opinions, I do wish they understood that positive change is good, not only for me but also for the people around me. I hope one day they will.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s next?&lt;/p&gt;
&lt;p&gt;My goal is to improve a little every day, constantly learning and unlearning whatever I need to become a better person. This journey of growth is ongoing, and change is both inevitable and, ultimately, for the best. So please bear with me.&lt;/p&gt;</description></item><item><title>Bahrain Airshow</title><link>https://www.binovarghese.com/drawer/2024/11/bh-airshow/</link><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/bh-airshow/</guid><description>&lt;p&gt;Went to the Bahrain Airshow with Gino, and friends. It was an amazing experience filled with excitement. Witnessed incredible performances by the Indian Air Force Sarang Helicopter team, the U.S. Fighting Falcon, the Pakistan Air Force Thunder demo, and the Saudi Hawks. The Saudi fighter team’s display was truly spectacular. Had the chance to meet U.S. pilots also.&lt;/p&gt;
&lt;p&gt;Explored a helicopter for the first time, checking off a bucket list item! A day filled with awe, adventure, and unforgettable memories.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-1.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/airshow-1_hu_c01c9ae94cd368be.webp 400w,
 /img/drawer/2024/airshow/airshow-1_hu_cc57a58f71f638fd.webp 700w,
 /img/drawer/2024/airshow/airshow-1_hu_4ce73b023b2d0c9.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-1_hu_2b1c66a598f4c64b.jpeg"
 srcset="
 /img/drawer/2024/airshow/airshow-1_hu_f08cb67583d4c21d.jpeg 400w,
 /img/drawer/2024/airshow/airshow-1_hu_2b1c66a598f4c64b.jpeg 700w,
 /img/drawer/2024/airshow/airshow-1_hu_c27c53829db6b0e1.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/airshow-1.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-2.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/airshow-2_hu_3867da6aeba8e023.webp 400w,
 /img/drawer/2024/airshow/airshow-2_hu_15ba37cdf3542636.webp 700w,
 /img/drawer/2024/airshow/airshow-2_hu_e8c6ccb62965248f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-2_hu_b00f7753afa839df.jpeg"
 srcset="
 /img/drawer/2024/airshow/airshow-2_hu_84a8f2b576cd0994.jpeg 400w,
 /img/drawer/2024/airshow/airshow-2_hu_b00f7753afa839df.jpeg 700w,
 /img/drawer/2024/airshow/airshow-2_hu_62552a0d7d066d2b.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="960"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/airshow-2.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-3.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/airshow-3_hu_5df841a53b068999.webp 400w,
 /img/drawer/2024/airshow/airshow-3_hu_518ab282a4166623.webp 700w,
 /img/drawer/2024/airshow/airshow-3_hu_3122d6c677fecbef.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/airshow-3_hu_c69416df534a63c1.jpeg"
 srcset="
 /img/drawer/2024/airshow/airshow-3_hu_7ddc2038a3860f61.jpeg 400w,
 /img/drawer/2024/airshow/airshow-3_hu_c69416df534a63c1.jpeg 700w,
 /img/drawer/2024/airshow/airshow-3_hu_45afe5e2d9266ce6.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/airshow-3.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_45b81ba1e41eaeef.webp 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_f2bf6464bf10a22c.webp 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_1af147479d74729f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_6ab2195748365.jpeg"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_e1dcf2be2c147a31.jpeg 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_6ab2195748365.jpeg 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.27.58%20PM_hu_122f6cdfea07581.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/WhatsApp Image 2024-11-16 at 12.27.58 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_cb7919ecca37e8d4.webp 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_ba241320aaa286a7.webp 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_ba537b52eb127aab.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_297f9422d3713429.jpeg"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_481ea0f63b0c1842.jpeg 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_297f9422d3713429.jpeg 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.05%20PM_hu_e0e8ef8fd91cd130.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/WhatsApp Image 2024-11-16 at 12.31.05 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_c087c009d18fb81e.webp 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_293776029eae7ef8.webp 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_89e17ca3fa32fd15.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_b4f9e28b935704c7.jpeg"
 srcset="
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_a7ab97d2ce3f3c40.jpeg 400w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_b4f9e28b935704c7.jpeg 700w,
 /img/drawer/2024/airshow/WhatsApp%20Image%202024-11-16%20at%2012.31.57%20PM_hu_3e4bd11beaede274.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2024/airshow/WhatsApp Image 2024-11-16 at 12.31.57 PM.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>ഓർമ്മകൾ</title><link>https://www.binovarghese.com/ml-musings/2024/travel/</link><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/travel/</guid><description>&lt;p&gt;എല്ലാ യാത്രകൾക്ക് ശേഷവും&lt;br&gt;
അവസാനിക്കുന്നത് മനോഹരമായ&lt;br&gt;
ഓർമ്മകളാണ്.&lt;br&gt;
നിങ്ങൾ, നിറങ്ങൾ, ചിറകുകൾ&lt;br&gt;
എല്ലാമൊരു മധുരസ്വപ്നം പോലെ&lt;br&gt;
ഭംഗിയുള്ളത്.&lt;/p&gt;
&lt;p&gt;നുകരട്ടെ ഞാൻ ആവോളം,&lt;br&gt;
ഇതെല്ലാം ആസ്വദിക്കാൻ&lt;br&gt;
കാലമിനിയും അവസരം തരട്ടെ.&lt;/p&gt;</description></item><item><title>View posts grouped by month in Hugo</title><link>https://www.binovarghese.com/blog/2024/11/hugo-view-post-grouped-by-month/</link><pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/11/hugo-view-post-grouped-by-month/</guid><description>&lt;p&gt;A few months ago, I wrote a post on creating a &lt;a href="https://www.binovarghese.com/blog/2024/01/hugo-display-all-posts/"&gt;feed page&lt;/a&gt; to list all posts on my Hugo website in a card format with pagination. Even though I am able to view the full posts, I wanted a clearer month-by-month view. After researching, I updated the feed to organize posts by month. Now, I’m sharing the setup details below for anyone interested in creating a similar layout.&lt;/p&gt;
&lt;p&gt;There are three steps involed to create a page where posts showing month wise.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create the index file.&lt;/li&gt;
&lt;li&gt;Then create the layout of the monthly view.&lt;/li&gt;
&lt;li&gt;Finally add the menu in the config file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s deep dive into the above steps.&lt;/p&gt;
&lt;h4 id="create-the-index-file"&gt;Create the index file&lt;/h4&gt;
&lt;p&gt;Create an &lt;code&gt;_index.md&lt;/code&gt; page in the &lt;code&gt;content/feed&lt;/code&gt; folder as shown below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Feed&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Subtitle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Listing all the posts in reverse chronological order.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="create-the-layout-of-the-monthly-view"&gt;Create the layout of the monthly view&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Create a file in your theme folder in the &lt;code&gt;/layouts/section/&lt;/code&gt; and name it as &lt;code&gt;feed.html&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added the below code in the &lt;code&gt;feed.html&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="feedhtml"&gt;feed.html&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-lg-12 col-md-12 pb-3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;m-0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Listing&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;posts&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;reverse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;chronological&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;To&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;view&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;click&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/tags&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;here&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;.&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-md-12&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;well&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{.}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;RegularPages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Type&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;in&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;notes&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;blogs&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nx"&gt;GroupByDate&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;January 2006&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mt-4&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card mb-2 p-2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Params.externalLink | default .RelPermalink }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;datestr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i18n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;dateFormat&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dateformat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Format&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Link to {{ .Title }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-title fw-light m-0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h5&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;datestr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-title fw-light m-0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;datestr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h5&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="add-the-menu"&gt;Add the menu&lt;/h4&gt;
&lt;p&gt;Finally you can add the feed page link in the menu by adding the below code in your &lt;code&gt;hugo.toml&lt;/code&gt; config file.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;menu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;main&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Feed&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/feed/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;weight&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="c"&gt;#Give the required menu weight here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ya, that&amp;rsquo;s all we need to do. You can run your Hugo website by running the command &lt;code&gt;hugo server&lt;/code&gt; and look into the Feed menu for view the posts in monthwise.&lt;/p&gt;
&lt;h4 id="explanation-of-the-code"&gt;Explanation of the code&lt;/h4&gt;
&lt;p&gt;This Hugo template code does the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Filters pages by type&lt;/strong&gt;: It filters the &lt;code&gt;.Site.RegularPages&lt;/code&gt; to include only specific types (e.g., &amp;ldquo;notes&amp;rdquo;, &amp;ldquo;blogs&amp;rdquo;, etc.). You can give your folders in the &lt;code&gt;content&lt;/code&gt; folder.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Groups pages by date&lt;/strong&gt;: The &lt;code&gt;.GroupByDate&lt;/code&gt; function groups the filtered pages by the &amp;ldquo;January 2006&amp;rdquo; date format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Iterates over each group&lt;/strong&gt;: For each group, it displays a header with the month/year (&lt;code&gt;{{ .Key }}&lt;/code&gt;), and iterates over the pages within the group.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Displays title or date&lt;/strong&gt;: For each page, it displays the title if available, otherwise, it shows the post&amp;rsquo;s publication date.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This setup organizes posts in your feed by month, making it easier to navigate your content. Hope you understood how we can create a feed page in Hugo.&lt;/p&gt;</description></item><item><title>Winder rides</title><link>https://www.binovarghese.com/drawer/2024/11/winter-rides/</link><pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/winter-rides/</guid><description>&lt;p&gt;Today is throwback thursday and here is beautiful view of Bahrain in the winter.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/winter-pictures.jpeg" width="400" height="500"&gt;
&lt;/figure&gt;
</description></item><item><title>Moment</title><link>https://www.binovarghese.com/drawer/2024/11/now/</link><pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/now/</guid><description>&lt;p&gt;I want to live in this moment because it’s all I truly own. Once it’s gone, it’s gone forever.&lt;/p&gt;</description></item><item><title>PL/SQL commands to view the table details</title><link>https://www.binovarghese.com/notes/2024/11/plsql-table-details/</link><pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/11/plsql-table-details/</guid><description>&lt;p&gt;In Oracle PL/SQL, you can use the following commands to view table details:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;DESCRIBE or DESC&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays columns, data types, and constraints.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;USER_TAB_COLUMNS&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLUMN_NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DATA_TYPE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DATA_LENGTH&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;USER_TAB_COLUMNS&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TABLE_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Shows details about columns for tables owned by the user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ALL_TAB_COLUMNS&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLUMN_NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DATA_TYPE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DATA_LENGTH&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ALL_TAB_COLUMNS&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TABLE_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Provides column information for tables accessible to the user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DBMS_METADATA.GET_DDL&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_METADATA&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GET_DDL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TABLE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TABLE_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DUAL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Displays the &lt;code&gt;CREATE TABLE&lt;/code&gt; statement for table structure details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To view constraints on the table, you can check &lt;a href="https://www.binovarghese.com/notes/2023/08/pl-sql-constraints/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Use Flashback Query</title><link>https://www.binovarghese.com/notes/2024/11/plsql-flashback/</link><pubDate>Mon, 11 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/11/plsql-flashback/</guid><description>&lt;p&gt;If your Oracle database has Flashback enabled, you can query past versions of data within a specified retention period. Here’s how to use Flashback to retrieve a prior state of data:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM your_table AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL &amp;#39;5&amp;#39; MINUTE) 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE your_condition;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace &lt;code&gt;SYSTIMESTAMP - INTERVAL '5' MINUTE&lt;/code&gt; with the timestamp or interval that reflects when the data was last known to be in its old state.&lt;/p&gt;
&lt;p&gt;Note: Flashback must be enabled, and it’s only available within the Flashback retention window, which depends on your database configuration.&lt;/p&gt;
&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://www.killiansbytes.com/post/flashback-time-travel"&gt;Killians Bytes&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Favourite movie quotes</title><link>https://www.binovarghese.com/desk/2024/11/favourite-movie-quotes/</link><pubDate>Sat, 09 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/11/favourite-movie-quotes/</guid><description>&lt;p&gt;I’m a huge fan of good movies, and I’ve always loved great dialogues. So, I thought I’d compile some of my favorite movie lines into one post and share them here. I know that to truly grasp the full emotion behind these dialogues, you need to experience the movies themselves, but I still feel the need to write them down.&lt;/p&gt;
&lt;p&gt;Some of these lines have brought me peace, some have enlightened me, some made me brave, and others have inspired me. I want to revisit them during dark times, as a source of comfort and strength.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;It&amp;rsquo;s not who I am underneath, but what I do, that defines me.&lt;br&gt;
― Batman Begins&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Why do we fall? So that we can learn to pick ourselves up.&lt;br&gt;
― Batman Begins&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Because he&amp;rsquo;s the hero Gotham deserves, but not the one it needs right now. So we&amp;rsquo;ll hunt him. Because he can take it. Because he&amp;rsquo;s not our hero. He&amp;rsquo;s a silent guardian, a watchful protector. A dark knight.&lt;br&gt;
― The Dark Knight&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.&lt;br&gt;
― Dune&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Edmond Dantès: Life is a storm, my young friend. You will bask in the sunlight one moment, be shattered on the rocks the next. What makes you a man is what you do when that storm comes. You must look into that storm and shout as you did in Rome. Do your worst, for I will do mine! Then the fates will know you as we know you: as Albert Mondego, the man!&lt;br&gt;
― The Count of Monte Cristo&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sirius Black: The ones that love us never really leave us. And you can always find them in here.&amp;quot;&lt;br&gt;
(points to Harry’s heart)&lt;br&gt;
― Harry Potter and the Prisoner of Azkaban&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dumbledore: After all this time?&lt;br&gt;
Snape: Always. &lt;br&gt;
― Harry Potter and the Deathly Hallows – Part 2&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thor: I’m still worthy.&lt;br&gt;
― Avengers: Endgame&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Believing the lie that time will heal all wounds is just a nice way of saying that time deadens us.”
― Memento Mori&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tony: I love you 3000.&lt;br&gt;
― Avengers: Endgame&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This is your life, and it’s ending one minute at a time.&lt;br&gt;
― Fight Club&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jaanu: &amp;ldquo;Neenga romba dhooram poiteenga, Ram?&amp;rdquo;&lt;br&gt;
(Have you gone far, Ram?)&lt;br&gt;
Ram: &amp;ldquo;Illai, naan innum neenga vittutu pona idathula thaan irukken.&amp;rdquo;&lt;br&gt;
(No, I&amp;rsquo;m still at the place where you left me.)&lt;br&gt;
― 96 (2018 Tamil Movie)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deepak Kumar: Don&amp;rsquo;t apologize for having a dream.&lt;br&gt;
― Laapataa Ladies&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you for reading. There are more favourites which I can&amp;rsquo;t remember and I want to add it here. But this is for now and let me know your favourite ones.&lt;/p&gt;</description></item><item><title>How to break columns in Bootstrap</title><link>https://www.binovarghese.com/notes/2024/11/bootstrap-column-breaks/</link><pubDate>Sun, 03 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/11/bootstrap-column-breaks/</guid><description>&lt;p&gt;Breaking columns to a new line in flexbox requires a small hack: add an element with width: 100% wherever you want to wrap your columns to a new line.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;div class=&amp;#34;container text-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-3&amp;#34;&amp;gt;.col-6 .col-sm-3&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-3&amp;#34;&amp;gt;.col-6 .col-sm-3&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Force next columns to break to new line --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;w-100&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-3&amp;#34;&amp;gt;.col-6 .col-sm-3&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-3&amp;#34;&amp;gt;.col-6 .col-sm-3&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also apply this break at specific breakpoints with our responsive display utilities.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;div class=&amp;#34;container text-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;row&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-4&amp;#34;&amp;gt;.col-6 .col-sm-4&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-4&amp;#34;&amp;gt;.col-6 .col-sm-4&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Force next columns to break to new line at md breakpoint and up --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;w-100 d-none d-md-block&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-4&amp;#34;&amp;gt;.col-6 .col-sm-4&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div class=&amp;#34;col-6 col-sm-4&amp;#34;&amp;gt;.col-6 .col-sm-4&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://getbootstrap.com/docs/5.3/layout/columns/"&gt;Bootstrap Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>സ്നേഹം?</title><link>https://www.binovarghese.com/ml-musings/2024/what-is-love/</link><pubDate>Sat, 02 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/what-is-love/</guid><description>&lt;p&gt;എന്താണ് സ്നേഹം?&lt;/p&gt;
&lt;p&gt;നിനക്ക് വേദനിക്കുമ്പോളെല്ലാം&lt;br&gt;
എനിക്കും വേദനിക്കുന്നത്.&lt;/p&gt;</description></item><item><title>Salmaniya water garden park</title><link>https://www.binovarghese.com/drawer/2024/11/salmaniya-water-garden-copy/</link><pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/11/salmaniya-water-garden-copy/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/salmaniya-water-garden.jpeg"
 alt="Salmaniya, Bahrain" width="400"&gt;&lt;figcaption&gt;
 &lt;p&gt;Salmaniya, Bahrain&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Things that make me happy</title><link>https://www.binovarghese.com/desk/2024/11/what-makes-me-happy/</link><pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/11/what-makes-me-happy/</guid><description>&lt;p&gt;I came across this post by &lt;a href="https://www.binovarghese.com/blog/things-that-make-me-happy"&gt;Kev Quirk&lt;/a&gt;, where he shares the things that bring him happy. Personally, I believe that &lt;a href="https://www.binovarghese.com/desk/2024/10/basic-rules-for-life/"&gt;happiness&lt;/a&gt; is a skill we can train and develop over time. Still, there are those unique moments in life that bring us happiness effortlessly.&lt;/p&gt;
&lt;p&gt;So here it is, What makes me happy?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Seeing my daughter’s smile is one of the most happiest moment in my life.&lt;/li&gt;
&lt;li&gt;Having endless conversations with my family and friends is something I always love.&lt;/li&gt;
&lt;li&gt;Hugs from loved ones.&lt;/li&gt;
&lt;li&gt;Playing with my neice.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/tags/wanderlust/"&gt;Travelling&lt;/a&gt; around the world and reliving those memories make me happy.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/common/library/"&gt;Reading&lt;/a&gt; good books or blogs. Basically reading good stuffs.&lt;/li&gt;
&lt;li&gt;Watching good &lt;a href="https://www.binovarghese.com/tags/movies/"&gt;movies&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Listening to music. From melodies to rock, I love it all.&lt;/li&gt;
&lt;li&gt;Writing stuffs like &lt;a href="https://www.binovarghese.com/ml/"&gt;poetry&lt;/a&gt; or &lt;a href="https://www.binovarghese.com/desk/"&gt;musings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Slow mornings on the weekends.&lt;/li&gt;
&lt;li&gt;Tweaking and adding features to this website.&lt;/li&gt;
&lt;li&gt;Evening walks in the cold winds of winter.&lt;/li&gt;
&lt;li&gt;Night drives.&lt;/li&gt;
&lt;li&gt;Drinking tea slowly in the mornings or evenings.&lt;/li&gt;
&lt;li&gt;People apprecaiting the things I wrote.&lt;/li&gt;
&lt;li&gt;Seeing &lt;a href="https://www.binovarghese.com/desk/2024/10/my-plants/"&gt;my plants&lt;/a&gt; gives me a sense of calmness.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course there are lot more things makes me happy. I just added the first few things came on my find, I will try to update this whenever I find the new things makes me happy.&lt;/p&gt;
&lt;p&gt;What makes you happy? I love to hear you. Email me, or better yet, write a reply on your blog.&lt;/p&gt;</description></item><item><title>To generate random value in PL/SQL</title><link>https://www.binovarghese.com/notes/2024/10/genrate-random-strings/</link><pubDate>Wed, 30 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/10/genrate-random-strings/</guid><description>&lt;p&gt;To update a column with a random value in PL/SQL, you can use the &lt;code&gt;DBMS_RANDOM&lt;/code&gt; package, which provides functions for generating random numbers or strings.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To update random number&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;BEGIN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; UPDATE employees
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SET salary = ROUND(DBMS_RANDOM.VALUE(100, 500));
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; COMMIT;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;END;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DBMS_RANDOM.VALUE(100, 500)&lt;/code&gt; generates a random decimal number between 100 and 500.&lt;/li&gt;
&lt;li&gt;ROUND is used to convert the decimal value to an integer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;To update random string&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;BEGIN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; UPDATE employees
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SET password = DBMS_RANDOM.STRING(&amp;#39;x&amp;#39;, 8); -- &amp;#39;x&amp;#39; specifies alphanumeric characters
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; COMMIT;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;END;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DBMS_RANDOM.STRING('x', 8)&lt;/code&gt; generates an 8-character alphanumeric string.&lt;/li&gt;
&lt;li&gt;&amp;lsquo;x&amp;rsquo; specifies alphanumeric characters (letters and numbers). Other options include &amp;lsquo;a&amp;rsquo; for alphabets and &amp;lsquo;u&amp;rsquo; for uppercase only.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>My plants</title><link>https://www.binovarghese.com/desk/2024/10/my-plants/</link><pubDate>Mon, 28 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/10/my-plants/</guid><description>&lt;p&gt;I love plants and have a few in my flat. I want to create a list of all the plants I&amp;rsquo;ve ever had, so I&amp;rsquo;m sharing photos of them here. Some of these plants were purchased or collected over time, and a few have sadly passed away. However, looking at these pictures brings back wonderful memories of them.&lt;/p&gt;
&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-1.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-2.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-6.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-8.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;More pothos&amp;hellip;&lt;/p&gt;
&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-5.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-3.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-7.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/mp-4.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As you can see, most of the plants here are money plants (pothos) because they’re easy to maintain and propagate. Simply cut a long stem, place it in a pot with water, and within a few weeks, new roots will form, it&amp;rsquo;s a joy to watch! Most of my money plants are in bottles, it’s beautiful to see the roots and stems in the water. The only downside is that their growth rate slows down unless I replace the water regularly.&lt;/p&gt;
&lt;p&gt;My plant care routine is simple: I check the soil and water only when needed. For the plants in bottles, I don’t change the water often, I just top it up or occasionally drain and refill it completely. Every now and then, I’ll repot or rearrange my plants to bring a fresh vibe to my flat.&lt;/p&gt;
&lt;p&gt;I’m also planning to add more low maintenance plants, like snake plants, ZZ plants, or lucky bamboo. Here are some photos of the other plants around my flat!&lt;/p&gt;
&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-1.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-2.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-3.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-4.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-5.jpg" width="400"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/plants/plants-6.jpeg" width="400"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That&amp;rsquo;s it, this is my small collection of plants. I hope to create a mini garden in my flat someday, I just love watching them grow. As the saying goes, the more green, the merrier!&lt;/p&gt;</description></item><item><title>വഴിയമ്പലങ്ങൾ</title><link>https://www.binovarghese.com/ml-musings/2024/halting-place/</link><pubDate>Fri, 25 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/halting-place/</guid><description>&lt;p&gt;ഹൃദയത്തിൽ വഴിയമ്പലങ്ങൾ കണക്കെ&lt;br&gt;
ഇടങ്ങൾ ഉണ്ടായിരിക്കണം.&lt;br&gt;
കോരിച്ചൊരിയുന്ന മഴയത്ത് ഓടിക്കയറാനും&lt;br&gt;
ഒരു പുലരിയിൽ വിട പറയാതെ&lt;br&gt;
യാത്ര തുടങ്ങാനും സാധിക്കുന്ന&lt;br&gt;
മനോഹരയിടങ്ങൾ.&lt;/p&gt;</description></item><item><title>Migrating my posts from social media</title><link>https://www.binovarghese.com/drawer/2024/10/migrate-my-favs/</link><pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/migrate-my-favs/</guid><description>&lt;p&gt;I want to migrate my favorite memories from various social media platforms to this blog. I&amp;rsquo;m not sure it will work, but I still want to give it a try because I love the idea of having all my favorite things in one place.&lt;/p&gt;
&lt;p&gt;Hopefully, I can do it gradually over time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update on 27 Oct&lt;/strong&gt;: I already started migrating my posts from various social medias. Its a tedious task, but I am loving it.&lt;/p&gt;</description></item><item><title>My plants and my poems</title><link>https://www.binovarghese.com/drawer/2024/10/my-plants-my-poems/</link><pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/my-plants-my-poems/</guid><description>&lt;p&gt;My plants and my poems.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/poems-and-plants.jpeg" width="400" height="500"&gt;
&lt;/figure&gt;
</description></item><item><title>PL/SQL MINUS Operator</title><link>https://www.binovarghese.com/notes/2024/10/plsql-minus-operator/</link><pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/10/plsql-minus-operator/</guid><description>&lt;p&gt;The PL/SQL &lt;code&gt;MINUS&lt;/code&gt; operator returns all rows from the first query that are not present in the second query. Each &lt;code&gt;SELECT&lt;/code&gt; statement defines a dataset, and the &lt;code&gt;MINUS&lt;/code&gt; operator retrieves all records from the first dataset, excluding any that also appear in the second dataset.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select stock_id, stock_name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from stock_master
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where active = &amp;#39;Y&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;minus
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select stock_poid, stock_desc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from stock_ledger
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where transaction_date &amp;gt; &amp;#39;01-JAN-24&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.techonthenet.com/oracle/minus.php"&gt;Tech on the net&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Basic rules for life</title><link>https://www.binovarghese.com/desk/2024/10/basic-rules-for-life/</link><pubDate>Sun, 20 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/10/basic-rules-for-life/</guid><description>&lt;p&gt;I believe having a set of personal rules can lead to a more peaceful and productive life. After diving deep into lot of self-help materials, I’ve crafted a list of principles I want to follow daily. These rules reflect my personal thoughts and experiences, and while they work for me, they may not necessarily work for you. Feel free to take what resonates with you and leave the rest. Here’s my list after much reflection.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remember you will die.&lt;/li&gt;
&lt;li&gt;Always guard your time.&lt;/li&gt;
&lt;li&gt;Focus on what you can control.&lt;/li&gt;
&lt;li&gt;Keep your body healthy.&lt;/li&gt;
&lt;li&gt;Meditate daily.&lt;/li&gt;
&lt;li&gt;Learn to be happy.&lt;/li&gt;
&lt;li&gt;Be more kind.&lt;/li&gt;
&lt;li&gt;Examine your life regularly and be aware of it.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t take yourself so seriously.&lt;/li&gt;
&lt;li&gt;Identify what you want in your life.&lt;/li&gt;
&lt;li&gt;Plan and schedule everything.&lt;/li&gt;
&lt;li&gt;Play long term games.&lt;/li&gt;
&lt;li&gt;Do the work you love.&lt;/li&gt;
&lt;li&gt;Never stop learning.&lt;/li&gt;
&lt;li&gt;Google everything.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please note that none of the above are original, it has been collected from various sources. And I hope I will add more rules to this as I encounter new experiences in life. Let me know if you have any specific rules for your life.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sometimes I fail to follow what I say, But I never fail to try. Everything I say may be wrong.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>My winter rides</title><link>https://www.binovarghese.com/drawer/2024/10/i-miss-my-bike/</link><pubDate>Sun, 20 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/i-miss-my-bike/</guid><description>&lt;p&gt;I like to ride by bicycle in the winter mornings. The long ride in the morning gives me a sense of happiness.&lt;/p&gt;
&lt;p&gt;PS: This is my brother&amp;rsquo;s bicycle which I borrowed for few weeks.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/bike-photo.jpg" width="400" height="500"&gt;
&lt;/figure&gt;
</description></item><item><title>Travel far enough, you meet yourself</title><link>https://www.binovarghese.com/drawer/2024/10/travel-far-enough-you-meet-yourself/</link><pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/travel-far-enough-you-meet-yourself/</guid><description>&lt;p&gt;“Travel far enough, you meet yourself.”
― David Mitchell&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/24Oct.jpeg"
 alt="Manali, Himachal Pradesh, India" width="400"&gt;&lt;figcaption&gt;
 &lt;p&gt;Manali, Himachal Pradesh, India&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Dream</title><link>https://www.binovarghese.com/drawer/2024/10/last-night-dream/</link><pubDate>Wed, 16 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/last-night-dream/</guid><description>&lt;p&gt;I want to stay in the dream from the night we met. It’s the wildest fantasy I’ve ever had. Can we meet there again? Just to kiss you one last time, and hold you once more after a million embraces.&lt;/p&gt;</description></item><item><title>Slash pages in Hugo</title><link>https://www.binovarghese.com/notes/2024/10/slash-pages-in-hugo/</link><pubDate>Wed, 16 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/10/slash-pages-in-hugo/</guid><description>&lt;p&gt;In Hugo, creating different slash pages (like &lt;code&gt;/about/&lt;/code&gt;, &lt;code&gt;/uses/&lt;/code&gt;, etc.) involves creating specific content files for each page and customizing templates as needed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create individual markdown files for each slash page under &lt;code&gt;content/&lt;/code&gt;.&lt;/strong&gt; &lt;br&gt;
If you want to create an &lt;code&gt;/about/&lt;/code&gt; page in your blog, add a markdown page with below front matter in the &lt;code&gt;content/&lt;/code&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;//content/about.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;title: &amp;#34;About&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;date: 2024-10-16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This is the About page content.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Optionally create a template for the page.&lt;/strong&gt;&lt;br&gt;
Hugo uses the &lt;code&gt;single.html&lt;/code&gt; template from the &lt;code&gt;layouts/_default/&lt;/code&gt; folder to render pages by default. However, you can create custom templates in the &lt;code&gt;layouts/page/ folder&lt;/code&gt; to format specific pages as needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;//layouts/page/about.html
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;h1&amp;gt;{{ .Title }}&amp;lt;/h1&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;div class=&amp;#34;content&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Content }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can check my slash pages like &lt;a href="https://www.binovarghese.com/uses/"&gt;uses&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/credits"&gt;credits&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/changelog"&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/troubleshooting/performance/"&gt;Hugo Docs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hugo Troubleshooting</title><link>https://www.binovarghese.com/notes/2024/10/hugo-performace/</link><pubDate>Mon, 14 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/10/hugo-performace/</guid><description>&lt;p&gt;Hugo is fast, but ineffecinet templates can make it slower. For checking the performance you can use the below commands.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;hugo --logLevel debug&lt;/code&gt; to display debug information, warning, and error message.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;hugo --templateMetrics&lt;/code&gt; to check for slow templates. This will show the time it takes to render each template.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;hugo --gc&lt;/code&gt; (garbage collection) to clean up unused files, which might help reduce build time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;debug.Timer&lt;/code&gt; to determine the execution time of a block of code. And use the &lt;code&gt;hugo --logLevel info&lt;/code&gt; info command line flag when you build the site.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $t := debug.Timer &amp;#34;TestSqrt&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ range seq 2000 }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ $f := math.Sqrt . }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{ $t.Stop }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/troubleshooting/performance/"&gt;Hugo Docs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Walking</title><link>https://www.binovarghese.com/drawer/2024/10/14oct/</link><pubDate>Mon, 14 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/14oct/</guid><description>&lt;p&gt;Walking brings clarity to your thoughts.&lt;/p&gt;</description></item><item><title>About this digital garden</title><link>https://www.binovarghese.com/desk/2024/10/about-this-website/</link><pubDate>Tue, 08 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/10/about-this-website/</guid><description>&lt;p&gt;Welcome to my Digital Garden!&lt;/p&gt;
&lt;p&gt;This website is where I document and share pieces of my life my thoughts, photos, code snippets, and notes collected along the way. It includes everything from long essays to short reflections, all of which will grow and evolve over time.&lt;/p&gt;
&lt;p&gt;You might wonder why I don’t just post this on social media. The answer is simple: I love the web and wanted to own a little corner of it. Also, owning my content gives me the freedom to create, experiment, and tinker with this space, and having fun with that.&lt;/p&gt;
&lt;p&gt;May be you are thinking, what is digital garden. Here, I’ll explain what a Digital Garden is, how it works, and guide you through navigating this space, explaining the terms and menus you&amp;rsquo;ll find along the way.&lt;/p&gt;
&lt;h4 id="what-is-digital-garden"&gt;What is digital garden?&lt;/h4&gt;
&lt;p&gt;As you read &lt;a href="https://www.binovarghese.com/blog/2021/digital-gardening-2021/"&gt;here&lt;/a&gt;, a digital garden is a living collection of evolving ideas that aren&amp;rsquo;t strictly organized by publication date. They represent thoughts and notes in progress, often shared as half-formed concepts that grow and change with time. Unlike typical blogs, these notes are interconnected and published for personal reflection, rather than for a broad audience.&lt;/p&gt;
&lt;h4 id="why-digital-garden"&gt;Why digital garden?&lt;/h4&gt;
&lt;p&gt;Hope you understood what is Digital Garden. It serves as a personal space where my ideas, notes, and thoughts can be shared without the pressure of being perfect. The beauty of this approach lies in its flexibility—short notes, essays, and links can be edited, refined, and interconnected over time. Unlike a regular blog, this method provides the freedom to grow, evolve, and learn publicly at my own pace, allowing room for imperfection and continuous learning.&lt;/p&gt;
&lt;h4 id="contents-of-this-digital-garden"&gt;Contents of this digital garden&lt;/h4&gt;
&lt;p&gt;This website is organized into multiple categories such as Home, Essays, Notes, Desk, and more. The reason for this structure is to keep content separated by type or topic. For example, some visitors may only be interested in technical posts, while others might prefer Malayalam posts. By creating specific categories, it allows users to easily navigate and focus on the content they are most interested in without everything being grouped under a single heading.&lt;/p&gt;
&lt;p&gt;So, here are the categories of my website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/"&gt;Home&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
The main page, showcasing the latest essays, notes, and desk entries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/garden/"&gt;Room&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of tech notes, personal reflections, and evolving thoughts about whatever’s caught my curiosity. Basically the Room will show everything in this website.&lt;br&gt;
This digital garden have three main sections such as Coder, Writer, and Malayali space. They have their own sub categories for long essays and short notes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/coder-space"&gt;The Workbench&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Space where you can browse all tech posts together. Below are the sub catogries of the same.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/blog/"&gt;Essays&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of in-depth essays and explorations about technology.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/notes/"&gt;Notes&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of short notes, reading highlights, and code snippets about tech.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/writer-space"&gt;The Desk&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Space where you can browse all non tech posts together. Below are the sub catogries of the same.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/desk/"&gt;Desk&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of reflections on books, philosophy, travel, and life.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/drawer/"&gt;Drawer&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of social media posts, musings, and late night thoughts.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/ml-space"&gt;Malayali Space&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Space where you can browse all Malayalam poems, stories, and musings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/ml/"&gt;Malayalam Stories and Poems&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collectin of poems, and short stories in Malayalam.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/ml-musings/"&gt;Malayalam musings&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collectin of musings in Malayalam.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/now/"&gt;Now&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
An infrequently updated log of what I&amp;rsquo;m reading, exploring, and thinking about.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/common/library/"&gt;Library&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A collection of books I’ve read or started reading.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="other-links"&gt;Other links&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/about/"&gt;About&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Personal bio, photos, and contact information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/tags/"&gt;Tags&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
A section where you can view the available tags in this website.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/credits/"&gt;Credits&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Credits of this website.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/disclaimer/"&gt;Disclaimer&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Disclaimer for this website.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/changelog/"&gt;Changelog&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Website updates and events, listed in reverse chronological order.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/uses/"&gt;Uses&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
A list of products, tools and essentials that I use for work and daily life.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.binovarghese.com/blogroll/"&gt;Blogroll&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
Awesome personal websites.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="technology"&gt;Technology&lt;/h4&gt;
&lt;p&gt;Built with a &lt;a href="https://jamstack.org/"&gt;JAMstack&lt;/a&gt; architecture, the site uses &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; as the static site generator and is hosted on &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;. It&amp;rsquo;s served securely via HTTPS, with a free SSL certificate provided by &lt;a href="https://letsencrypt.org/"&gt;Let’s Encrypt&lt;/a&gt; and automatically managed by Netlify for seamless delivery.&lt;/p&gt;
&lt;h4 id="inspirations"&gt;Inspirations&lt;/h4&gt;
&lt;p&gt;I’ve drawn inspiration from various &lt;a href="https://www.binovarghese.com/blogroll/"&gt;websites&lt;/a&gt; to enhance the uniqueness of mine. This site owes its existence to numerous open-source tools and services, and I’m truly grateful to all the contributors who have generously shared their work with the community. Your efforts have made a significant impact!&lt;/p&gt;</description></item><item><title>Answers</title><link>https://www.binovarghese.com/drawer/2024/10/7oct/</link><pubDate>Mon, 07 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/7oct/</guid><description>&lt;p&gt;Create your own answers.&lt;/p&gt;</description></item><item><title>Write it down</title><link>https://www.binovarghese.com/drawer/2024/10/5oct/</link><pubDate>Sat, 05 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/10/5oct/</guid><description>&lt;p&gt;By writing down your problems, you&amp;rsquo;ll be able to see the solutions clearly.&lt;/p&gt;</description></item><item><title>Understanding useRef</title><link>https://www.binovarghese.com/blog/2024/10/react-useref/</link><pubDate>Wed, 02 Oct 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/10/react-useref/</guid><description>&lt;p&gt;&lt;code&gt;useRef&lt;/code&gt; is a powerful React Hook that allows you to create and manage mutable references that persist between renders. Unlike state, changing the value of a &lt;code&gt;useRef&lt;/code&gt; object does not trigger a re-render, making it ideal for scenarios like accessing DOM elements or managing values that don&amp;rsquo;t directly affect the UI.&lt;/p&gt;
&lt;h3 id="what-is-useref"&gt;What is useRef?&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;useRef&lt;/code&gt; is a React Hook that lets you reference a value that’s not needed for rendering.&lt;br&gt;
— React Docs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This makes &lt;code&gt;useRef&lt;/code&gt; an essential tool for managing mutable values or interacting with DOM elements without re-rendering the component.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;initialValue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="parameters"&gt;Parameters&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;initialValue&lt;/code&gt;&lt;/strong&gt;: The value assigned to the &lt;code&gt;current&lt;/code&gt; property of the ref object during the first render. This value is ignored in subsequent renders.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="returns"&gt;Returns&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;current&lt;/code&gt;&lt;/strong&gt;: A mutable property of the &lt;code&gt;useRef&lt;/code&gt; object. It holds the reference&amp;rsquo;s current value, which can be updated without affecting the component&amp;rsquo;s render cycle.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="usage"&gt;Usage&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Accessing DOM Elements&lt;/strong&gt;:&lt;br&gt;
Use &lt;code&gt;useRef&lt;/code&gt; to directly interact with HTML elements (e.g., focusing an input field).&lt;/p&gt;
&lt;h4 id="example"&gt;Example:&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-jsx" data-lang="jsx"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;FocusInput&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Create a ref to hold the input element
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;inputRef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleFocus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Focus the input element on button click
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;inputRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;focus&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;ref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;inputRef&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleFocus&lt;/span&gt;&lt;span class="p"&gt;}&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Focus&lt;/span&gt; &lt;span class="nx"&gt;Input&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;FocusInput&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;What’s Happening?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;inputRef&lt;/code&gt; is assigned to the &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; element using the &lt;code&gt;ref&lt;/code&gt; attribute.&lt;/li&gt;
&lt;li&gt;When the button is clicked, the &lt;code&gt;handleFocus&lt;/code&gt; function uses &lt;code&gt;inputRef.current&lt;/code&gt; to call the &lt;code&gt;focus()&lt;/code&gt; method on the input.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Storing Mutable Values&lt;/strong&gt;:&lt;br&gt;
Use &lt;code&gt;useRef&lt;/code&gt; to store values that need to persist across renders but don&amp;rsquo;t require UI updates. This is particularly useful for tasks like tracking intervals or keeping the previous value of a prop.&lt;/p&gt;
&lt;h4 id="example-1"&gt;Example:&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Create a ref to store the counter value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;countRef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleClick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Update the value without re-rendering
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;countRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`You clicked &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;countRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt; times!`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Logs on every re-render
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Rendering happened&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleClick&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Click&lt;/span&gt; &lt;span class="nx"&gt;me&lt;/span&gt;&lt;span class="o"&gt;!&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* This won&amp;#39;t update on its own */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Counter&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;countRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Key Points&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;countRef.current&lt;/code&gt; value updates internally without causing a re-render.&lt;/li&gt;
&lt;li&gt;The value persists between renders, but changes to it won’t reflect in the DOM automatically unless the component is re-rendered.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="why-use-useref"&gt;Why use useRef?&lt;/h3&gt;
&lt;h4 id="key-benefits"&gt;Key benefits:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Persistence&lt;/strong&gt;: The &lt;code&gt;current&lt;/code&gt; value remains consistent across renders.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Efficiency&lt;/strong&gt;: Updating &lt;code&gt;useRef&lt;/code&gt; values does not trigger a re-render, making it ideal for performance-critical tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Direct DOM Access&lt;/strong&gt;: Perfect for manipulating DOM elements without additional lifecycle hooks.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="use-cases"&gt;Use cases:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Managing focus, text selection, or media playback.&lt;/li&gt;
&lt;li&gt;Storing mutable variables like timers, intervals, or previous values.&lt;/li&gt;
&lt;li&gt;Preventing re-renders caused by frequent updates to non-critical data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;useRef&lt;/code&gt; is an essential tool in React for managing mutable data and interacting with DOM elements without triggering re-renders. Whether you&amp;rsquo;re building an interactive form, managing focus, or optimizing performance, &lt;code&gt;useRef&lt;/code&gt; provides a simple and effective solution.&lt;/p&gt;
&lt;h3 id="example-repository"&gt;Example repository&lt;/h3&gt;
&lt;p&gt;Check out the full working examples in the &lt;a href="https://github.com/binokochumolvarghese/react-snippets/tree/main/2024/useref-demo-app"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react.dev/reference/react/useRef"&gt;React Dev Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dmitripavlutin.com/react-useref/"&gt;Dmitri Pavlutin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>പ്രകാശഗോപുരങ്ങൾ</title><link>https://www.binovarghese.com/ml/2024/09/light-tower/</link><pubDate>Mon, 23 Sep 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2024/09/light-tower/</guid><description>&lt;p&gt;മനോഹരമായ വൈകുന്നേരമൊരു&lt;br&gt;
കവിതയെഴുതിയാലോന്ന് തോന്നി.&lt;/p&gt;
&lt;p&gt;ഓർമ്മകളുടെ മഴപെയ്ത്തിൽ സദാ&lt;br&gt;
നനഞ്ഞ് നിൽക്കുന്നത് കൊണ്ട്&lt;br&gt;
നിങ്ങളെക്കുറിച്ച് എഴുതാമെന്നു കരുതി.&lt;/p&gt;
&lt;p&gt;മനസ്സിലെ വായനക്കാരൻ പറഞ്ഞു&lt;br&gt;
മാറി നടക്കാൻ സമയമായെന്ന്.&lt;br&gt;
എന്തെഴുതും.&lt;/p&gt;
&lt;p&gt;എന്നെക്കുറിച്ചും നിങ്ങളെക്കുറിച്ചുമല്ലാതെ&lt;br&gt;
ഒന്നുമെനിക്കറിയില്ല.&lt;br&gt;
അനന്തകോടി നക്ഷത്രങ്ങളുള്ള&lt;br&gt;
ഈ കൊച്ചു ഭൂമിയിൽ നിങ്ങളാണെന്റെ&lt;br&gt;
പ്രകാശഗോപുരങ്ങൾ.&lt;/p&gt;
&lt;p&gt;വെളിച്ചത്തേക്കുറിച്ചല്ലാതെ&lt;br&gt;
ഇരുട്ടിലകപ്പെട്ടുപോയ ഞാൻ&lt;br&gt;
എന്തെഴുതാൻ.&lt;/p&gt;
&lt;p&gt;വഴികാട്ടിയാലുമെന്നെ.&lt;/p&gt;</description></item><item><title>ഭ്രമണം</title><link>https://www.binovarghese.com/ml-musings/2024/i-am-revolving-around-you./</link><pubDate>Fri, 13 Sep 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/i-am-revolving-around-you./</guid><description>&lt;p&gt;പ്രകാശത്തിന്റെ പകലിൽ&lt;br&gt;
മഞ്ഞവെളിച്ചങ്ങളുടെ ഇരുട്ടിൽ&lt;br&gt;
ഓർമ്മകളുടെ പെയ്ത്തിൽ&lt;br&gt;
നിശ്വാസങ്ങളുടെ ഇടന്നേരങ്ങളിൽ&lt;/p&gt;
&lt;p&gt;നിങ്ങളിലാണ് ഞാൻ&lt;br&gt;
ഭ്രമണം ചെയ്യുന്നത്.&lt;/p&gt;</description></item><item><title>Higher order functions</title><link>https://www.binovarghese.com/notes/2024/07/higher-order-functions/</link><pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/07/higher-order-functions/</guid><description>&lt;p&gt;A higher order function is a function that takes one or more functions as arguments, or returns a function as its result.&lt;/p&gt;
&lt;p&gt;These functions are powerful because they allow you to abstract and compose operations in a flexible and reusable way. They are a fundamental concept in functional programming.&lt;/p&gt;
&lt;p&gt;Common examples of higher order functions are .map(), .filter(), and reducer().&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.map()&lt;/code&gt;: Takes a function as an argument and applies it to each element in an array, returning a new array with the results.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;doubled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;doubled&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=HkWxvB1RJq0"&gt;Namaste JS&lt;/a&gt;, &lt;a href="https://www.freecodecamp.org/news/higher-order-functions-in-javascript-explained/"&gt;FreeCodeCamp&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Tiny React Apps</title><link>https://www.binovarghese.com/blog/2024/08/tiny-react-apps-2024/</link><pubDate>Thu, 15 Aug 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/08/tiny-react-apps-2024/</guid><description>&lt;p&gt;This is a collection of tiny apps built with React, designed to explore and learn React along with its associated libraries. Each project serves as a hands-on experiment to try out new features and deepen understanding of the React ecosystem.&lt;/p&gt;
&lt;p&gt;Below is a list of tiny React apps, ranging from weather applications to dashboards.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Weather App&lt;/li&gt;
&lt;li&gt;Note App&lt;/li&gt;
&lt;li&gt;Photos App&lt;/li&gt;
&lt;li&gt;Job Summary App&lt;/li&gt;
&lt;li&gt;QR Code Generator&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find the details of the each application in the below section.&lt;/p&gt;
&lt;h3 id="weather-app"&gt;Weather App&lt;/h3&gt;
&lt;p&gt;An app designed to display the current weather details for any selected city.&lt;/p&gt;
&lt;h5 id="links"&gt;Links&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react-weather-app-2024.web.app/"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/binokochumolvarghese/react-weather-app"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="screenshot"&gt;Screenshot&lt;/h5&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/tiny-react-apps/weather-app-ss.png"
 alt="Weather App Screenshot"&gt;
&lt;/figure&gt;

&lt;h3 id="note-app"&gt;Note App&lt;/h3&gt;
&lt;p&gt;A Note app that allows users to create, edit, and efficiently manage their notes.&lt;/p&gt;
&lt;h5 id="links-1"&gt;Links&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react-note-app-4a475.web.app/"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/binokochumolvarghese/react-note-app"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="screenshot-1"&gt;Screenshot&lt;/h5&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/tiny-react-apps/note-app-ss.png"
 alt="Note App Screenshot"&gt;
&lt;/figure&gt;

&lt;h3 id="photos-app"&gt;Photos App&lt;/h3&gt;
&lt;p&gt;An application that fetches photos from the Unsplash API, allowing users to browse and search images, and click on any photo to view detailed information in a popup.&lt;/p&gt;
&lt;h5 id="links-2"&gt;Links&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bi-photo-app.netlify.app/"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/binokochumolvarghese/react-photos-app"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="screenshot-2"&gt;Screenshot&lt;/h5&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/tiny-react-apps/photo-app-ss.png"
 alt="Note App Screenshot"&gt;
&lt;/figure&gt;

&lt;h3 id="job-summary-app"&gt;Job Summary App&lt;/h3&gt;
&lt;p&gt;A dashboard application that provides real-time job summaries for employees, automatically refreshing every 30 seconds for up-to-date information.&lt;/p&gt;
&lt;h5 id="links-3"&gt;Links&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react-job-dashboard.web.app/"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/binokochumolvarghese/job-dashboard-react-app"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="screenshot-3"&gt;Screenshot&lt;/h5&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/tiny-react-apps/job-summary-dashboard-ss.png"
 alt="Job Summary App Screenshot"&gt;
&lt;/figure&gt;

&lt;h3 id="qr-code-generator"&gt;QR Code Generator&lt;/h3&gt;
&lt;p&gt;A simple app that generates a QR code based on the entered text, with an option to download the QR code image.&lt;/p&gt;
&lt;h4 id="link"&gt;Link&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://rt-qrcode.netlify.app/"&gt;https://rt-qrcode.netlify.app/&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="github-repository"&gt;GitHub Repository&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://github.com/binokochumolvarghese/react-qr-code-generator"&gt;https://github.com/binokochumolvarghese/react-qr-code-generator&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="screenshot-4"&gt;Screenshot&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/tiny-react-apps/qr-code-app-ss.png"
 alt="QR Code App Screenshot"&gt;
&lt;/figure&gt;
</description></item><item><title/><link>https://www.binovarghese.com/now/2024/jun/</link><pubDate>Sun, 30 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/now/2024/jun/</guid><description>&lt;ul&gt;
&lt;li&gt;I am an elder son, big brother, husband, and dad. 💖&lt;/li&gt;
&lt;li&gt;Working as a senior software developer. 💻&lt;/li&gt;
&lt;li&gt;Currently living in the island of pearls aka Bahrain. 🦪&lt;/li&gt;
&lt;li&gt;Exploring the idea of digital gardens and note taking system. 🌿&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Scar</title><link>https://www.binovarghese.com/drawer/2024/06/scar/</link><pubDate>Fri, 28 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/06/scar/</guid><description>&lt;p&gt;There’s a scar etched on my heart,&lt;br&gt;
Forged by love from ages past.&lt;br&gt;
Yet it makes me brave in the battle,&lt;br&gt;
Brings hope amidst despair,&lt;br&gt;
And guides me forward.&lt;/p&gt;
&lt;p&gt;And I want you to know this:&lt;br&gt;
Love is the wound where light flows in.&lt;/p&gt;</description></item><item><title>Thank you for being my magic</title><link>https://www.binovarghese.com/drawer/2024/06/magic/</link><pubDate>Mon, 17 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/06/magic/</guid><description>&lt;p&gt;Can we stay in the magic forever? The magic lives in the night we loved each other so much and danced beneath the Mediterranean skies. Yes, the kiss, the stars, and you, everything seemed magical to me.&lt;/p&gt;
&lt;p&gt;Thank you for being my magic.&lt;/p&gt;</description></item><item><title>മരണത്തിന്റെ മണം</title><link>https://www.binovarghese.com/ml/2024/06/smell-of-death/</link><pubDate>Mon, 17 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2024/06/smell-of-death/</guid><description>&lt;p&gt;ചില വൈകുന്നേരങ്ങളിൽ ഞാൻ&lt;br&gt;
മരണത്തിന്റെ മണമുള്ള&lt;br&gt;
ഇടനാഴികളിൽ ചെന്ന് പെടാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;കാലങ്ങളോളം കണ്ടിരുന്നവർ&lt;br&gt;
പെട്ടെന്ന് മരണത്തിലേക്ക്&lt;br&gt;
മറഞ്ഞതറിയുമ്പോളാണത്.&lt;br&gt;
മരണം മണക്കുന്നയിരുണ്ട&lt;br&gt;
ഇടനാഴികളിൽ ഉലഞ്ഞ&lt;br&gt;
മനസ്സുമായി ഞാൻ വേഗം&lt;br&gt;
നടക്കുമപ്പോൾ.&lt;/p&gt;
&lt;p&gt;അവർ മരണത്തിന് തൊട്ട് മുൻപ്&lt;br&gt;
എങ്ങനെയതിനെ നേരിട്ടുവെന്നോർത്ത്&lt;br&gt;
ഞാൻ വേവലാതിപ്പെടാറുണ്ട്.&lt;br&gt;
ഇരുണ്ട വഴികളിലൂടെയുള്ള&lt;br&gt;
നടത്തത്തിന് വേഗം കൂട്ടും&lt;br&gt;
ഞാനപ്പോൾ.&lt;/p&gt;
&lt;p&gt;ആത്മബന്ധത്തിന്റെ ആഴങ്ങളില്ലാതിരുന്നിട്ടും&lt;br&gt;
ആ മരണങ്ങളെന്നെ മുറിവേൽപ്പിക്കാറുണ്ട്.&lt;br&gt;
അവരുടെ ചിതറിയ ഓർമകൾ &lt;br&gt;
എന്നെയൊരു നിസ്സഹായനാക്കുന്നു. &lt;br&gt;
ഇരുട്ടിലൊറ്റക്കായത് പോലെ,&lt;br&gt;
ഇടവഴികളിലൂടെ ഓടാൻ&lt;br&gt;
തുടങ്ങി ഞാൻ.&lt;/p&gt;
&lt;p&gt;ഇനിയൊരിക്കലുമവരെ കാണില്ലെന്നുള്ള&lt;br&gt;
സത്യം പതിയയെന്നെ മൂടുന്നു.&lt;br&gt;
ശ്വാസമടയുന്നുയെൻ്റെ,&lt;br&gt;
വഴിയിൽ ഞാൻ വീണുപോയി.&lt;/p&gt;
&lt;p&gt;ചുറ്റുമിരുട്ടിൽ വീണ്ടും മരണത്തിന്റെ മണം.&lt;/p&gt;</description></item><item><title>വഴികാട്ടിയാലുമെന്നെ</title><link>https://www.binovarghese.com/ml-musings/2024/show-me-the-way/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/show-me-the-way/</guid><description>&lt;p&gt;നക്ഷത്രങ്ങൾ നിങ്ങൾ&lt;br&gt;
ഇരുട്ടിൽ ഞാൻ&lt;br&gt;
വഴികാട്ടിയാലുമെന്നെ.&lt;/p&gt;</description></item><item><title>I'll meet you</title><link>https://www.binovarghese.com/drawer/2024/06/darkness-and-light/</link><pubDate>Sat, 08 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/06/darkness-and-light/</guid><description>&lt;p&gt;I&amp;rsquo;ll meet you&lt;br&gt;
In the space between darkness and light,&lt;br&gt;
where everything feels divine.&lt;/p&gt;
&lt;p&gt;And there, I’ll kiss you&lt;br&gt;
like the very first time,&lt;br&gt;
even after a million times.&lt;/p&gt;</description></item><item><title>Understanding useCallback</title><link>https://www.binovarghese.com/blog/2024/06/usecallback/</link><pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/06/usecallback/</guid><description>&lt;p&gt;I hope you know what is &lt;a href="https://www.binovarghese.com/blog/2024/06/usememo/"&gt;&lt;code&gt;useMemo&lt;/code&gt;&lt;/a&gt; and understood that it caches the values between re-renders. &lt;code&gt;useCallback&lt;/code&gt; is similar to this and it caches a function instead of values. Let&amp;rsquo;s dive into the details of &lt;code&gt;useCallback&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id="what-is-usecallback"&gt;What is useCallback?&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;useCallback&lt;/code&gt; is a React Hook that helps you memoize a function definition, ensuring it remains the same across re-renders.&lt;/p&gt;
&lt;p&gt;Although &lt;code&gt;useCallback&lt;/code&gt; shares a similar syntax with &lt;code&gt;useMemo&lt;/code&gt;, there’s an important distinction between the two. &lt;code&gt;useMemo&lt;/code&gt; executes a function and returns its result whenever its dependencies change. On the other hand, &lt;code&gt;useCallback&lt;/code&gt; doesn’t execute the function—instead, it returns a memoized version of the function itself.&lt;/p&gt;
&lt;p&gt;This means React will maintain the same function reference as long as the dependencies don’t change, preserving referential equality. It’s worth noting that React doesn’t automatically call the function—it’s entirely up to you to decide when and how to use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cachedFn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;dependencies&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="parameters"&gt;Parameters&lt;/h4&gt;
&lt;p&gt;Here’s an improved version of your text with a polished tone:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;function&lt;/code&gt;&lt;/strong&gt;: This is the function you want to memoize. It can accept any arguments and return any value. During the initial render, React will simply return (not call) your function. On subsequent renders, React will return the same function reference as long as the &lt;code&gt;dependencies&lt;/code&gt; haven’t changed. If the &lt;code&gt;dependencies&lt;/code&gt; do change, React will use the latest version of your function from the current render and update its cache for future use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;dependencies&lt;/code&gt;&lt;/strong&gt;: This is a list of all reactive values used within your function. Reactive values include &lt;code&gt;props&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, and any variables or functions defined inside your component’s body. If you don’t provide a &lt;code&gt;dependencies&lt;/code&gt; array, React will always return the cached function and won’t update it, even if the reactive values inside the function change. This can lead to stale data if not handled carefully.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="usage"&gt;Usage&lt;/h3&gt;
&lt;p&gt;Below are the use cases of &lt;code&gt;useCallback&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skipping re-rendering of components.&lt;/li&gt;
&lt;li&gt;Updating state from a memoized callback.&lt;/li&gt;
&lt;li&gt;Preventing an Effect from firing too often.&lt;/li&gt;
&lt;li&gt;Optimizing a custom Hook.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example"&gt;Example:&lt;/h3&gt;
&lt;p&gt;To understand this concept better, let’s explore an example where we prevent unnecessary re-renders of components.&lt;/p&gt;
&lt;p&gt;In the code below, every time the button to increment the count is clicked, the &lt;code&gt;DemoOutput&lt;/code&gt; component also re-renders. &lt;strong&gt;By default, when a component re-renders, React re-renders all of its children recursively.&lt;/strong&gt; While this behavior is acceptable for lightweight components, it can negatively impact the app’s performance if the re-rendering process takes significant time.&lt;/p&gt;
&lt;h4 id="example-without-usecallback"&gt;Example without useCallback&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Counter.jsx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;DemoOutput&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./DemoOutput&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;showOutput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;red-box&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Without&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/h3&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Count&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Increment&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;DemoOutput&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;showOutput&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;showOutput&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// DemoOutput.jsx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;DemoOutput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;DemoOutput rendered.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;showOutput&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Show&lt;/span&gt; &lt;span class="nx"&gt;Demo&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Open the console and click the increment button.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;DemoOutput&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this implementation, every click on the &lt;strong&gt;Increment count&lt;/strong&gt; button triggers a re-render of the &lt;code&gt;DemoOutput&lt;/code&gt; component. This happens because the &lt;code&gt;showOutput&lt;/code&gt; function is re-created on each render, causing React to treat it as a new reference and re-render the memoized &lt;code&gt;DemoOutput&lt;/code&gt; component. You can verify this by observing the console logs.&lt;/p&gt;
&lt;h4 id="optimizing-performance-with-usecallback"&gt;Optimizing performance with useCallback&lt;/h4&gt;
&lt;p&gt;We can improve the performance by using the &lt;code&gt;useCallback&lt;/code&gt; hook to memoize the &lt;code&gt;showOutput&lt;/code&gt; function. By wrapping the function with &lt;code&gt;useCallback&lt;/code&gt;, React ensures the function maintains the same reference across renders unless its dependencies change. This prevents the unnecessary re-rendering of the &lt;code&gt;DemoOutput&lt;/code&gt; component.&lt;/p&gt;
&lt;p&gt;Check the console logs to see the difference in rendering behavior between the two examples.&lt;/p&gt;
&lt;p&gt;Here’s the optimized code:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Counter.jsx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;DemoOutput&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./DemoOutput&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;showOutput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setShow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;green-box&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;With&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/h3&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Count&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Increment&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;DemoOutput&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;showOutput&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;showOutput&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="how-it-works"&gt;How it works&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;showOutput&lt;/code&gt; function is now wrapped in &lt;code&gt;useCallback&lt;/code&gt; with &lt;code&gt;show&lt;/code&gt; as a dependency.&lt;/li&gt;
&lt;li&gt;The function is re-created only when &lt;code&gt;show&lt;/code&gt; changes, maintaining referential equality otherwise.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;React.memo&lt;/code&gt;-wrapped &lt;code&gt;DemoOutput&lt;/code&gt; component will no longer re-render unnecessarily because its &lt;code&gt;showOutput&lt;/code&gt; prop remains the same between renders.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;useCallback&lt;/code&gt; is a React Hook that allows you to memoize a function, ensuring its reference remains unchanged across re-renders. This can significantly enhance performance by preventing unnecessary re-renders of child components that depend on the function.&lt;/p&gt;
&lt;h3 id="example-repository"&gt;Example repository&lt;/h3&gt;
&lt;p&gt;Check out the full working examples in the &lt;a href="https://github.com/binokochumolvarghese/react-snippets/tree/main/2024/usecallback-app"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://react.dev/reference/react/useCallback"&gt;useCallback&lt;/a&gt;&lt;/p&gt;</description></item><item><title>React Notebook</title><link>https://www.binovarghese.com/blog/notebooks/react-notebok/</link><pubDate>Sun, 02 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/notebooks/react-notebok/</guid><description>&lt;p&gt;I&amp;rsquo;m creating an online handbook about React that will cover all the basic topics. Unlike a physical handbook, this online book will evolve over time as I continue to learn and grow. I’ll keep updating the topics whenever I discover something new.&lt;/p&gt;
&lt;p&gt;Please note that these essays and notes are not entirely my original work. I’ve compiled them from various sources, including books, blogs, videos, and even ChatGPT. I’ve credited the original authors at the bottom of each post. My goal is to create a personal reference notebook that I can use to revisit concepts and to make this resource publicly available for others to benefit from as well.&lt;/p&gt;
&lt;h4 id="what-is-react"&gt;What is React&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2023/07/what-is-react/"&gt;What is React?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;What is React DOM?&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2025/06/react-and-react-dom/"&gt;Difference between React and React DOM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;How React works?&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2022/07/react-reconciliation/"&gt;What is React Reconciliation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rules of React
&lt;ul&gt;
&lt;li&gt;Components and Hooks must be pure.&lt;/li&gt;
&lt;li&gt;React calls Components and Hooks.&lt;/li&gt;
&lt;li&gt;Rules of Hooks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="cli-tools"&gt;CLI Tools&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2024/02/create-react-app-with-vite/"&gt;Create a project with Vite.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a project with Create React App&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="components"&gt;Components&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2023/01/react-components/"&gt;React components&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Class components&lt;/li&gt;
&lt;li&gt;Functional components&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2023/02/uncontrolled-and-controlled-components/"&gt;Controlled and uncontrolled components&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2023/02/understanding-jsx/"&gt;JSX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;State: A Component&amp;rsquo;s Memory
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2024/05/different-react-states/"&gt;Types of states&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2023/02/lifting-state-up/"&gt;Lifting state up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Props&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2023/02/conditional-rendering/"&gt;Conditional rendering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Composition&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="built-in-react-components"&gt;Built-in React Components&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/notes/2022/04/fragments/"&gt;Fragment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Profiler&lt;/li&gt;
&lt;li&gt;StrictMode&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/12/react-suspense/"&gt;Suspense&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="rendering"&gt;Rendering&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Components life cycle&lt;/li&gt;
&lt;li&gt;List and keys&lt;/li&gt;
&lt;li&gt;Render props&lt;/li&gt;
&lt;li&gt;Refs&lt;/li&gt;
&lt;li&gt;Events&lt;/li&gt;
&lt;li&gt;High Order Components&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="hooks"&gt;Hooks&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Hooks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/06/usecallback/"&gt;useCallback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/03/react-usecontext/"&gt;useContext&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;useDebugValue&lt;/li&gt;
&lt;li&gt;useDeferredValue&lt;/li&gt;
&lt;li&gt;useEffect&lt;/li&gt;
&lt;li&gt;useId&lt;/li&gt;
&lt;li&gt;useImperativeHandle&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/06/useMemo/"&gt;useMemo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;useReducer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/10/react-useref/"&gt;useRef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;useState&lt;/li&gt;
&lt;li&gt;useSyncExternalStore&lt;/li&gt;
&lt;li&gt;useTransition&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="custom-hooks"&gt;Custom Hooks&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/05/react-custom-hooks/"&gt;React custom hooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="deployment"&gt;Deployment&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/05/deploy-react-app-in-firebase/"&gt;How to deploy React app in Firebase?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="tiny-react-apps"&gt;Tiny React Apps&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2024/08/tiny-react-apps-2024/"&gt;Tiny apps built in React&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Understanding useMemo</title><link>https://www.binovarghese.com/blog/2024/06/usememo/</link><pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/06/usememo/</guid><description>&lt;p&gt;React ensures your user interface stays in sync with the application state by using a technique called re-rendering. During re-renders, React compares the Virtual DOMs and updates the necessary parts of the UI. This process is known as &lt;a href="https://www.binovarghese.com/notes/2022/07/react-reconciliation/"&gt;React Reconciliation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Although React optimizes re-rendering for speed, some tasks can slow it down, leading to performance issues. To address this, React introduced the &lt;code&gt;useMemo&lt;/code&gt; hook.&lt;/p&gt;
&lt;h3 id="what-is-usememo"&gt;What is useMemo?&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;useMemo&lt;/code&gt; is a React Hook that caches the result of a calculation between re-renders.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cachedValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useMemo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;calculateValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;dependencies&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;useMemo&lt;/code&gt; memorizes values between re-renders, recalculating only when dependencies change. This avoids expensive calculations on every render. To the &lt;code&gt;useMemo&lt;/code&gt; you can pass a function and an array of dependencies and it will only recompute the memoized value when one of the dependencies has changed. This avoids expensive calculations on every render and can improve performances.&lt;/p&gt;
&lt;h4 id="parameters"&gt;Parameters&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;calculateValue&lt;/code&gt;&lt;/strong&gt;: A pure function that takes no arguments and returns a value to be cached. React calls this function during the initial render and will return the same result on re-renders unless the dependencies change. If dependencies change, React will call &lt;code&gt;calculateValue&lt;/code&gt; again and return its result.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;dependencies&lt;/code&gt;&lt;/strong&gt;: An array of reactive values referenced in &lt;code&gt;calculateValue&lt;/code&gt;. These include props, state, and variables or functions declared directly in the component body. React recalculates the value if any dependency changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Remember, don’t do anything there that you wouldn’t normally do while rendering. For example, side effects belong in useEffect, not useMemo.&lt;/p&gt;
&lt;h3 id="usage"&gt;Usage&lt;/h3&gt;
&lt;p&gt;Below are the use cases of &lt;code&gt;useMemo&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skipping expensive calculations.&lt;/li&gt;
&lt;li&gt;Skipping re-rendering of components.&lt;/li&gt;
&lt;li&gt;Memozing a dependency of another Hook and function.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example"&gt;Example:&lt;/h3&gt;
&lt;p&gt;To understand the concept better, let&amp;rsquo;s dive into the example of skipping the expensive calculation using &lt;code&gt;useMemo&lt;/code&gt;. In the given code, a slow function named &lt;code&gt;slowFunctionNumber&lt;/code&gt; is executed every time the component initializes or the input changes.&lt;/p&gt;
&lt;p&gt;However, it also runs whenever the theme button is clicked, despite the theme button having no dependency on the number function. This unnecessary execution can reduce the application&amp;rsquo;s performance.&lt;/p&gt;
&lt;h4 id="example-without-usememo"&gt;Example without useMemo&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Simulating a slow calculation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;slowFunctionNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;slowFunctionNumber called.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NonMemoPage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setNumber&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setDarkTheme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onNumberChangeHandler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onThemeChangeHandler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setDarkTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prevDark&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;prevDark&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// this function will makes the code slower.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;doubleNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;slowFunctionNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;styleClass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;backgroundColor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;dark&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;white&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;dark&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;minHeight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;100px&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;number&amp;#34;&lt;/span&gt; &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onNumberChangeHandler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/input&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onThemeChangeHandler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Change&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styleClass&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;doubleNumber&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;NonMemoPage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the above example, &lt;code&gt;slowFunctionNumber&lt;/code&gt; artificially slows down the process by running a loop. In real scenarios, complex calculations might be involved, leading to significant performance issues.&lt;/p&gt;
&lt;h4 id="optimizing-performance-with-usememo"&gt;Optimizing performance with useMemo&lt;/h4&gt;
&lt;p&gt;To prevent &lt;code&gt;slowFunctionNumber&lt;/code&gt; from running unnecessarily, you can use the &lt;code&gt;useMemo&lt;/code&gt; hook, as demonstrated below. With &lt;code&gt;useMemo&lt;/code&gt;, you can see that &lt;code&gt;slowFunctionNumber&lt;/code&gt; is not executed when the theme change button is clicked. This happens because React memoizes the result and avoids re-rendering when there are no changes in the dependencies.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;useMemo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Simulating a slow calculation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;slowFunctionNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;slowFunctionNumber called.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MemoPage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setNumber&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setDarkTheme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onNumberChangeHandler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onThemeChangeHandler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setDarkTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prevDark&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;prevDark&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// useMemo will remember the function value if the dependencies is not changed.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;doubleNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useMemo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;slowFunctionNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;styleClass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;backgroundColor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;dark&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;white&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;dark&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;minHeight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;100px&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;number&amp;#34;&lt;/span&gt; &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onNumberChangeHandler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/input&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onThemeChangeHandler&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Change&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styleClass&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;doubleNumber&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;MemoPage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="how-it-works"&gt;How it works&lt;/h4&gt;
&lt;p&gt;In this above code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;useMemo&lt;/code&gt; is used to memoize the result of &lt;code&gt;slowFunctionNumber&lt;/code&gt;, ensuring it only re-runs when number changes.&lt;/li&gt;
&lt;li&gt;The theme change button now only affects the theme without causing the slow function to re-run, improving overall performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;useMemo&lt;/code&gt; is a React hook thats helps optimize performance by memozing the result of functions and ensuring its only re-renders when one of the dependencies are changed.&lt;/p&gt;
&lt;h3 id="example-repository"&gt;Example repository&lt;/h3&gt;
&lt;p&gt;Check out the full working examples in the &lt;a href="https://github.com/binokochumolvarghese/react-snippets/tree/main/2024/usememo-app"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://react.dev/reference/react/useMemo"&gt;useMemo&lt;/a&gt;, &lt;a href="https://blog.webdevsimplified.com/2020-05/memoization-in-react/"&gt;Web Dev Simplified&lt;/a&gt;, &lt;a href="https://www.joshwcomeau.com/react/usememo-and-usecallback/"&gt;Josh W Comeau&lt;/a&gt;, &lt;a href="https://www.freecodecamp.org/news/how-to-work-with-usememo-in-react/"&gt;freecodecamp&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Notes about Redux</title><link>https://www.binovarghese.com/blog/2024/05/how-redux-is-working/</link><pubDate>Mon, 20 May 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/05/how-redux-is-working/</guid><description>&lt;p&gt;Redux is a JavaScript library that can be used with various JavaScript frameworks, including React, Angular, Vue, and Vanilla JS. It serves as a state management tool for handling cross-component or app-wide state.&lt;/p&gt;
&lt;p&gt;In simpler terms, Redux functions as a centralized container for storing the state (data that, when modified, impacts the UI) of your JavaScript application. This state is then accessible across all your components.&lt;/p&gt;
&lt;h3 id="why-use-redux"&gt;Why Use Redux?&lt;/h3&gt;
&lt;p&gt;While React Context can handle &lt;a href="https://www.binovarghese.com/notes/2024/05/different-react-states/"&gt;cross-component or app-wide state&lt;/a&gt; (as discussed in &lt;a href="https://www.binovarghese.com/blog/2024/03/react-usecontext/"&gt;React useContext&lt;/a&gt;), there are drawbacks to consider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Complex Setup and Management:&lt;/strong&gt; In complex applications, using Context can lead to deeply nested or overly complex provider components.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance:&lt;/strong&gt; While React Context is suitable for low-frequency updates, such as user data or themes, it may not be optimal for high-frequency state changes in applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By opting for Redux, you gain a structured approach to managing your application&amp;rsquo;s state, particularly when dealing with complex or frequently changing data across components.&lt;/p&gt;
&lt;h3 id="installing-redux"&gt;Installing Redux&lt;/h3&gt;
&lt;p&gt;Below command will install the Redux in your application.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="nx"&gt;redux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="how-does-redux-work"&gt;How does Redux work?&lt;/h3&gt;
&lt;p&gt;The core concepts of Redux are Store, Actions, Reducers, and Subscriptions.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2024/redux-structure.jpg"
 alt="React Redux Diagram"&gt;&lt;figcaption&gt;
 &lt;p&gt;React Redux Diagram&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Let&amp;rsquo;s check the core concepts individually.&lt;/p&gt;
&lt;h4 id="store"&gt;Store&lt;/h4&gt;
&lt;p&gt;Store is an immutable object which holds the entire state of your application. It is the single source for state and created by using &lt;code&gt;createStore&lt;/code&gt; method from Redux.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Create Redux store
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;redux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createStore&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counterReducer&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="actions"&gt;Actions&lt;/h4&gt;
&lt;p&gt;Actions are payloads of information that describes an events, user interactions, API calls, or form submissions. They are plain JavaScript objects typically comprising a &lt;code&gt;type&lt;/code&gt; property indicating the action to perform and an optional &lt;code&gt;payload&lt;/code&gt; property containing data to change the application&amp;rsquo;s state.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Action creators&lt;/strong&gt; are functions responsible for creating and returning these action objects. When an action needs to be executed, the &lt;code&gt;dispatch()&lt;/code&gt; method is used to send the action to the Redux store. This method triggers the reducer functions, which update the state based on the action type and payload, leading to a predictable and centralized state management approach.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Actions
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dispatch&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;INCREMENT&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="reducers"&gt;Reducers&lt;/h4&gt;
&lt;p&gt;In Redux, reducers are pure functions that take the current state of an application and an action as arguments, and return a new state. They define how the application&amp;rsquo;s state changes in response to actions sent to the store.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How Reducers work&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Initialization Process:&lt;/strong&gt; When the application starts, the Redux store invokes the reducer function with an initial undefined state and an action of { type: &amp;lsquo;@@redux/INIT&amp;rsquo; }. The reducer then returns the initial state to set up the store.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Handling Dispatched Actions:&lt;/strong&gt; When an action is dispatched using the dispatch method, the Redux store calls the reducer function with the current state and the dispatched action as arguments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Action Type Verification:&lt;/strong&gt; Inside the reducer, the action type is checked to determine how to modify the current state. If the action type matches one of the defined cases in the reducer (like &amp;lsquo;INCREMENT&amp;rsquo; or &amp;lsquo;DECREMENT&amp;rsquo;), the reducer updates the state accordingly. If no action type matches, the reducer returns the default state.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Define initial state
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Reducer function
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;counterReducer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;INCREMENT&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;DECREMENT&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="subscriptions"&gt;Subscriptions&lt;/h4&gt;
&lt;p&gt;Subscriptions in Redux serve as listener methods within the store, providing a mechanism for components to track changes in the store&amp;rsquo;s state. When a component subscribes to the Redux store, it becomes capable of receiving notifications whenever the store&amp;rsquo;s state undergoes a change, allowing the component to update its UI accordingly.&lt;/p&gt;
&lt;p&gt;In the below you can see the component is subscribed to the store using the method &lt;code&gt;subscribe&lt;/code&gt; and it can read the current state with the store method &lt;code&gt;getState&lt;/code&gt;. Also subscibe will returns a function that unsubscribe the component from further state change notifications. It&amp;rsquo;s crucial to unsubscribe components when they are no longer needed, such as when they are unmounted, to prevent memory leaks and unnecessary updates.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;counterSubscriber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;latestState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getState&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;latestState&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Subscribe a component to the Redux store
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;unsubscribe&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;subscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counterSubscriber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//..
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;unsubscribe&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="full-example"&gt;Full Example&lt;/h3&gt;
&lt;p&gt;Here&amp;rsquo;s the full example illustrating the above concepts:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;redux&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;redux&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Define initial state and reducer function
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Reducer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;counterReducer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;INCREMENT&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;DECREMENT&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Create a Redux store using the reducer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;redux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createStore&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counterReducer&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Function will be called whenever the Redux store&amp;#39;s state changes.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;counterSubscriber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;latestState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getState&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;latestState&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Subscribe a component to the Redux store
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;unsubscribe&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;subscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;counterSubscriber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Actions
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dispatch&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;INCREMENT&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dispatch&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;DECREMENT&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Unsubscribe the component when it&amp;#39;s no longer needed
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;unsubscribe&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Store:&lt;/strong&gt; Handles the applications state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Actions:&lt;/strong&gt; Plain JavaScript objects consisting a &lt;code&gt;type&lt;/code&gt; property indicating the action to perform and an optional payload property containing data to change the application’s state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reducers:&lt;/strong&gt; Pure funcitons that take the current state of an application and an action as arguments, and return a new state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subscriptions:&lt;/strong&gt; Listener methods within the store, providing a mechanism for components to track changes in the store’s state.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By using Redux you can manage state in complex applications in a structured and predictable way. Its core components (store, actions, reducers, and subscriptions) work together to ensure that state management is centralized, predictable state changes, and debugging is straight forward. This makes Redux particularly beneficial for complex applications with frequent state changes and a need for clear state management practices.&lt;/p&gt;</description></item><item><title>Types of states</title><link>https://www.binovarghese.com/notes/2024/05/different-react-states/</link><pubDate>Sun, 19 May 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/05/different-react-states/</guid><description>&lt;p&gt;Below are the different types of states that can exist within an application. There are three main types:&lt;/p&gt;
&lt;h4 id="1-local-state"&gt;1. Local State&lt;/h4&gt;
&lt;p&gt;Local state pertains to a single component. An example of this would be listening to user input in a field or toggling a &amp;ldquo;show more details&amp;rdquo; button. Typically, local state is managed within the component using &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useReducer&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id="2-cross-component-state"&gt;2. Cross-Component State&lt;/h4&gt;
&lt;p&gt;Cross-component state impacts multiple components. For instance, managing the open/closed state of a modal overlay. While this can also be managed using &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useReducer&lt;/code&gt;, it often involves passing state between components via props drilling.&lt;/p&gt;
&lt;h4 id="3-app-wide-state"&gt;3. App-Wide State&lt;/h4&gt;
&lt;p&gt;App-wide state influences the entire application, such as themes or user authentication status. Similar to cross-component state, this can be managed using &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useReducer&lt;/code&gt;, albeit with the assistance of props drilling.&lt;/p&gt;</description></item><item><title>How to deploy React app in Firebase</title><link>https://www.binovarghese.com/blog/2024/05/deploy-react-app-in-firebase/</link><pubDate>Mon, 06 May 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/05/deploy-react-app-in-firebase/</guid><description>&lt;p&gt;A React Single Page Application (SPA) is essentially a static website and can be easily hosted using platforms like Firebase or Netlify.&lt;/p&gt;
&lt;p&gt;Here I am explaining the steps for hosting React app on Firebase:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Login to Firebase Account:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log in to your Google Firebase account.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a Project:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a new project and choose a name for it. Proceed to the next step by clicking the continue button.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure Analytics (Optional):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the Analytics page, you can choose to disable Google Analytics if you prefer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Project Creation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click the &amp;ldquo;Create Project&amp;rdquo; button. After a few seconds, you will be redirected to the project dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Setup Hosting:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the sidebar, navigate to the &amp;ldquo;Hosting&amp;rdquo; section under the Build menu.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Get Started&amp;rdquo; button to begin the hosting setup process.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install Firebase CLI:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install Firebase in your project by running the command &lt;code&gt;npm install -g firebase-tools&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Firebase Login and Initialization:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log in to your Google account with the command &lt;code&gt;firebase login&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Initialize Firebase in your app using &lt;code&gt;firebase init&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Select the option &amp;ldquo;Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys&amp;rdquo; by pressing the spacebar and then enter.&lt;/li&gt;
&lt;li&gt;Choose &amp;ldquo;Use an existing project&amp;rdquo; and select the project you created earlier.&lt;/li&gt;
&lt;li&gt;Set your public directory as &lt;code&gt;dist&lt;/code&gt; if you are using Vite.&lt;/li&gt;
&lt;li&gt;Configure your app as a single-page app by selecting &amp;ldquo;Yes&amp;rdquo; and &amp;ldquo;No&amp;rdquo; for other options.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deploy Your App:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Once configuration is complete, deploy your app with &lt;code&gt;firebase deploy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Firebase will deploy the app and provide you with a link to access it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By following these steps, you can easily host your React SPA on Firebase and make it accessible to users.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://innovance.com.tr/how-to-connect-firebase-realtime-database-to-a-react-app/#:~:text=Create%20a%20new%20folder%20named,utility%20functions%20such%20as%20'firebase."&gt;Innovance&lt;/a&gt;
&lt;a href="https://blog.logrocket.com/build-crud-application-react-firebase-web-sdk-v9/"&gt;LOgRocket&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Handling errors in LISTAGG</title><link>https://www.binovarghese.com/notes/2024/05/overflow-error-in-plsql-listagg/</link><pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/05/overflow-error-in-plsql-listagg/</guid><description>&lt;p&gt;The LISTAGG analytic function, introduced in Oracle 11g Release 2, greatly simplifies string aggregations within SQL queries.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LISTAGG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColumnName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WITHIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seq&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ColumnName&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;However, if the output of the above query exceeds 4000 characters, it triggers an error, specifically ORA-01489, indicating that the result of string concatenation is too long.&lt;/p&gt;
&lt;p&gt;To address this limitation, Oracle Database Release 2 (12.2) enhanced LISTAGG with the ability to handle overflow errors gracefully, as demonstrated below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LISTAGG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColumnName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;OVERFLOW&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TRUNCATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WITHIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;seq&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ColumnName&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this updated syntax, the output is restricted to 4000 characters, preventing the ORA-01489 error from being raised.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;ON OVERFLOW&lt;/code&gt; clause offers several options to manage overflow situations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ON OVERFLOW ERROR&lt;/code&gt;: This is the default behavior, triggering an error if the result overflows.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ON OVERFLOW TRUNCATE 'StringYouLike'&lt;/code&gt;: Appends &amp;lsquo;StringYouLike(Count)&amp;rsquo; at the end of the truncated string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ON OVERFLOW TRUNCATE ''&lt;/code&gt;: Displays the first 4000 characters without any additional terminating string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ON OVERFLOW TRUNCATE WITH COUNT&lt;/code&gt;: Appends the total character count at the end, for example, &amp;lsquo;&amp;hellip;(5512)&amp;rsquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/13795220/listagg-function-result-of-string-concatenation-is-too-long"&gt;Stack Overflow&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>My magic</title><link>https://www.binovarghese.com/drawer/2024/04/my-magic/</link><pubDate>Wed, 10 Apr 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/04/my-magic/</guid><description>&lt;p&gt;I&amp;rsquo;ve always believed in magic,&lt;br&gt;
and I felt it the first time I saw you.&lt;/p&gt;</description></item><item><title>Smart words from smart people</title><link>https://www.binovarghese.com/desk/2024/04/smart-words-from-smart-people/</link><pubDate>Thu, 04 Apr 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/04/smart-words-from-smart-people/</guid><description>&lt;p&gt;A few smart things I&amp;rsquo;ve read lately and stuck in my head:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;What you think is true is heavily based on what you’ve experienced, and you remember the parts of your experiences that make good stories, confirm stereotypes, and connect dots between other experiences.&amp;rdquo;&lt;br&gt;
― Morgan Housel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“A great way to understand yourself is to seriously reflect on everything you find irritating in others.”&lt;br&gt;
― Kevin Kelly&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“The only reason the world seemed like a better place during your childhood is because you were a child.”&lt;br&gt;
― Jon Stewart&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Life is easier when you know what you want—but most people don’t take the time to figure out what they want.&amp;quot;&lt;br&gt;
― James Clear&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;Stress primarily comes from not taking action about something which you actually have control over.&amp;rdquo;&lt;br&gt;
― Jeff Bezos&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Happiness is a choice and a skill and you can dedicate yourself to learning that skill and making that choice.”&lt;br&gt;
― Naval Ravikant&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;The way to love anything is to realize that it might be lost.&amp;rdquo;&lt;br&gt;
― G. K. Chesterton&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“The ability to observe without evaluating is the highest form of intelligence.”&lt;br&gt;
― J. Krishnamurti&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;You can&amp;rsquo;t use up creativity, the more you use the more you have.&amp;rdquo;&lt;br&gt;
― Maya Angelou&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“You could leave life right now. Let that determine what you do and say and think.”&lt;br&gt;
― Marcus Aurelius&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Almost everything&amp;hellip;all external expectations&amp;hellip;all pride&amp;hellip;all fear of embarrassment or failure&amp;hellip;these things just fall away in the face of death&amp;hellip;.leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking that you have something to lose. You are already naked&amp;hellip;there is no reason not to follow your heart.”&lt;br&gt;
― Steve Jobs&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you for reading. Let me know your favourite ones.&lt;/p&gt;</description></item><item><title>Understanding React custom Hooks</title><link>https://www.binovarghese.com/blog/2024/05/react-custom-hooks/</link><pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/05/react-custom-hooks/</guid><description>&lt;p&gt;In React there are several built-in Hooks like &lt;code&gt;useState&lt;/code&gt;, &lt;code&gt;useEffect&lt;/code&gt;, and &lt;code&gt;useContext&lt;/code&gt;. Sometime you need to create your own Hooks for specific purpose like checking user session, fetching data, or showing notifications. For these type of application specified purpose you can create custom Hooks in React. So basically, Hooks are the functions using in the React to do a particular task.&lt;/p&gt;
&lt;h3 id="creating-a-custom-hook"&gt;Creating a Custom Hook&lt;/h3&gt;
&lt;p&gt;As mentioned earlier custom hook is simple JavaScript function whose name start with &lt;code&gt;use&lt;/code&gt; and can call other hooks. In the below example you can see a custom Hook &lt;code&gt;useFetch&lt;/code&gt; used to call an API to populate data from the backend.&lt;/p&gt;
&lt;h5 id="usefetchjs"&gt;useFetch.js&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// custom hook
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;useFetch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sendRequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;async&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;apiResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;method&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;method&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;GET&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;requestConfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;apiResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sb"&gt;`An error has occured: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;apiResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;photos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;apiResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;photos&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;sendRequest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;useFetch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="using-a-custom-hook"&gt;Using a Custom Hook&lt;/h3&gt;
&lt;p&gt;Here we are using the above custom hook in the below component to fetch the data.&lt;/p&gt;
&lt;h5 id="photoshomejs"&gt;PhotosHome.js&lt;/h5&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;react&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;apiKey&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;../configs/config.env&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;useFetch&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;../hooks/useFetch&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Custom hook for making HTTP requests
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;SearchPhotos&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./SearchPhotos&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;PhotosHome&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;photos&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setPhotos&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;([]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setError&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Destructure the sendRequest function from the useFetch custom hook
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;sendRequest&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useFetch&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Function to load photos initially when the component mounts
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;fetchPhotos&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Fetch photos using the API
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;sendRequest&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sb"&gt;`/photos/?client_id=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;apiKey&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt; &lt;span class="c1"&gt;// URL endpoint with the API key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setPhotos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// useEffect hook to fetch photos when the component mounts
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;fetchPhotos&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[]);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Function to search photos based on a query
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;searchPhotos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;searchQuery&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Fetch search results using the API
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;sendRequest&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sb"&gt;`/search/photos/?client_id=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;apiKey&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;&amp;amp;query=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;searchQuery&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setPhotos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;SearchPhotos&lt;/span&gt; &lt;span class="nx"&gt;searchPhotos&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;searchPhotos&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;br&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;photos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;photo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;photo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;photo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;urls&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;small&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;photo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;description&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Photo&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="things-to-remember"&gt;Things to remember&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Custom hooks let share you logic between components.&lt;/li&gt;
&lt;li&gt;Custom hook only share stateful logic, not the state itself.&lt;/li&gt;
&lt;li&gt;Custom hook must be named starting with &lt;code&gt;use&lt;/code&gt; and followed by a capital letter.&lt;/li&gt;
&lt;li&gt;Custom hooks should be pure functions.&lt;/li&gt;
&lt;li&gt;All custom hooks will re-render when your component re-renders.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="benefits-of-custom-hooks"&gt;Benefits of Custom Hooks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reusability&lt;/strong&gt;&lt;br&gt;
By using a custom Hook in the component you can avoid the repetitive logic. As in the example shown above, you can use a custom hook to fetch data from backend, and use the same in various places.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Encapsulation&lt;/strong&gt;&lt;br&gt;
You can hide the complex implementation logics in custom hooks and provide a simple API for consuming by the components.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clean Code&lt;/strong&gt;&lt;br&gt;
By abstracting complex and repetitive logics to custom hooks makes your code cleaner and more readable. This seperation allows you to focus on the functionality and make your components more focused on rendering the UI.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;Custom hook is a JavaScript function and It must be named starting with &lt;code&gt;use&lt;/code&gt; followed by a capital letter. They are powerful way to encapsulate and reuse logic while giving the benefits sunc as clean code, more readability and flexibility.&lt;/p&gt;</description></item><item><title>Hope</title><link>https://www.binovarghese.com/drawer/2024/01/hope/</link><pubDate>Thu, 21 Mar 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/01/hope/</guid><description>&lt;p&gt;Baby, I am in love with the&lt;br&gt;
sparks inside you.&lt;br&gt;
Can I call it hope?&lt;/p&gt;
&lt;p&gt;Maybe it’s you, or myself.&lt;br&gt;
I’m not sure&lt;br&gt;
maybe it’s both of us.&lt;/p&gt;
&lt;p&gt;But I know it’s the&lt;br&gt;
angel we dreamed of&lt;br&gt;
for centuries.&lt;/p&gt;
&lt;p&gt;Can we call it hope?&lt;/p&gt;</description></item><item><title>Understanding React Context</title><link>https://www.binovarghese.com/blog/2024/03/react-usecontext/</link><pubDate>Wed, 06 Mar 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/03/react-usecontext/</guid><description>&lt;p&gt;Traditionally, you pass information from a parent component to child component via props in React. But data passing through this props drilling can make your code verbose and inconvenient if you have more components in the middle, or if many components in your app need the same information.&lt;/p&gt;
&lt;p&gt;For solving this, in V.16.3 React introduced Context and it helps you to share data to any component with out passing it explicitly through props. This context can be used to manage the global data such as user info, theme preferences, settings, and much more.&lt;/p&gt;
&lt;p&gt;In this post, you&amp;rsquo;ll learn how to use the context in React.&lt;/p&gt;
&lt;h3 id="creating-the-context"&gt;Creating the Context&lt;/h3&gt;
&lt;p&gt;According to the React docs, React Context provides a way to pass data through the component tree from parent to child components, without having to pass props down manually at each level.&lt;/p&gt;
&lt;p&gt;To create a Context, you must import &lt;code&gt;createContext&lt;/code&gt; function from React and intialize it with default value, if nothing to initialize you can specify &lt;code&gt;null&lt;/code&gt;. The default value will use if there is no matching context provider in the tree above the component that reads context. The default value is static and never changes with time.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// ThemeContext.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ThemeContext&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;createContext&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;createContext&lt;/code&gt; function will return a context object and it does not hold any information. It is a representation of context which other components read or provide. Typically, &lt;code&gt;someContext.Provider&lt;/code&gt; in components will provide the context values and you can access these values by using &lt;code&gt;useContext(someContext)&lt;/code&gt; in other components.&lt;/p&gt;
&lt;h3 id="providing-the-context"&gt;Providing the Context&lt;/h3&gt;
&lt;p&gt;By using &lt;code&gt;someContext.Provider&lt;/code&gt; you can wrap the components and pass the context value to the components inside. By passing context value through this &lt;code&gt;Provider&lt;/code&gt;, all the components inside the &lt;code&gt;Provider&lt;/code&gt; can access the value, no matter how deep the components are. You can pass values with any type through the provider as shown below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// ThemeContextProvider.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ThemeContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./ThemeContext&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;ThemeContextProvider&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cnxtValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;handleToggleTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ThemeContext&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Provider&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cnxtValue&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/ThemeContext.Provider&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="consuming-the-context"&gt;Consuming the Context&lt;/h3&gt;
&lt;p&gt;Consuming the context in the component can be acheived with React hook &lt;code&gt;useContext&lt;/code&gt;. Through the &lt;code&gt;useContext&lt;/code&gt; you can read and subscribe to context from your component.&lt;/p&gt;
&lt;p&gt;You can call &lt;code&gt;useContext&lt;/code&gt; in the top your component and pass the context that you have created previously with &lt;code&gt;createContext&lt;/code&gt;. It will provide the value passed through by &lt;code&gt;someContext.Provider&lt;/code&gt;. If there is no values available, it will return the &lt;code&gt;defaultValue&lt;/code&gt; intialized by the &lt;code&gt;createContext&lt;/code&gt;. React will automaticlaly re-render all the components that use a particular context if any value is changed in the context.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Page.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useContext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ThemeContext&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="where-to-use-context"&gt;Where to use Context&lt;/h3&gt;
&lt;p&gt;The main idea of using Context is to access global data and re-render the components when the global data is changed. It can help you to avoid props drilling and make your code more effective.&lt;/p&gt;
&lt;p&gt;Below are the some of the usecases for React Cotext:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;global state&lt;/li&gt;
&lt;li&gt;application configuration&lt;/li&gt;
&lt;li&gt;theme settings&lt;/li&gt;
&lt;li&gt;user information&lt;/li&gt;
&lt;li&gt;authentication details&lt;/li&gt;
&lt;li&gt;routing&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="how-to-use-context"&gt;How to use Context&lt;/h3&gt;
&lt;p&gt;Below you can find a simple application have a theme switching button to show how we can use React Context. Here we are setting the default values with &lt;code&gt;createContext&lt;/code&gt;, passing the theme data to components by using &lt;code&gt;Provider&lt;/code&gt;, and finally accessing the data in the components by using &lt;code&gt;useContext&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ThemeContext.js&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ThemeContext&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;createContext&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;ThemeContextProvider.js&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ThemeContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./ThemeContext&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;ThemeContextProvider&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;children&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;handleToggleTheme&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dark&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;light&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cnxtValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;handleToggleTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ThemeContext&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Provider&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cnxtValue&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/ThemeContext.Provider&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Page.js&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;react&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ThemeContext&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./ThemeContext.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useContext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ThemeContext&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;app&amp;#34;&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Context&lt;/span&gt; &lt;span class="nx"&gt;Demo&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/h1&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;toggleTheme&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Toggle&lt;/span&gt; &lt;span class="nx"&gt;Theme&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/button&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/header&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Context&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/h2&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;This&lt;/span&gt; &lt;span class="nx"&gt;example&lt;/span&gt; &lt;span class="nx"&gt;will&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Context&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/article&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;App.js&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ThemeContextProvider&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./components/theme/ThemeContextProvider&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./components/theme/Page.jsx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ThemeContextProvider&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Page&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/ThemeContextProvider&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the above example you can see, when we are clicking the theme toggle button the state is changing and page component is re-rendering immediately to switch the theme.&lt;/p&gt;
&lt;p&gt;The React context is stateless by default and it doesn&amp;rsquo;t provide any dedicated method to update the state. For updating the state you can use hooks like &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useReducer&lt;/code&gt;. In the above app, the components use &lt;code&gt;useState&lt;/code&gt; to switch the theme between light and dark.&lt;/p&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;By using React Context you can avoid props drilling and manage global state&lt;/li&gt;
&lt;li&gt;Using the context requires three steps: Creating, providing, and cosuming context.&lt;/li&gt;
&lt;li&gt;You can handle the state with hooks like &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useReducer&lt;/code&gt; in context.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example-repository"&gt;Example Repository&lt;/h3&gt;
&lt;p&gt;Check out the full working examples in the &lt;a href="https://github.com/binokochumolvarghese/react-snippets/tree/main/2024/apr-theme-context-app"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://react.dev/learn/passing-data-deeply-with-context"&gt;React Doc&lt;/a&gt;,
&lt;a href="https://react.dev/reference/react/useContext"&gt;React Doc&lt;/a&gt;,
&lt;a href="https://www.telerik.com/blogs/react-basics-how-when-use-react-context"&gt;Telerik&lt;/a&gt;,
&lt;a href="https://legacy.reactjs.org/docs/context.html"&gt;React legacy&lt;/a&gt;,
&lt;a href="https://blog.logrocket.com/react-context-api-deep-dive-examples/"&gt;Log Rocket&lt;/a&gt;,
&lt;a href="https://dmitripavlutin.com/react-context-and-usecontext/"&gt;Dmitri Pavlutin&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Session and token authentication</title><link>https://www.binovarghese.com/notes/2024/03/authentication-tokens-and-server-side-sessions/</link><pubDate>Sun, 03 Mar 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/03/authentication-tokens-and-server-side-sessions/</guid><description>&lt;p&gt;Session and token authentication methods are used by the server to verify the client request is authenticated or not.&lt;/p&gt;
&lt;h4 id="session-authentication"&gt;Session Authentication&lt;/h4&gt;
&lt;p&gt;Session-based authentication is an example of &lt;a href="https://www.binovarghese.com/notes/2022/01/stateless-and-stateful/"&gt;stateful authentication&lt;/a&gt;, which involves storing user authentication data on the server. With this method, when a user logs into a website, the server creates a small file that stores user information such as a unique session ID, login time, expiration time, and other relevant data. This file is stored in the database or in-memory cache. This session ID is then sent back to the client and stored in the client&amp;rsquo;s browser as a cookie. For subsequent requests, this cookie is passed back to the server. This allows the server to verify the session ID and provide a response based on the current state.&lt;/p&gt;
&lt;p&gt;This method is easy to use, as cookies are natively supported by browsers, so no additional JavaScript is needed. But when the application grows decoupling the frontend from the backend becomes essential. Session-based authentication can be limiting in this regard.&lt;/p&gt;
&lt;h4 id="token-authentication"&gt;Token Authentication&lt;/h4&gt;
&lt;p&gt;Instead of relying on server-side sessions, token-based authentication uses tokens and it is an example of &lt;a href="https://www.binovarghese.com/notes/2022/01/stateless-and-stateful/"&gt;stateless authentication&lt;/a&gt;. When user log in, the server create a token (usually a JSON Web Token, or JWT) using a secret key and sent to the user. For subsequent requests, user will send this token along with request and server will verify if the token is valid or not.&lt;/p&gt;
&lt;p&gt;This method gives more scalability and stateless for the apps, but the server does not authenticate the user, so linking a token to its user can be more difficult. Also in any chance an attacker got acess to the token, they will get access to the server.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://blog.logrocket.com/node-js-server-side-authentication-tokens-vs-jwt/"&gt;LogRocket&lt;/a&gt;, &lt;a href="https://www.authgear.com/post/session-vs-token-authentication"&gt;Authfear&lt;/a&gt;, &lt;a href="https://www.criipto.com/blog/session-token-based-authentication"&gt;criipto&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Canary in software development</title><link>https://www.binovarghese.com/notes/2024/02/what-is-canary-in-software/</link><pubDate>Tue, 27 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/02/what-is-canary-in-software/</guid><description>&lt;p&gt;In software development, a canary release (or canary deployment) refers to the practice of rolling out a new version of software to a small, select group of users before deploying it to the entire user base. The term &amp;ldquo;canary&amp;rdquo; comes from the old practice of using canaries in coal mines to detect dangerous gases; if the canary showed signs of distress, miners knew to evacuate. Similarly, in software, the canary release acts as an early warning system to detect issues with new code before it reaches a wider audience.&lt;/p&gt;
&lt;p&gt;Benefits of Canary Releases:
Reduced Risk: Limits the impact of potential issues by exposing the new version to only a small group first.
Real-World Testing: Provides the opportunity to observe how the new version performs in a live environment.
Faster Rollback: Easier to revert changes if problems are detected, reducing downtime or negative user impact.&lt;/p&gt;</description></item><item><title>Take me home</title><link>https://www.binovarghese.com/drawer/2024/01/country-roads/</link><pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/01/country-roads/</guid><description>&lt;p&gt;Take me home, country roads&lt;br&gt;
the place where we&lt;br&gt;
met in the evenings,&lt;br&gt;
The place where we played&lt;br&gt;
and laughed together.&lt;/p&gt;
&lt;p&gt;The place where our&lt;br&gt;
hearts broke when the&lt;br&gt;
good byes happened.&lt;br&gt;
And there is where our&lt;br&gt;
childhood memories&lt;br&gt;
stay alive.&lt;/p&gt;
&lt;p&gt;I hope we shall&lt;br&gt;
meet there soon.&lt;/p&gt;</description></item><item><title>Set up a React project with Vite along with Tailwind CSS</title><link>https://www.binovarghese.com/notes/2024/02/create-react-app-with-vite/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/02/create-react-app-with-vite/</guid><description>&lt;p&gt;Here is the step by step guide to create a React project with Vite.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run the command &lt;code&gt;npm create vite&lt;/code&gt; in the command prompt.&lt;/li&gt;
&lt;li&gt;Afer the script you will be prompted to enter a project name.&lt;/li&gt;
&lt;li&gt;After entering the project name, Vite will prompt you to select a framework. Select the framework as React.&lt;/li&gt;
&lt;li&gt;After selecting framework, Vite will prompt you to select language type.&lt;/li&gt;
&lt;li&gt;After selecting the language type, Vite will show the message as Scaffolding the project in the location.&lt;/li&gt;
&lt;li&gt;After that you can go to the folder and instruct to install the dependencies with the command &lt;code&gt;npm install&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And here is the step to install Tailwind CSS as a Vite plugin.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Run the command &lt;code&gt;npm install tailwindcss @tailwindcss/vite&lt;/code&gt; to Install &lt;code&gt;tailwindcss&lt;/code&gt; and &lt;code&gt;@tailwindcss/vite&lt;/code&gt; via npm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the &lt;code&gt;@tailwindcss/vite&lt;/code&gt; plugin to your Vite configuration.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;defineConfig&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;vite&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tailwindcss&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;@tailwindcss/vite&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="n"&gt;defineConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tailwindcss&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add an &lt;code&gt;@import &amp;quot;tailwindcss&amp;quot;;&lt;/code&gt; to your CSS file that imports Tailwind CSS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After that you can run the project with command &lt;code&gt;npm run dev&lt;/code&gt; or whatever command is configured in your &lt;code&gt;package.json&lt;/code&gt; file..&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-react-project-with-vite"&gt;DigitalOcean&lt;/a&gt;, &lt;a href="https://tailwindcss.com/docs/installation/using-vite"&gt;TailwindCSS&lt;/a&gt;&lt;/p&gt;</description></item><item><title>What is Skeuomorphism?</title><link>https://www.binovarghese.com/notes/2024/02/what-is-skeuomorphism/</link><pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/02/what-is-skeuomorphism/</guid><description>&lt;p&gt;I noticed every design is incorpating rounded edges in their rectangle shapes (yes, my website cards also). Today I Googled it and after reading some articles, I stumbled upon Skeuomorphism.&lt;/p&gt;
&lt;p&gt;So, here I am noting down what is Skeuomorphism?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Skeuomorphism is a term most often used in graphical user interface design to describe interface objects that mimic their real-world counterparts in how they appear and/or how the user can interact with them. A well-known example is the recycle bin icon used for discarding files. Skeuomorphism makes interface objects familiar to users by using concepts they recognize.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;In UI design, skeuomorphism had its boom with the advent of the first iPhone. Steve Jobs believed that UI elements should resemble real-life objects to increase ease of use. For example, the Notes app looked like a notepad. However, as users became more familiar with the iOS interface, Apple transitioned to flat design with fewer shadows and textures. Flat design stripped back skeuomorphic elements to essentials for faster loading and decluttered touchpoints.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.interaction-design.org/literature/topics/skeuomorphism"&gt;Interaction Design&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Is this matter?</title><link>https://www.binovarghese.com/drawer/2024/02/is-this-matter/</link><pubDate>Mon, 19 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/02/is-this-matter/</guid><description>&lt;p&gt;Always ask yourself: Is this matter?&lt;br&gt;
If it&amp;rsquo;s a No, move on.&lt;br&gt;
If it&amp;rsquo;s an Yes, work on it.&lt;/p&gt;</description></item><item><title>Compounding</title><link>https://www.binovarghese.com/drawer/2024/02/compounding/</link><pubDate>Thu, 15 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/02/compounding/</guid><description>&lt;p&gt;Compounding is the most effective thing you can use in your life.&lt;/p&gt;</description></item><item><title>Human</title><link>https://www.binovarghese.com/drawer/2024/02/not-a-content-creating-machine/</link><pubDate>Wed, 14 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/02/not-a-content-creating-machine/</guid><description>&lt;p&gt;Remember you&amp;rsquo;re a human, not a content creating machine.&lt;/p&gt;</description></item><item><title>Not others</title><link>https://www.binovarghese.com/drawer/2024/02/14feb/</link><pubDate>Wed, 14 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/02/14feb/</guid><description>&lt;p&gt;Impress yourself, not others.&lt;/p&gt;</description></item><item><title>Connecting MySQL from command line</title><link>https://www.binovarghese.com/notes/2024/02/mysql-from-cmd/</link><pubDate>Tue, 13 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/02/mysql-from-cmd/</guid><description>&lt;p&gt;Open the command prompt and type the below to connect the MySQL:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mysql -u username -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After the above command the command line will prompt you to enter the password and after entering the password you can query the database.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/5131931/how-to-connect-to-mysql-from-the-command-line"&gt;Stack Overflow&lt;/a&gt;,
&lt;a href="https://dev.mysql.com/doc/refman/8.0/en/connecting.html"&gt;MySQL Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Non-editionable objects</title><link>https://www.binovarghese.com/notes/2024/02/pl-sql-non-editionable-objects/</link><pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/02/pl-sql-non-editionable-objects/</guid><description>&lt;p&gt;When you are create an object in Oracle Database, default object type will be marked &lt;code&gt;editionable&lt;/code&gt;. From 12c onwards, you can mark the objects as &lt;code&gt;noneditionable&lt;/code&gt; , and same you cannot edit with &lt;code&gt;create or replace&lt;/code&gt; . For altering the same you have to alter the object and change to &lt;code&gt;editionable&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This is applicable to View, Funcitons, Procedure, Trigger, Library, Type.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;replace&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;noneditionable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;procedure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;test_proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;begin&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;editionable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_objects&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;object_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;test_proc &amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;result&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;EDITIONABLE&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;replace&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;procedure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;test_proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;begin&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Editionable version&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;result&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ORA&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;38824&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;OR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;REPLACE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;may&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;change&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EDITIONABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;property&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;an&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;existing&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With below you can alter the procedure.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;alter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;procedure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;test_proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;editionable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;replace&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;procedure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;test_proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;begin&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Editionable version&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;exec&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;test_proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;result&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Editionable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;version&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/adfns/editions.html#GUID-F0D940E0-618D-4656-982E-1C5E49FCCD42"&gt;Oracle Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>നിനക്കൊരർച്ചന</title><link>https://www.binovarghese.com/ml/2024/01/spring/</link><pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2024/01/spring/</guid><description>&lt;p&gt;ആളിറങ്ങിയാരവം നിലച്ചപ്പോൾ&lt;br&gt;
വസന്തത്തിൻ രാവ് കൊഴിഞ്ഞു.&lt;br&gt;
ഇനി ഞാൻ തനിച്ചിവിടെ ഈ&lt;br&gt;
തെരുവിൽ.&lt;/p&gt;
&lt;p&gt;ഗ്രീഷ്മക്കാറ്റിലെന്നപോലെ&lt;br&gt;
നെഞ്ച് നീറുന്നു&lt;br&gt;
ഇടറിയ ചുവടുമായി നഗരത്തിലൂടെ&lt;br&gt;
നടന്ന് നീങ്ങി ഞാൻ.&lt;/p&gt;
&lt;p&gt;പൊടുന്നുടനെ ദൂരയാകാഴ്ച&lt;br&gt;
വർഷകാലത്തിലെന്നപോലെ&lt;br&gt;
ഒരുകുടയിൽ കൈ കോർത്ത്&lt;br&gt;
അവരിരുവരും നടന്ന് നീങ്ങുന്നു.&lt;/p&gt;
&lt;p&gt;ഒരു നിമിഷാർദ്രം കൊണ്ട്&lt;br&gt;
സ്മൃതിപഥത്തിൽ നീയുണർന്നു.&lt;br&gt;
നമുക്കൊരു ആൾരൂപം&lt;br&gt;
നിൻ്റെയുള്ളിലുണ്ടെന്നുള്ള സത്യം&lt;br&gt;
ശിശിരകാലം പോലെയെന്നിൽ&lt;br&gt;
തണ്ണുപ്പ് നിറക്കുന്നു.&lt;/p&gt;
&lt;p&gt;വസന്തത്തിൻ്റെ പകൽ വീണ്ടും&lt;br&gt;
പരക്കുന്നുച്ചുറ്റും. അതിൻ്റെ&lt;br&gt;
പൂക്കൾ കൊണ്ട് ഞാൻ&lt;br&gt;
നിനക്കൊരർച്ചന അർപ്പിക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;വീണ്ടും കാണുമ്പോൾ നമ്മുടെ&lt;br&gt;
പ്രകാശകിരണത്തെ നമ്മുക്കൊരുമിച്ച്&lt;br&gt;
നെറുകയിൽ ചുംബിക്കാം.&lt;/p&gt;
&lt;p&gt;ഇനി വസന്തങ്ങൾ കൊഴിയാതിരിക്കട്ടെ.&lt;/p&gt;</description></item><item><title>മകൾ</title><link>https://www.binovarghese.com/ml-musings/2024/our-baby/</link><pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2024/our-baby/</guid><description>&lt;p&gt;ഒരു നിമിഷാർദ്രം കൊണ്ട്&lt;br&gt;
സ്മൃതിപഥത്തിൽ നീയുണർന്നു.&lt;br&gt;
നമുക്കൊരു ആൾരൂപം&lt;br&gt;
നിൻ്റെയുള്ളിലുണ്ടെന്നുള്ള സത്യം&lt;br&gt;
ശിശിരകാലം പോലെയെന്നിൽ&lt;br&gt;
തണ്ണുപ്പ് നിറക്കുന്നു.&lt;/p&gt;</description></item><item><title>Job commands in Oracle PL/SQL</title><link>https://www.binovarghese.com/blog/2024/02/job-commands-oracle-pl-sql/</link><pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/02/job-commands-oracle-pl-sql/</guid><description>&lt;p&gt;Here I am listing the commands using for creating, running, and fetching the scheduler jobs in Oracle database for easy reference.&lt;/p&gt;
&lt;h3 id="start-stop-and-delete-jobs"&gt;Start, Stop, and Delete jobs&lt;/h3&gt;
&lt;p&gt;Jobs can run and stop manually using &lt;code&gt;RUN_JOB&lt;/code&gt; and &lt;code&gt;STOP_JOB&lt;/code&gt; procedures. The &lt;code&gt;use_current_session&lt;/code&gt; argument of &lt;code&gt;RUN_JOB&lt;/code&gt; determines whether a job runs synchronously or asynchronously.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Run job synchronously.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RUN_JOB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JOB_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;use_current_session&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- Stop jobs.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;STOP_JOB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JOB_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;second_JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;STOP_JOB&lt;/code&gt; can shutdown jobs gracefully, but there are times when graceful shutdown is not possible. In that case you can use &lt;code&gt;FORCE=&amp;gt; TRUE&lt;/code&gt; as below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- to stop jobs forcefully.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stop_job&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JOB_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FORCE&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jobs can delete using &lt;code&gt;DROP_JOB&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- to delete jobs.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DROP_JOB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JOB_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="enable-and-disable-jobs"&gt;Enable and Disable jobs&lt;/h3&gt;
&lt;p&gt;Jobs can be enable using &lt;code&gt;ENABLE&lt;/code&gt; and disable using &lt;code&gt;DISABLE&lt;/code&gt; parameter.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- to disable jobs.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ENABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- to disable jobs.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBMS_SCHEDULER&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DISABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;JOB_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="listing-the-jobs"&gt;Listing the jobs&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;ALL_SCHEDULER_JOBS&lt;/code&gt; displays information about the Scheduler jobs accessible to the current user.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ALL_SCHEDULER_JOBS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;DBA_SCHEDULER_JOBS&lt;/code&gt; displays information about all Scheduler jobs in the database.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DBA_SCHEDULER_JOBS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;USER_SCHEDULER_JOBS&lt;/code&gt; displays information about the Scheduler jobs owned by the current user. This view does not display the OWNER column.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;USER_SCHEDULER_JOBS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;PL SQL Query to list the currently running jobs&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;running_instance&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;elapsed_time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cpu_used&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dba_scheduler_running_jobs&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- or
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;running_instance&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;elapsed_time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cpu_used&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_scheduler_running_jobs&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To view the jobs history&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;log_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actual_start_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;run_duration&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cpu_used&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dba_scheduler_job_run_details&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- or
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;log_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actual_start_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;run_duration&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cpu_used&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_scheduler_job_run_details&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/scheduling-jobs-with-oracle-scheduler.html#GUID-DC75AC5D-525E-497D-B72C-DD906A735FD9"&gt;Oracle Doc&lt;/a&gt;,
&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/ALL_SCHEDULER_JOBS.html#GUID-D72A57AD-96EB-4FB9-A599-33CB238AFA62"&gt;Oracle Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Nights in Bahrain</title><link>https://www.binovarghese.com/desk/2024/01/nigths-in-bahrain/</link><pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/01/nigths-in-bahrain/</guid><description>&lt;p&gt;I&amp;rsquo;m a night owl who loves the dark hours. I often go for walks at night, enjoying the city lights, the yellow glow, and the people around me. I used to listen to music while walking, but I stopped doing that on purpose recently. It was amazing how my mind started to wander and come up with cool ideas (at least for me). One night, I thought, why not take some pictures of the night scenes and share them here? Even though I&amp;rsquo;m not a professional photographer, I like taking photos.&lt;/p&gt;
&lt;p&gt;So here are some random photos I took during my night walks. This is an experiment to capture the night view of Manama city in Bahrain by an amateur photographer. I hope you like them.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-1.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-2.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-3.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-5.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-6.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-7.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-8.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-9.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-10.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-12.jpg"&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/bh-nights/bh-nights-13.jpg"&gt;
&lt;/figure&gt;

&lt;blockquote&gt;
&lt;p&gt;“It was a wonderful night, such a night as is only possible when we are young, dear reader.”
― Fyodor Dostoevsky, White Nights&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thank you 🖤&lt;/p&gt;</description></item><item><title>As you start to walk on the way, the way appears</title><link>https://www.binovarghese.com/desk/2024/01/as-you-start-to-walk-on-the-way-the-way-appears/</link><pubDate>Wed, 31 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2024/01/as-you-start-to-walk-on-the-way-the-way-appears/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2024/rumi-way-appears.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;Manali, Himachal Pradesh / Photo by Bino&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;As you start to walk on the way, the way appears - Rumi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I would like to share a short story from my college days. During our college tech festival, we organized a short film competition. To promote it, we needed to release posters regularly. While posters for other programs were already being launched, we needed daily updates about our event to attract students and participants for at least a few weeks.&lt;/p&gt;
&lt;p&gt;As the program coordinator, it was my responsibility to create the posters. Unfortunately, my friends, whom I had asked for help, were all busy with their own programs and couldn’t assist me.&lt;/p&gt;
&lt;p&gt;So, I had no choice but to do it myself. I decided to give it a try. I installed Photoshop on my laptop and began working on the poster. This was my first time designing anything in Photoshop — and it was something I had to publish for the entire college. The funniest part was that I had no idea how to use the software! But regardless, I dove in and spent the whole night at my desk. I started with a blank page, experimenting with layers, text, and backgrounds as best as I could. Whenever I got stuck, I called a friend who was good at designing. He guided me over the phone, and after countless corrections and edits, I finally managed to create a decent poster. For me, it felt more than perfect. It was my first design, and the sense of accomplishment I felt was incredible.&lt;/p&gt;
&lt;p&gt;I created a Facebook page for the event and continued designing posters for almost a month. In the end, the event was a huge success — the hall was packed with students and participants. A few days after the festival, a friend from another department joked that our event had so many posters on Facebook that he could hardly see anything else!&lt;/p&gt;
&lt;p&gt;I smiled at him and took it as a compliment, even though he hadn&amp;rsquo;t meant it that way.
Yes, I had started walking — and the path appeared.&lt;/p&gt;</description></item><item><title>Export your Kindle book highlights</title><link>https://www.binovarghese.com/notes/2024/01/regex-for-replacing-kindle-location-text/</link><pubDate>Wed, 24 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/01/regex-for-replacing-kindle-location-text/</guid><description>&lt;p&gt;If you want to export your Kindle book highlights without the page location and color information, you can follow these steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Export the content in any format you prefer.&lt;/li&gt;
&lt;li&gt;Paste the content in Visual Studio Code or any other text editor that supports regular expressions.&lt;/li&gt;
&lt;li&gt;Use the regular expression &lt;code&gt;Highlight \(yellow\) - Location [0-9]+&lt;/code&gt; in the Find and Replace tool to replace &lt;em&gt;Highlight (yellow) - Location 01&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Replace all the matches with an empty string.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This will remove the unwanted details from your highlights and leave only the text you want to keep.&lt;/p&gt;</description></item><item><title>Default Apps 2023</title><link>https://www.binovarghese.com/blog/2024/01/default-apps-2023/</link><pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/01/default-apps-2023/</guid><description>&lt;p&gt;Read the Defaults app of &lt;a href="https://chriscoyier.net/2023/11/25/default-apps-2023/"&gt;Chris Coyier&lt;/a&gt; and found interesting.&lt;/p&gt;
&lt;p&gt;Here is mine:&lt;/p&gt;
&lt;p&gt;📨 Mail Client: Gmail&lt;/p&gt;
&lt;p&gt;📮 Mail Server: &lt;a href="https://www.google.com/gmail/about/"&gt;Google&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;📝 Notes: &lt;a href="https://www.notion.so/"&gt;Notion&lt;/a&gt; for long notes and &lt;a href="https://keep.google.com/"&gt;Keep&lt;/a&gt; for quick ones.&lt;/p&gt;
&lt;p&gt;✅ To-Do: Notepad and pen are working fine for me, Occasionally using &lt;a href="https://keep.google.com/"&gt;Keep&lt;/a&gt; also.&lt;/p&gt;
&lt;p&gt;📷 Photo Shooting: Android Camera&lt;/p&gt;
&lt;p&gt;🎨 Design: &lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;📆 Calendar: N/A&lt;/p&gt;
&lt;p&gt;📁 Cloud File Storage: Google Drive&lt;/p&gt;
&lt;p&gt;📖 RSS: Currently not using anything, but planning to find one.&lt;/p&gt;
&lt;p&gt;🙍🏻‍♂️ Contacts: Android&lt;/p&gt;
&lt;p&gt;🌐 Browser: &lt;a href="https://brave.com/"&gt;Brave&lt;/a&gt; and &lt;a href="https://www.microsoft.com/en-us/edge?ep=198&amp;amp;form=MA13L7&amp;amp;es=40"&gt;Edge&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;💬 Chat: WhatsApp, Discord&lt;/p&gt;
&lt;p&gt;🔖 Bookmarks: &lt;a href="https://brave.com/"&gt;Brave&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;📑 Read It Later: &lt;a href="https://getpocket.com/"&gt;Pocket&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;📜 Word Processing: Word&lt;/p&gt;
&lt;p&gt;📈 Spreadsheets: Excel, Google Sheets&lt;/p&gt;
&lt;p&gt;📊 Presentations: N/A&lt;/p&gt;
&lt;p&gt;🛒 Shopping Lists: N/A&lt;/p&gt;
&lt;p&gt;🍴 Meal Planning: N/A&lt;/p&gt;
&lt;p&gt;💰 Budgeting and Personal Finance: Excel, ya its working for me.&lt;/p&gt;
&lt;p&gt;📰 News: N/A&lt;/p&gt;
&lt;p&gt;🎵 Music: &lt;a href="https://music.youtube.com/"&gt;YTMusic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;🎤 Podcasts: &lt;a href="https://pocketcasts.com/"&gt;Pocket Casts&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;🔐 Password Management: N/A&lt;/p&gt;
&lt;p&gt;🧑‍💻 Code Editor: &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;✈️ VPN: N/A&lt;/p&gt;</description></item><item><title>Name attribute in input tag</title><link>https://www.binovarghese.com/notes/2024/01/name-tag-in-input-field/</link><pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/01/name-tag-in-input-field/</guid><description>&lt;p&gt;The name attribute specifies the name of an &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; element. It is used to reference elements in a JavaScript, or to reference form data after a form is submitted to the server.&lt;/p&gt;
&lt;p&gt;Only form elements with a name attribute will have their values passed when submitting a form.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;form&lt;/span&gt; &lt;span class="na"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://localhost&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt; &lt;span class="na"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;User&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;User name&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;label&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;User&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Name&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;bino&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;lt;&lt;/span&gt;/form
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When you submit the above, server localhost will recive a content like below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Name=bino
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.w3schools.com/tags/att_input_name.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>You are not the system; you are part of it.</title><link>https://www.binovarghese.com/drawer/2024/01/try-to-enjoy-every-roles-you-may-loose-it-oneday/</link><pubDate>Fri, 12 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/01/try-to-enjoy-every-roles-you-may-loose-it-oneday/</guid><description>&lt;p&gt;Life is a series of roles we play, each one precious and unique in its own way. Whether you are a son, a father, a junior engineer, a secretary, or even someone who feels like they own nothing, you have something to offer and something to enjoy. Don&amp;rsquo;t let the struggles and chaos of each role overwhelm you; one day, you might no longer have the opportunity to play that role. The saddest part is, realizing its value only after it&amp;rsquo;s gone. So, cherish your time here, have fun, and make it beautiful.&lt;/p&gt;
&lt;p&gt;Always remember, you are not the system; you are part of it.&lt;/p&gt;</description></item><item><title>Set up a feed/ archive page in Hugo to display all posts</title><link>https://www.binovarghese.com/blog/2024/01/hugo-display-all-posts/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2024/01/hugo-display-all-posts/</guid><description>&lt;p&gt;This website contains various types of blogs, both technical and non-technical, that can be accessed through the following links: &lt;a href="https://www.binovarghese.com/blog"&gt;blog&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/notes"&gt;notes&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/desk/"&gt;desk&lt;/a&gt;. I wanted to have a single page where I could see all the posts I have written on this website and track my blogging progress. That&amp;rsquo;s why I created this &lt;a href="https://www.binovarghese.com/archive"&gt;feed page&lt;/a&gt;, where you can find all my blogs from this website.&lt;/p&gt;
&lt;p&gt;Let’s break down how we can create the feed page.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First create an &lt;code&gt;_index.md&lt;/code&gt; page in the &lt;code&gt;content/feed&lt;/code&gt; folder .&lt;/li&gt;
&lt;li&gt;Then create a template in &lt;code&gt;/layouts/section/feed.html&lt;/code&gt; to loop the posts.&lt;/li&gt;
&lt;li&gt;Finally create a template &lt;code&gt;/layouts/partials/post_preview_card_list&lt;/code&gt; to display the posts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yes that&amp;rsquo;s it. It will give you feed page where every blogs from every folder is listed in chronogical order.&lt;/p&gt;
&lt;p&gt;Below is the &lt;code&gt;_index.md&lt;/code&gt;, &lt;code&gt;feed.html&lt;/code&gt;, and &lt;code&gt;post_preview_card_list.html&lt;/code&gt; page for easy reference.&lt;/p&gt;
&lt;h4 id="_indexmd"&gt;_index.md&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Feed&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Subtitle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Listing all the posts in chronological order.&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="feedhtml"&gt;feed.html&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;define&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-md-12&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;well&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{.}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row justify-content-center&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;paginator&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Paginate&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;RegularPages&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;paginator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Partial page to display the contents&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;partial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post_preview_card_list.html&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;row font-sans&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-md-12 mt-10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;nav&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Page navigation&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ul&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;pagination justify-content-end&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;_internal/pagination.html&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;nav&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="post_preview_card_listhtml"&gt;post_preview_card_list.html&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-sm-12 col-md-12 col-lg-12 col-xl-12 mb-3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Link to {{ .Title }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-body&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;subtitle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-subtitle&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;subtitle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-meta&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;partial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post_meta_notes.html&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-entry&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Description&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Description&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Summary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;read-more-section pt-3 &amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h6&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text-muted link-underline&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Link to {{ .Title }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Read&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;more&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;bi bi-arrow-right&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h6&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-footer text-muted&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;blog-tags&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ $.Site.LanguagePrefix | absURL }}/tags/{{ . | urlize }}/&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hope you understood how we can create a feed page in Hugo.&lt;/p&gt;</description></item><item><title>Firebase rules update</title><link>https://www.binovarghese.com/notes/2024/01/updated-firebase-rules/</link><pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2024/01/updated-firebase-rules/</guid><description>&lt;p&gt;To read and write without authenticaton in firebase, you need to updated the rules in the database as below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;rules&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;.read&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;.write&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Please note that this allow anyone to fetch and write the data to the database.&lt;/p&gt;</description></item><item><title>Rare mix</title><link>https://www.binovarghese.com/drawer/2024/01/rare-mix/</link><pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/01/rare-mix/</guid><description>&lt;p&gt;I don&amp;rsquo;t want to be an original, &lt;br&gt;
I have learned, inspired, &lt;br&gt;
and stolen from everything I have seen.&lt;br&gt;
I want to be a rare mix.&lt;/p&gt;</description></item><item><title>Photos 2024</title><link>https://www.binovarghese.com/photos/2024/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/photos/2024/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/622395554_18193405723341061_7916776259052129501_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_f4e42b545c05721b.webp 400w,
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_ce3ac026cb091a10.webp 700w,
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_2b15cdea5bf4e594.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_268c3103febb74.jpg"
 srcset="
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_48c534d38d9885c8.jpg 400w,
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_268c3103febb74.jpg 700w,
 /img/photos/2024/622395554_18193405723341061_7916776259052129501_n_hu_e4e1aa4661459948.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/622395554_18193405723341061_7916776259052129501_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/11Mar.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/11Mar_hu_ed964ed82214d40f.webp 400w,
 /img/photos/2024/11Mar_hu_626081d1a7ec9520.webp 700w,
 /img/photos/2024/11Mar_hu_cdd61245fc177bf3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/11Mar_hu_5f692d5a82f06863.jpeg"
 srcset="
 /img/photos/2024/11Mar_hu_ca8281a4f6c8774.jpeg 400w,
 /img/photos/2024/11Mar_hu_5f692d5a82f06863.jpeg 700w,
 /img/photos/2024/11Mar_hu_62c2cde1e5f61af9.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/11Mar.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_58500e600fa5c4b8.webp 400w,
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_4f4b11c753e297bf.webp 700w,
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_13d5ec2fe393275e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_149e22cb3d839371.jpeg"
 srcset="
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_9e14d5e271785d74.jpeg 400w,
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_149e22cb3d839371.jpeg 700w,
 /img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c_hu_a382d97b1ef1059a.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/3C77419E-1E1A-49A1-8573-A9E418C1C464_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_679f8758d6e3c31b.webp 400w,
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_f37a82c7ae4755cc.webp 700w,
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_60ab0139f94d6de.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_9ac6797ce2f6f9b5.jpeg"
 srcset="
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_fbf9ed18f8f11082.jpeg 400w,
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_9ac6797ce2f6f9b5.jpeg 700w,
 /img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c_hu_c994bb95d11a5849.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="874"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/4DA0DE93-6E4D-44CF-A306-1328D1015858_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_5bc73e4318a7ba6e.webp 400w,
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_a5b4ae3c7f826a81.webp 700w,
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_e72e0df70c431606.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_e1fdadd8a5fc24e7.jpeg"
 srcset="
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_f9e305d81ccc27bb.jpeg 400w,
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_e1fdadd8a5fc24e7.jpeg 700w,
 /img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c_hu_699b26245bc68536.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/62B52743-16E3-46BF-A848-64C5183C75A8_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_aacd9a60197678ba.webp 400w,
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_da73d94d02e332fe.webp 700w,
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_244c800608d7f77d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_87dfe7293a48c4f6.jpeg"
 srcset="
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_a554429f997c6328.jpeg 400w,
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_87dfe7293a48c4f6.jpeg 700w,
 /img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c_hu_faf4a65041bb5508.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/64788191-7252-4EBA-88BA-BF06DE3E0B3D_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_33105efc540aabdd.webp 400w,
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_e5fa3eb2f0ef2ce9.webp 700w,
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_ef7235e0647c7172.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_3ea331e171aa9e57.jpeg"
 srcset="
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_7f6da4918286e583.jpeg 400w,
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_3ea331e171aa9e57.jpeg 700w,
 /img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c_hu_99f0f39bb75497a9.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/64FB07BE-3DCB-4B4D-B8D9-8E4F586A45FD_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_d5a83b7059f35f1c.webp 400w,
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_39b8c580f4ce544b.webp 700w,
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_5d90d31dc39fd1dc.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_59fc717d1241d98.jpeg"
 srcset="
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_1c8e3a7a778daf28.jpeg 400w,
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_59fc717d1241d98.jpeg 700w,
 /img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c_hu_e3bc8244e6bc8bb8.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/A5CAF718-D1C3-41E7-8792-7A71F2C56133_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_1182d4986d7ec3bf.webp 400w,
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_5558d3f8fcdfee09.webp 700w,
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_bfc5f3ed95f31c3a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_dc13354fefe894b9.jpeg"
 srcset="
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_d3bd8341e90057fe.jpeg 400w,
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_dc13354fefe894b9.jpeg 700w,
 /img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c_hu_d066900db9c6dda3.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/E271AD55-A5FE-46E7-8339-771CEDB761DD_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_b7e49497880a967f.webp 400w,
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_27e911439e729804.webp 700w,
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_3bd6a1a610ba99b6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_d657970784ca74f7.jpeg"
 srcset="
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_dc257c4b950a46c9.jpeg 400w,
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_d657970784ca74f7.jpeg 700w,
 /img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338_hu_298b5b41fc76c4bc.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/E2E02C4C-41D9-4129-9673-AF8481526338.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_471079ad42968194.webp 400w,
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_94393ddec6f89318.webp 700w,
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_7671a335070f04f4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_cce75f3b300eaacf.jpeg"
 srcset="
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_20a1c0d64b87bbdd.jpeg 400w,
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_cce75f3b300eaacf.jpeg 700w,
 /img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375_hu_529fee761c092972.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/F756EB03-CBAA-4087-BD09-AF014A675375.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/photos/2024/winter-pictures.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/photos/2024/winter-pictures_hu_d837cfb5a98d8d5d.webp 400w,
 /img/photos/2024/winter-pictures_hu_62d0f3ddc90ada01.webp 700w,
 /img/photos/2024/winter-pictures_hu_175f3318e653ceee.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/photos/2024/winter-pictures_hu_d990cd168b374681.jpeg"
 srcset="
 /img/photos/2024/winter-pictures_hu_44fc9ca9328d72bb.jpeg 400w,
 /img/photos/2024/winter-pictures_hu_d990cd168b374681.jpeg 700w,
 /img/photos/2024/winter-pictures_hu_32571e5aac3735b5.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/photos/2024/winter-pictures.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Welcome to the magic</title><link>https://www.binovarghese.com/drawer/2024/01/welcome-to-the-magic/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2024/01/welcome-to-the-magic/</guid><description>&lt;p&gt;Welcome to the magic, to the stars, to the unknown, and to myself.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2024/in-the-sea.webp"
 alt="Jazaer Beach, Bahrain / Photo by Jinz moments" width="600"&gt;&lt;figcaption&gt;
 &lt;p&gt;Jazaer Beach, Bahrain / Photo by &lt;a href="https://www.instagram.com/jinzmoments/"&gt;Jinz moments&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Beginners notes about TypeScript: Part 2</title><link>https://www.binovarghese.com/blog/2023/12/intro-to-typescript-2/</link><pubDate>Mon, 04 Dec 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/12/intro-to-typescript-2/</guid><description>&lt;p&gt;This is the second note in the TypeScript series. In this post, we will explore the fundamentals of TypeScript.&lt;/p&gt;
&lt;h3 id="the-fundamentals"&gt;The Fundamentals&lt;/h3&gt;
&lt;p&gt;As you know, JavaScript has built-in &lt;a href="https://www.binovarghese.com/notes/2022/02/primitive-data-types-in-js/"&gt;types&lt;/a&gt; such as &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;bigint&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, and &lt;code&gt;object&lt;/code&gt;. TypeScript extends these types and introduces new ones, including &lt;code&gt;any&lt;/code&gt;, &lt;code&gt;array&lt;/code&gt;, &lt;code&gt;unknown&lt;/code&gt;, &lt;code&gt;enum&lt;/code&gt;, and &lt;code&gt;tuple&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="any"&gt;any&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;any&lt;/code&gt; type is a special type that you can use when you don’t want a particular value to cause type-checking errors.&lt;/p&gt;
&lt;p&gt;When a value is of type &lt;code&gt;any&lt;/code&gt;, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Access any of its properties (which will also be of type &lt;code&gt;any&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Call it like a function.&lt;/li&gt;
&lt;li&gt;Assign it to or from a value of any type.&lt;/li&gt;
&lt;li&gt;Perform virtually anything else that is syntactically valid in TypeScript.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;greetings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;: &lt;span class="kt"&gt;any&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`Hello, &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;greetings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Bino&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Outputs: Hello, Bino! 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;greetings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Outputs: Hello, 33! 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// This variable will also be treated as `any` since it has no assigned value. 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;However, keep in mind that if you declare a variable as &lt;code&gt;any&lt;/code&gt;, the TypeScript compiler will ignore type errors associated with that variable. This can lead to potential runtime issues, so it’s best to use &lt;code&gt;any&lt;/code&gt; sparingly.&lt;/p&gt;
&lt;h3 id="array"&gt;Array&lt;/h3&gt;
&lt;p&gt;To specify the type of an array, such as &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt;, you can use the syntax &lt;code&gt;number[]&lt;/code&gt;. This syntax works for any type (e.g., &lt;code&gt;string[]&lt;/code&gt; for an array of strings).&lt;/p&gt;
&lt;p&gt;Alternatively, you can use the generic &lt;code&gt;Array&amp;lt;elemType&amp;gt;&lt;/code&gt; syntax, as shown below. Both syntaxes produce the same result:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt;: &lt;span class="kt"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Both approaches are interchangeable, so you can choose whichever suits your style or project standards.&lt;/p&gt;
&lt;h3 id="tuple"&gt;Tuple&lt;/h3&gt;
&lt;p&gt;A tuple type is another sort of &lt;code&gt;Array&lt;/code&gt; type that knows exactly how many elements it contains, and exactly which types it contains at specific positions.&lt;/p&gt;
&lt;p&gt;As shown below, when accessing an element with a known index, the correct type is retrieved. Also accessing outside the array size will throw an error. For more detail read &lt;a href="https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Bino&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// OK
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Property &amp;#39;substring&amp;#39; does not exist on type &amp;#39;number&amp;#39;.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For more read &lt;a href="https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="enums"&gt;Enums&lt;/h3&gt;
&lt;p&gt;Enums allow a developer to define a set of named constants. Using enums can make it easier to document intent, or create a set of distinct cases. TypeScript provides both numeric and string-based enums.&lt;/p&gt;
&lt;h4 id="numeric-enums"&gt;Numeric enums&lt;/h4&gt;
&lt;p&gt;An enum can be defined using the &lt;code&gt;enum&lt;/code&gt; keyword. As you can see the below &lt;code&gt;up&lt;/code&gt; is initialized with &lt;code&gt;1&lt;/code&gt;. All of the following numbers are auto-incremented from that point on. In other words, &lt;code&gt;Direction.up&lt;/code&gt; has the value &lt;code&gt;1&lt;/code&gt;, down has &lt;code&gt;2&lt;/code&gt;, left has &lt;code&gt;3&lt;/code&gt;, and right has &lt;code&gt;4&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you are not initializing with any value, the value will start with &lt;code&gt;0&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;enum&lt;/span&gt; &lt;span class="nx"&gt;direction&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;up&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;down&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;right&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="string-enums"&gt;String enums&lt;/h4&gt;
&lt;p&gt;In a string enum, each member has to be constant-initialized with a string literal, or with another string enum member.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;enum&lt;/span&gt; &lt;span class="nx"&gt;direction&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;up&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;UP&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;down&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;DOWN&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;LEFT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;RIGHT&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For more read &lt;a href="https://www.typescriptlang.org/docs/handbook/enums.html#handbook-content"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="functions"&gt;Functions&lt;/h3&gt;
&lt;p&gt;In TypeScript, you can use type annotations to specify the types of parameters a function accepts. Add these annotations after each parameter in the function declaration.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Parameter type annotation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;: &lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Hello, &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;!!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// This would cause a runtime error if executed!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Additionally, you can specify the function&amp;rsquo;s return type by adding a return type annotation after the parameter list:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num1&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;num2&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;number&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;num2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To improve code quality and catch errors, consider enabling the following options in your TypeScript configuration file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;noUnusedParameters&amp;quot;: true&lt;/code&gt;&lt;/strong&gt;: Flags unused parameters in a function.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;quot;noImplicitReturns&amp;quot;: true&lt;/code&gt;&lt;/strong&gt;: Ensures that all code paths in a function explicitly return a value.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, refer &lt;a href="https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#functions"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=d56mG7DezGs"&gt;Programming with Mosh&lt;/a&gt;,
&lt;a href="https://www.typescriptlang.org/docs/handbook/intro.html"&gt;TypeScript Handbook&lt;/a&gt;,
&lt;a href="https://www.typescriptlang.org/tsconfig/#noImplicitReturns"&gt;TS Config&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Beginners notes about TypeScript: Part 1</title><link>https://www.binovarghese.com/blog/2023/12/intro-to-typescript-1/</link><pubDate>Sat, 02 Dec 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/12/intro-to-typescript-1/</guid><description>&lt;p&gt;These is a series of notes about TypeScript. In this first part you will learn what is TypeScript, how to install and debug the same.&lt;/p&gt;
&lt;h3 id="what-is-typescript"&gt;What is TypeScript?&lt;/h3&gt;
&lt;p&gt;Programming languages can generally be categorized into two types: &lt;strong&gt;dynamically typed&lt;/strong&gt; and &lt;strong&gt;statically typed&lt;/strong&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dynamically Typed Languages:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In dynamically typed languages like &lt;strong&gt;JavaScript&lt;/strong&gt; and &lt;strong&gt;Python&lt;/strong&gt;, variables do not have fixed types. You can assign any type of value to a variable, and type errors are only detected at runtime.&lt;/li&gt;
&lt;li&gt;While this provides flexibility, it can also lead to unpredictable behavior and make debugging more difficult since type-related errors are not caught during development.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Statically Typed Languages:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In statically typed languages like &lt;strong&gt;C#&lt;/strong&gt; and &lt;strong&gt;Java&lt;/strong&gt;, variables are declared with specific types. The type of a variable cannot be changed, and assigning a value of the wrong type will result in a compile-time error. This helps identify errors early, ensuring more robust and maintainable code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To address the challenges of type safety in JavaScript, &lt;strong&gt;Microsoft introduced TypeScript&lt;/strong&gt;, a programming language built on top of JavaScript.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TypeScript&lt;/strong&gt; can be thought of as &amp;ldquo;JavaScript with type checking.&amp;rdquo; It adds optional static typing to JavaScript, allowing developers to define the types of variables, function parameters, and return values. This enables errors to be caught during development rather than at runtime, improving code predictability and making it easier to debug and maintain.&lt;/p&gt;
&lt;h3 id="benefits-of-typescript"&gt;Benefits of TypeScript&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Static typing&lt;/li&gt;
&lt;li&gt;Code completion&lt;/li&gt;
&lt;li&gt;Refactoring&lt;/li&gt;
&lt;li&gt;Shorthand notations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installing-typescript"&gt;Installing TypeScript&lt;/h3&gt;
&lt;p&gt;To install TypeScript, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install Node.js and npm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Before installing TypeScript, ensure you have &lt;strong&gt;Node.js&lt;/strong&gt; and the &lt;strong&gt;Node Package Manager (npm)&lt;/strong&gt; installed on your system.&lt;/li&gt;
&lt;li&gt;You can download Node.js (which includes npm) from the &lt;a href="https://nodejs.org/"&gt;official website&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install TypeScript Globally&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run the following command in your terminal or command prompt to install TypeScript globally:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g typescript 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verify the Installation&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After installation, check the version of the TypeScript compiler to verify that it’s installed correctly:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tsc -v 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;This command will display the installed TypeScript version, confirming that the installation was successful.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="first-program-in-typescript"&gt;First Program in TypeScript&lt;/h3&gt;
&lt;p&gt;Let’s dive into TypeScript by creating a simple app. Follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a Folder&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the command:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir hello-world 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Navigate to the Folder&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Move into the newly created folder:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; hello-world 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Initialize TypeScript&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run the following command to create a TypeScript configuration file:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tsc --init 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuration File (tsconfig.json)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After running the above command, a &lt;code&gt;tsconfig.json&lt;/code&gt; file will be created in your folder.&lt;/li&gt;
&lt;li&gt;When you open this file, you’ll notice that most parameters are commented out, and only a few are active. Don’t worry about this for now—we’ll focus on the ones we need.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Key Parameters in tsconfig.json&lt;/strong&gt;&lt;br&gt;
Here are some important parameters to configure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;target&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default: &lt;code&gt;&amp;quot;es2016&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Specifies the ECMAScript version to which your TypeScript code will be compiled. For example, &lt;code&gt;es2016&lt;/code&gt;, &lt;code&gt;esnext&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;module&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Determines the module system used in the compiled JavaScript code. Common options include &lt;code&gt;&amp;quot;commonjs&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;amd&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;es2015&amp;quot;&lt;/code&gt;, and &lt;code&gt;&amp;quot;esnext&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;rootDir&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Specifies the root directory for your TypeScript source files. By default, you can set it to &lt;code&gt;./src&lt;/code&gt; if your source files are placed in a folder named &lt;code&gt;src&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;outDir&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Defines the directory where the compiled JavaScript files will be generated. By default, it’s set to &lt;code&gt;./dist&lt;/code&gt;. Adjust this according to your project structure.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;removeComments&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When set to &lt;code&gt;true&lt;/code&gt;, this option removes comments from the compiled JavaScript code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;noEmitOnError&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When set to &lt;code&gt;true&lt;/code&gt;, the compiler will not generate JavaScript files if there are any type-checking errors in your TypeScript code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Write Your First TypeScript Code&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a file named &lt;code&gt;index.ts&lt;/code&gt; in your project folder.&lt;/li&gt;
&lt;li&gt;Add the following code to &lt;code&gt;index.ts&lt;/code&gt;:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;greeting&lt;/span&gt;: &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Hello, world!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greeting&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Compile Your TypeScript Code&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run the command:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tsc 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;This will compile your TypeScript code and generate a JavaScript file in the &lt;code&gt;dist&lt;/code&gt; folder named &lt;code&gt;index.js&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Run the JavaScript File&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use Node.js to execute the generated JavaScript file:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node dist/index.js 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="debugging-a-typescript-application"&gt;Debugging a TypeScript Application&lt;/h3&gt;
&lt;p&gt;After successfully creating a simple TypeScript application, let’s explore how to debug it effectively. Follow these steps:&lt;/p&gt;
&lt;h4 id="1-enable-source-maps"&gt;&lt;strong&gt;1. Enable Source Maps&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Open your &lt;code&gt;tsconfig.json&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;Enable the &lt;code&gt;&amp;quot;sourceMap&amp;quot;&lt;/code&gt; option by setting it to &lt;code&gt;true&lt;/code&gt;:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;sourceMap&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;This generates &lt;code&gt;.js.map&lt;/code&gt; files alongside the compiled &lt;code&gt;.js&lt;/code&gt; files. These source map files map your JavaScript code back to the original TypeScript source, allowing debuggers to display the TypeScript code instead of the compiled JavaScript.&lt;/li&gt;
&lt;li&gt;For more details, refer to the &lt;a href="https://www.typescriptlang.org/tsconfig/#sourceMap"&gt;TypeScript sourceMap documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-create-a-debug-configuration-"&gt;&lt;strong&gt;2. Create a Debug Configuration (&lt;code&gt;launch.json&lt;/code&gt;)&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Open &lt;strong&gt;Run and Debug&lt;/strong&gt; view in your editor (shortcut: &lt;code&gt;Ctrl+Shift+D&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create a launch.json file&lt;/strong&gt; from the dropdown or the provided link.&lt;/li&gt;
&lt;li&gt;This will generate a &lt;code&gt;launch.json&lt;/code&gt; file inside a &lt;code&gt;.vscode&lt;/code&gt; folder in your project directory with default configurations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-customize-the-debug-configuration"&gt;&lt;strong&gt;3. Customize the Debug Configuration&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Update the &lt;code&gt;launch.json&lt;/code&gt; file to include the &lt;code&gt;preLaunchTask&lt;/code&gt; for TypeScript compilation. Your file should look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.2.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;configurations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;node&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Launch Program&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;skipFiles&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;lt;node_internals&amp;gt;/**&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;program&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;${workspaceFolder}/index.ts&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;preLaunchTask&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tsc: build - tsconfig.json&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;outFiles&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;${workspaceFolder}/**/*.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Explanation of Key Fields:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;type&lt;/code&gt;&lt;/strong&gt;: Specifies the type of debugger. Here, it’s set to &lt;code&gt;node&lt;/code&gt; for debugging Node.js applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;program&lt;/code&gt;&lt;/strong&gt;: Specifies the entry point for your application, such as &lt;code&gt;index.ts&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;preLaunchTask&lt;/code&gt;&lt;/strong&gt;: Runs the TypeScript compiler (&lt;code&gt;tsc&lt;/code&gt;) before starting the debugger.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;outFiles&lt;/code&gt;&lt;/strong&gt;: Points to the compiled JavaScript files for debugging.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-debugging-the-application"&gt;&lt;strong&gt;4. Debugging the Application&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Click the &lt;strong&gt;Run and Debug&lt;/strong&gt; button in the debug bar or press &lt;code&gt;F5&lt;/code&gt; to start debugging.&lt;/li&gt;
&lt;li&gt;Add breakpoints in your &lt;code&gt;.ts&lt;/code&gt; files to pause execution and inspect variables, expressions, and call stacks.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.typescriptlang.org/docs/handbook/intro.html"&gt;TypeScript Handbook&lt;/a&gt;,
&lt;a href="https://www.youtube.com/watch?v=d56mG7DezGs"&gt;Programming with Mosh&lt;/a&gt;,
&lt;a href="https://code.visualstudio.com/docs/typescript/typescript-debugging"&gt;TypeScript Doc&lt;/a&gt;,
&lt;a href="https://gcore.com/learning/customize-your-tsconfigjson-file-for-typescript/#:~:text=target%3A%20The%20target%20option%20specifies,%2C%E2%80%9D%20or%20%E2%80%9Cesnext.%E2%80%9D"&gt;GCore&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codbix No.7</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-7/</link><pubDate>Thu, 30 Nov 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-7/</guid><description>&lt;p&gt;Welcome to Issue #7 of The Codbix! This week: Habits of great software engineers, Decision Making at Netflix and How to get your brain to focus.&lt;/p&gt;
&lt;h4 id="are-remote-workers-more-productive-thats-the-wrong-question"&gt;Are remote workers more productive? That’s the wrong question.&lt;/h4&gt;
&lt;p&gt;A recent study reported in Forbes found that “workers who worked from home 100% of the time were 20% happier on average than those who didn’t have the ability to work from home.” That study also found “a strong correlation between work happiness and overall happiness.” Another study found that “people who have the opportunity to work remotely at least monthly are 24% more likely to feel happy and productive in their roles.”&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.blog/2023/11/27/are-remote-workers-more-productive-that-s-the-wrong-question/?cb=1"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="habits-of-great-software-engineers"&gt;Habits of great software engineers&lt;/h4&gt;
&lt;p&gt;The role of a software developer often gets distilled down to a singular activity: coding. While coding is undeniably the heartbeat of the profession, defining a developer by this act alone is akin to defining a painter by their ability to mix colors. It&amp;rsquo;s a crucial part but just the tip of the iceberg. The true essence of a software developer&amp;rsquo;s role combines many different skills, mindsets, and disciplines.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vadimkravcenko.com/shorts/habits-of-great-software-engineers/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="decision-making-at-netflix"&gt;Decision Making at Netflix&lt;/h4&gt;
&lt;p&gt;Making decisions is easy — what’s hard is making the right decisions. How can we be confident that our decisions are delivering a better product experience for current members and helping grow the business with new members?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://netflixtechblog.com/decision-making-at-netflix-33065fa06481"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="a-love-letter-to-my-website"&gt;A love letter to my website&lt;/h4&gt;
&lt;p&gt;This is a declaration of love for personal websites, written from years of thinking on the subject, reviewing thousands of portfolios, building websites for friends and bookmarking those of strangers.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vanschneider.com/blog/portfolio-tips/a-love-letter-to-personal-websites/"&gt;Article link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codbix No.6</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-6/</link><pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-6/</guid><description>&lt;p&gt;Welcome to Issue #6 of The Codbix! This week: Use code visibility to illuminate unfamiliar code, Laravel community and How to Get Your Brain to Focus.&lt;/p&gt;
&lt;h4 id="from-chaos-to-clarity-use-code-visibility-to-illuminate-unfamiliar-code"&gt;From chaos to clarity: Use code visibility to illuminate unfamiliar code&lt;/h4&gt;
&lt;p&gt;At its core, code visibility is about mapping your code so that even the freshest of developers can reason about it.&lt;/p&gt;
&lt;p&gt;Code visibility is about capturing knowledge of the various aspects of your codebase: The What, the why, and the where.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/guides/code-visibility-codesee"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="is-laravel-the-happiest-developer-community-on-the-planet"&gt;Is Laravel the happiest developer community on the planet?&lt;/h4&gt;
&lt;p&gt;Developers tend to be passionate about their favorite tools, but the shine can wear off over time. Laravel has been around since 2011, but the community seems to be in a perpetual honeymoon period. &amp;ldquo;They just seem so happy,&amp;rdquo; JavaScript developer Adam Elmore, who has only recently dipped his toe into the Laravel waters. &amp;ldquo;Other communities can be so toxic, but Laravel developers are just content to build stuff.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;So how did the Laravel community build such a well-loved platform? By ignoring trends and sweating the details.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/featured/laravel-community"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="squoosh"&gt;Squoosh&lt;/h4&gt;
&lt;p&gt;Squoosh is an image compression web app that reduces image sizes through numerous formats. It is an Experimental projects from the Chrome team.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://squoosh.app/"&gt;Website&lt;/a&gt;, &lt;a href="https://github.com/GoogleChromeLabs/squoosh"&gt;Github&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Karnataka Travel Diaries</title><link>https://www.binovarghese.com/desk/2023/06/karnataka-travel-diaries-2012/</link><pubDate>Wed, 25 Oct 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/06/karnataka-travel-diaries-2012/</guid><description>&lt;p&gt;One of the most memorable trips I ever had was to Karnataka in August 2012. It was part of my college tour and I had a blast with my friends. We visited so many amazing places and had so much fun. I still cherish those days as some of the best in my college life. Here are some of the locations we explored during our journey.&lt;/p&gt;
&lt;h4 id="chamundi-hills"&gt;Chamundi Hills&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/chamundi-hills-1.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Chamundi_Hills"&gt;Chamundeshwari Temple, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/nandhi-chamundi-hills.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Chamundi_Hills"&gt;Nandi in Chamundi Hills, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/chamundi-hills-3.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Chamundi_Hills"&gt;Statue of Mahishasura in Chamundi Hills, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id="kaveri-nisargadhama-forest-park"&gt;Kaveri Nisargadhama Forest Park&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/nisargadhama-forest-1.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Nisargadhama"&gt;Nisargadhama Forest Park, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/nisargadhama-forest-2.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Nisargadhama"&gt;Nisargadhama Forest Park, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/nisargadhama-forest-3.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Nisargadhama"&gt;Nisargadhama Forest Park, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id="namdroling-monastery-golden-temple"&gt;Namdroling Monastery Golden Temple&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/Namdroling-Monastery-1.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Namdroling_Monastery"&gt;Namdroling Monastery, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/Namdroling-Monastery-2.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Namdroling_Monastery"&gt;Namdroling Monastery, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/travel/karnataka/Namdroling-Monastery-3.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://en.wikipedia.org/wiki/Namdroling_Monastery"&gt;Namdroling Monastery, Karnataka&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Hugo image shortcode</title><link>https://www.binovarghese.com/blog/2023/06/image-shortcodes-for-hugo/</link><pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/image-shortcodes-for-hugo/</guid><description>





 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Image Gallery Shortcode
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 Curious about creating an image gallery shortcode in Hugo? Click &lt;a href="https://www.binovarghese.com/blog/2024/11/hugo-image-gallery/"&gt;here&lt;/a&gt; to learn more.
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This website is built with Hugo, a static site generator that uses Markdown for writing content files. Markdown allows you to insert images with the following syntax:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;![alt text](/path/to/image.jpg)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;However, this syntax has some drawbacks, such as not being able to add a title, a caption, or a link to the image. To solve this problem, you can create a custom Hugo shortcode that lets you display the additional details of the image, such as its title or link.&lt;/p&gt;
&lt;p&gt;Please note that, this post is assuming that you know &lt;a href="https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/"&gt;how to make a blog in Hugo&lt;/a&gt; and what is &lt;a href="https://gohugo.io/content-management/shortcodes/"&gt;shortcodes&lt;/a&gt; in Hugo.&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="custom-image-shortcode"&gt;Custom Image Shortcode&lt;/h4&gt;
&lt;p&gt;Below is the Shortcode for the displaying the image in the Markdown with required attributes and you can see the rendered ouput also.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Image with Caption and link&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;/*&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;figure&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/path/to/image.jpg&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Tree of Life Photo by Bino&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;link&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://binovarghese.com/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Tree of Life / Bahrain&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Photo by Bino&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attrlink&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://binovarghese.com/&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;*/&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;
&lt;figure&gt;&lt;a href="https://binovarghese.com/"&gt;&lt;img src="https://www.binovarghese.com/img/2023/life-of-tree-bahrain-photo-by-bino.jpg"
 alt="Tree of Life Photo by Bino"&gt;&lt;/a&gt;&lt;figcaption&gt;
 &lt;h4&gt;Tree of Life / Bahrain&lt;/h4&gt;&lt;p&gt;
 &lt;a href="https://binovarghese.com/"&gt;Photo by Bino&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Image with Caption only&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/* &amp;lt; figure src=&amp;#34;/path/to/image.jpg&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;alt=&amp;#34;Athar Monument in Bahrain / Photo by Bino&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;title=&amp;#34;Photo by Bino&amp;#34; &amp;gt; */}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2023/Athar-photo-by-bino.jpg"&gt;&lt;figcaption&gt;
 &lt;h4&gt;Bahrain Athar Photo by Bino&lt;/h4&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Below is the code for above custom shortcode.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;figure.html&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;figure {{ with .Get &amp;#34;class&amp;#34; }}class=&amp;#34;{{ . }}&amp;#34;{{ end }}&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Get &amp;#34;link&amp;#34; }}&amp;lt;a href=&amp;#34;{{ . }}&amp;#34; &amp;gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;img class=&amp;#34;rounded&amp;#34; src=&amp;#34;{{ .Get &amp;#34;src&amp;#34; }}&amp;#34; {{ if or (.Get &amp;#34;alt&amp;#34;) (.Get &amp;#34;caption&amp;#34;) }}alt=&amp;#34;{{ with .Get &amp;#34;alt&amp;#34; }}{{ . }}{{ else }}{{ .Get &amp;#34;caption&amp;#34; }}{{ end }}&amp;#34;{{ end }} /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if .Get &amp;#34;link&amp;#34; }}&amp;lt;/a&amp;gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if or (or (.Get &amp;#34;title&amp;#34;) (.Get &amp;#34;caption&amp;#34;)) (.Get &amp;#34;attr&amp;#34;) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;figcaption class=&amp;#34;text-center&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if isset .Params &amp;#34;title&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;h5&amp;gt;{{ .Get &amp;#34;title&amp;#34; }}&amp;lt;/h5&amp;gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if or (.Get &amp;#34;caption&amp;#34;) (.Get &amp;#34;attr&amp;#34;) }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;p class=&amp;#34;mt-0&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Get &amp;#34;caption&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ with .Get &amp;#34;attrlink&amp;#34; }}&amp;lt;a href=&amp;#34;{{ . }}&amp;#34;&amp;gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ .Get &amp;#34;attr&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ if .Get &amp;#34;attrlink&amp;#34; }}&amp;lt;/a&amp;gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/p&amp;gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/figcaption&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/figure&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can put the above HTML file in the &lt;em&gt;shortcodes&lt;/em&gt; folder under the &lt;em&gt;layouts&lt;/em&gt; folder and please note it will replace the built-in figure shortcode in the Hugo.&lt;/p&gt;
&lt;p&gt;If you want, you can modify the shortcode as per your requirments to add more details. The style classes in the components are from &lt;strong&gt;Bootstrap&lt;/strong&gt;, but you can use as per you preferences.&lt;/p&gt;
&lt;p&gt;For exploring more, you can checkout the Card shortcode &lt;a href="https://www.binovarghese.com/blog/2023/01/card-shortcodes-for-hugo/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Display refresh rate</title><link>https://www.binovarghese.com/notes/2023/10/refresh-rate/</link><pubDate>Wed, 04 Oct 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/10/refresh-rate/</guid><description>&lt;p&gt;The refresh rate of a display is the number of times per second that the image refreshes on the screen. For example, a 60Hz display will update the screen 60 times per second.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://support.microsoft.com/en-us/windows/change-your-display-refresh-rate-in-windows-c8ea729e-0678-015c-c415-f806f04aae5a"&gt;Windows Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hugo alert box shortcode</title><link>https://www.binovarghese.com/blog/2023/06/info-card-shortcodes-for-hugo/</link><pubDate>Sun, 24 Sep 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/info-card-shortcodes-for-hugo/</guid><description>&lt;p&gt;If you are using Hugo as your static site generator, you might want to create a card shortcode that can display different types of information on your blog posts. A card is a small rectangular element that can show an image, a title, a subtitle, and some text.&lt;/p&gt;
&lt;p&gt;In this post, I will show you how to create a card shortcode that can accept both predefined data and custom data that you can pass from your Markdown file.&lt;/p&gt;
&lt;p&gt;Please note that, this post is assuming that you know &lt;a href="https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/"&gt;how to make a blog in Hugo&lt;/a&gt; and what is &lt;a href="https://www.binovarghese.com/blog/2023/06/hugo-shortcodes/"&gt;shortcodes&lt;/a&gt; in Hugo.&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="custom-alert-card-shortcode"&gt;Custom alert card shortcode&lt;/h3&gt;
&lt;p&gt;The data depends on the &lt;code&gt;header&lt;/code&gt; parameter that you specify in the Shortcode. For example, if you use the Shortcode below, it will check if the header value matches any of the cases in the if statement. If it does, it will display the corresponding data. If not, it will display the &lt;code&gt;content&lt;/code&gt; value that you provide in the Markdown. You can also add a title to the card by using the &lt;code&gt;title&lt;/code&gt; parameter&lt;/p&gt;
&lt;h4 id="card-with-predifned-data"&gt;Card with predifned data&lt;/h4&gt;
&lt;p&gt;Below example showing how you can display a predifined content using this shortcode.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shortcode&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/* &amp;lt; alert_box header=&amp;#34;lorem-ipsum&amp;#34; title=&amp;#34;What is Lorem Ipsum?&amp;#34; &amp;gt; */}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;






 


&lt;div class="card mb-3 p-0 info-card-bg"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 What is Lorem Ipsum?
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 Lorem Ipsum is simply dummy text of the printing and typesetting industry.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h4 id="card-with-custom-data"&gt;Card with custom data&lt;/h4&gt;
&lt;p&gt;Below example showing how you can display a custom content using this shortcode. Also you can pass the roles such as &lt;code&gt;alert&lt;/code&gt; or &lt;code&gt;danger&lt;/code&gt; to the Shortcode and it will style the card accordingly. If no role is passed default style will load.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shortcode&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/* &amp;lt; alert_box title=&amp;#34;Primary alert&amp;#34; content=&amp;#34;A simple primary alert—check it out!&amp;#34; &amp;gt; */}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/*&amp;lt; alert_box role=&amp;#34;success&amp;#34; title=&amp;#34;Success alert&amp;#34; content=&amp;#34;A simple success alert—check it out!&amp;#34; &amp;gt;*/}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/*&amp;lt; alert_box role=&amp;#34;warning&amp;#34; title=&amp;#34;Warning alert&amp;#34; content=&amp;#34;A simple warning alert—check it out!&amp;#34; &amp;gt;*/}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{/*&amp;lt; alert_box role=&amp;#34;danger&amp;#34; title=&amp;#34;Danger alert&amp;#34; content=&amp;#34;A simple danger alert—check it out!&amp;#34; &amp;gt;*/}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;






 


&lt;div class="card mb-3 p-0 info-card-bg"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Primary alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple primary alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Success alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple success alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;






 


&lt;div class="card mb-3 p-0 alert alert-warning"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Warning alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple warning alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;






 


&lt;div class="card mb-3 p-0 alert alert-danger"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Danger alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple danger alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Below is the code for above custom shortcode.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;alert_box.html&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;header&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;roleClass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;success&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;roleClass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;alert alert-success&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;warning&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;roleClass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;alert alert-warning&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;danger&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;roleClass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;alert alert-danger&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;roleClass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;info-card-bg&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card mb-3 p-0 {{$roleClass}} &amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-body&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h5&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h5&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-text text-muted fs-6&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;lorem-ipsum&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Lorem&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Ipsum&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;simply&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;dummy&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;printing&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;typesetting&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;industry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eq&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;header&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;another-info&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Contrary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;popular&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;belief&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Lorem&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Ipsum&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;simply&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can put the above HTML file in the &lt;code&gt;layouts/shortcodes&lt;/code&gt; folder as &lt;code&gt;alert_box.html&lt;/code&gt;. If you want, you can modify the shortcode as per your requirments to add more details. The style classes in the components are from &lt;strong&gt;Bootstrap&lt;/strong&gt;, but you can use as per you preferences.&lt;/p&gt;
&lt;p&gt;For exploring more, you can checkout the Card shortcode &lt;a href="https://www.binovarghese.com/blog/2023/01/card-shortcodes-for-hugo/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Hugo Custom Shortcodes</title><link>https://www.binovarghese.com/blog/2023/06/hugo-shortcodes/</link><pubDate>Sat, 02 Sep 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/hugo-shortcodes/</guid><description>&lt;p&gt;Here I am listing some of the Hugo custom shortcodes I have created for my to use in this website. Before going to custom shortcodes, you need to unnderstand what is a shortcode in Hugo.&lt;/p&gt;
&lt;h3 id="shortcodes"&gt;Shortcodes&lt;/h3&gt;
&lt;p&gt;Shortcodes are a way to insert templates into your content files, as explained on Hugo website. They allow you to add features that are not supported by Markdown, such as YouTube videos, images, info cards, and more. Instead of using raw HTML, which breaks the simplicity of Markdown syntax, you can use shortcodes to achieve the same results. Shortcodes are also easy to update and modify, as Hugo will apply the changes when building your site.&lt;/p&gt;
&lt;p&gt;In addition to cleaner Markdown, we can update the shortcode anytime with new changes and Hugo will reflect the same in the time of building.&lt;/p&gt;
&lt;h3 id="custom-shortcodes"&gt;Custom Shortcodes&lt;/h3&gt;
&lt;p&gt;There are few shortcodes is readily available in the Hugo like figure, gist, tweet, vimeo, etc for various purposes. Hugo’s built-in shortcodes cover many common, but not all use cases. Luckily, Hugo provides the ability to easily create custom shortcodes to meet your website’s needs.&lt;/p&gt;
&lt;p&gt;To create a custom shortcode, place an HTML template in the &lt;code&gt;layouts/shortcodes&lt;/code&gt; directory of your source organization.&lt;/p&gt;
&lt;p&gt;Below are some of the custom shortcodes I created for my website. Please feel free to check the below and use the same if you like it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Image gallery shortcode&lt;/li&gt;
&lt;li&gt;Card shortcode&lt;/li&gt;
&lt;li&gt;Image shortcode&lt;/li&gt;
&lt;li&gt;Alert box shortcode&lt;/li&gt;
&lt;/ul&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="image-gallery-shortcode"&gt;Image gallery shortcode&lt;/h3&gt;
&lt;p&gt;Hugo shortcode that creates an image gallery in a masonry style using GLightbox. This approach will display images from a specified folder in a masonry layout, and each image will open in a lightbox when clicked.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_293cd3e7673daa2f.webp 400w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_d8ef3bd4d77df973.webp 700w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e3698e36b3a3dbc.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e389da23f1003a4e.jpg"
 srcset="
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_6e7cda45f0c79b37.jpg 400w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_e389da23f1003a4e.jpg 700w,
 /img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash_hu_93373866e63b368b.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1028"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/adam-azim-e2d1U6MfaSE-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_c881c68c185d3784.webp 400w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_be5705917233e315.webp 700w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_c87d162aba29d822.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_879991171cf1d5ed.jpg"
 srcset="
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_fdf060a450418014.jpg 400w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_879991171cf1d5ed.jpg 700w,
 /img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash_hu_74f75e68d270b0fa.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/marco-d-abramo-4WHTdxG5t1c-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_baa5e60f6ece8e0c.webp 400w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_b5d679b8a1c194cc.webp 700w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_b0a39bfc35223f62.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_f7f584772d8e4d15.jpg"
 srcset="
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_2c8602de72cc0649.jpg 400w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_f7f584772d8e4d15.jpg 700w,
 /img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash_hu_4f060db7bb19286c.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1050"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/nikita-pishchugin-k6-M_x81RTc-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_225b45aec10901d.webp 400w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_a7b6af81c11612b7.webp 700w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_6623435ec450b262.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_ae541831f3ff5499.jpg"
 srcset="
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_4ecc7cd45cfe098e.jpg 400w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_ae541831f3ff5499.jpg 700w,
 /img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash_hu_e946af5302053cd6.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/rafael-garcin-6gLld3jW6xw-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_eee4e70622ef8db0.webp 400w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_ff215f591a7694ef.webp 700w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_c6da53390dae62b5.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_5513e31201e9199d.jpg"
 srcset="
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_fce63c6b22583834.jpg 400w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_5513e31201e9199d.jpg 700w,
 /img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash_hu_e270ad2490debc4f.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1049"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/the-now-time-uyNRcKvfJfQ-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_5508c855dd80a720.webp 400w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_2357c44823dfc40c.webp 700w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_74ce720b5989492b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_8ee9a531cdd7b9be.jpg"
 srcset="
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_e938ed159b11d65d.jpg 400w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_8ee9a531cdd7b9be.jpg 700w,
 /img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash_hu_3e628eb82a407d5e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/2024/hugo-gallery/toa-heftiba-q_S7VNx3H24-unsplash.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/blog/2024/11/hugo-image-gallery/"&gt;Read this for more details and code.&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="card-shortcode"&gt;Card shortcode&lt;/h3&gt;
&lt;p&gt;Shortcode for displaying card with text and links as shown below.&lt;/p&gt;
&lt;div class="row"&gt;

&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://some.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Some&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Lorem Ipsum is simply dummy text of the printing and typesetting industry. &lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.sample.io/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Sample&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Contrary to popular belief, Lorem Ipsum is not simply random text.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.title.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Title here&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;It is a long established fact that a reader will be distracted by the readable content.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/blog/2023/01/card-shortcodes-for-hugo/"&gt;Read this for more details and code.&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="image-shortcode"&gt;Image shortcode&lt;/h3&gt;
&lt;p&gt;Image shortcode which will replace existing figure shortcode and render the image with caption and link.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2023/life-of-tree-bahrain-photo-by-bino.jpg"
 alt="Tree of Life Photo by Bino"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://www.binovarghese.com/blog/2023/06/image-shortcodes-for-hugo/"&gt;Image shortcode&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.binovarghese.com/blog/2023/06/image-shortcodes-for-hugo/"&gt;Read this for more details and code.&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="alert-box-shortcode"&gt;Alert box shortcode&lt;/h3&gt;
&lt;p&gt;Card for displaying information in the blog post.&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 info-card-bg"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Primary
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple primary alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Success alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple success alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;






 


&lt;div class="card mb-3 p-0 alert alert-warning"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Warning alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple warning alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;






 


&lt;div class="card mb-3 p-0 alert alert-danger"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Danger alert
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 A simple danger alert—check it out!
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/blog/2023/06/info-card-shortcodes-for-hugo/"&gt;Read this for more details and code.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I hope I will create and share more custom shortcodes as the new requirements is coming.&lt;/p&gt;</description></item><item><title>PL SQL Constraints</title><link>https://www.binovarghese.com/notes/2023/08/pl-sql-constraints/</link><pubDate>Sun, 27 Aug 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/08/pl-sql-constraints/</guid><description>&lt;p&gt;To find the constraints in a table&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ALL_CONSTRAINTS&lt;/code&gt;: Provides information about all constraints accessible to the user, across all tables in the database. It includes constraint types, status, and more, but doesn’t show column-specific details.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ALL_CONSTRAINTS&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;YOUR_TABLE_NAME&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;AND&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;OWNER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;OWNER_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To find the constarints referring to a table.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ALL_CONSTRAINTS&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;R_CONSTRAINT_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CONSTRAINT_NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ALL_CONSTRAINTS&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;YOUR_TABLE_NAME&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;AND&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;OWNER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;OWNER_NAME&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;USER_CONS_COLUMNS&lt;/code&gt;: Shows details about columns associated with constraints for tables owned by the current user. It’s useful for checking specific columns involved in constraints like primary keys, foreign keys, or unique constraints.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, POSITION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM USER_CONS_COLUMNS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE TABLE_NAME = &amp;#39;YOUR_TABLE_NAME&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>The Simplest way to load CSS asynchronously</title><link>https://www.binovarghese.com/notes/2023/08/the-simplest-way-to-load-css-asynchronously/</link><pubDate>Sun, 27 Aug 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/08/the-simplest-way-to-load-css-asynchronously/</guid><description>&lt;p&gt;Sometimes we want to load the CSS asynchronously to reduce the intial page load and you can do the same by adding &lt;code&gt;media=&amp;quot;print&amp;quot; onload=&amp;quot;this.media='all'&lt;/code&gt; to the link as below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;link&lt;/span&gt; &lt;span class="n"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/path/to/my.css&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;media&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;print&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;onload&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;this.media=&amp;#39;all&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Let&amp;rsquo;s dive into the details of the above:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The link’s &lt;code&gt;media&lt;/code&gt; attribute is set to &lt;code&gt;print&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;print&lt;/code&gt; is a media type that applies to print-based media or when the user tries to print the page.&lt;/li&gt;
&lt;li&gt;By using &lt;code&gt;media=&amp;quot;print&amp;quot;&lt;/code&gt;, the CSS file loads asynchronously (since it&amp;rsquo;s not needed immediately for screen display).&lt;/li&gt;
&lt;li&gt;However, we still want to apply the styles to the page for screen use.&lt;/li&gt;
&lt;li&gt;To achieve this, we can use the &lt;code&gt;onload&lt;/code&gt; attribute to change the link’s &lt;code&gt;media&lt;/code&gt; to &lt;code&gt;all&lt;/code&gt; once it finishes loading.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.filamentgroup.com/lab/load-css-simpler/"&gt;filamentgroup&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codbix No.5</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-5/</link><pubDate>Mon, 31 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-5/</guid><description>&lt;p&gt;Welcome to Issue #5 of The Codbix! This week: Learn how to build tools, Things we Wished More Developers Knew About Databases, and The Italian Town That Built Its Own Sun.&lt;/p&gt;
&lt;h4 id="learn-how-to-build-tools"&gt;Learn how to build tools&lt;/h4&gt;
&lt;p&gt;Our jobs and lives are full of repetition, and one of the beauties of being developers is that we can take steps to automate away some of the repetition.&lt;/p&gt;
&lt;p&gt;Learning to automate, or at least minimise, repetition optimises your work. You can get your tools or boilerplate code out of the way, and focus your work’s unique benefits. Aside from automating the task at hand, removing repetition has a tonne of other benefits.&lt;/p&gt;
&lt;p&gt;Learn how to make small changes to make you more efficient.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letterstoanewdeveloper.com/2023/05/29/learn-how-to-build-tools/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="things-i-wished-more-developers-knew-about-databases"&gt;Things I Wished More Developers Knew About Databases&lt;/h4&gt;
&lt;p&gt;A large majority of computer systems have some state and are likely to depend on a storage system. My knowledge on databases accumulated over time, but along the way our design mistakes caused data loss and outages. In data-heavy systems, databases are at the core of system design goals and tradeoffs. Even though it is impossible to ignore how databases work, the problems that application developers foresee and experience will often be just the tip of the iceberg.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://rakyll.medium.com/things-i-wished-more-developers-knew-about-databases-2d0178464f78"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="driverjs"&gt;Driver.js&lt;/h4&gt;
&lt;p&gt;A light-weight, no-dependency, vanilla JavaScript engine to drive the user&amp;rsquo;s focus across the page&lt;/p&gt;
&lt;p&gt;&lt;a href="https://driverjs.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://github.com/kamranahmedse/driver.js"&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="links-i-found-when-i-am-wandering"&gt;Links I Found When I am Wandering&lt;/h2&gt;
&lt;hr&gt;
&lt;h4 id="cut-out-everything-thats-not-surprising"&gt;Cut out everything that’s not surprising.&lt;/h4&gt;
&lt;p&gt;So my main advice to anyone preparing to give a talk on stage is to cut out everything from your talk that’s not surprising. (Nobody has ever complained that a talk was too short.)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sive.rs/d22"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="the-italian-town-that-built-its-own-sun"&gt;The Italian Town That Built Its Own Sun&lt;/h4&gt;
&lt;p&gt;Surrounded by mountains and left in the dark for three months a year, a town in northern Italy has found a creative solution to its sunlight problem.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/collections/codbix/viganella-specchio.webp"
 alt="Image from Vice"&gt;&lt;figcaption&gt;
 &lt;p&gt;Image from Vice
 &lt;a href="https://www.vice.com/en/article/epnvzn/viganella-italy-fake-manmade-sun"&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://www.vice.com/en/article/epnvzn/viganella-italy-fake-manmade-sun"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;</description></item><item><title>Workstation</title><link>https://www.binovarghese.com/desk/2023/06/workstation/</link><pubDate>Sun, 30 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/06/workstation/</guid><description>&lt;p&gt;I am a huge fan of nice workstations and great interiors. It has been my dream to build a workspace for a long time, but for different reasons, it never happened. A few years ago, I made my first workspace with a small computer table, a chair, a laptop, and an extra monitor. Later, I moved to another flat and thought that I needed a new workspace.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s how I started building my current workspace. As a software developer and blogger, I spend countless hours sitting at my desk, and I wanted to create a space that was not only functional and practical but also motivating and expressive of who I am and what I like.&lt;/p&gt;
&lt;p&gt;So here is the detail of my workstation setup, for coding I use Dell latitude series laptop with logitech MK240 keyboard. Nowdays I am not using an extra monitor and I am okay with that. For other needs, I have the Sennheiser headphone along with a IKEA headphone stand, an adjustable mobile holder, and a tiny Sony bluetooth speaker. Oh yes, I have a notebook and penholder which I love most.&lt;/p&gt;
&lt;p&gt;To create a workspace that was both functional and beautiful, I added a few personal touches that were meaningful to me. Besides coding, I love plants, writing random thoughts, and traveling to new places. To reflect these, I placed money plants in the wooden shelves, framed poems that I wrote, and a mouse pad with a world map remainds me &amp;rsquo;the world is wide, life is short&amp;rsquo;. Also, I am planning to add some posters with my favourite quotes.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s my little workspace setup details. Nothing fancy, just beautiful for me and I am grateful for that.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/home/workstation.jpg"
 alt="Workstation"&gt;&lt;figcaption&gt;
 &lt;p&gt;Workstation&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Here is the full list of items used in my setup:&lt;/p&gt;
&lt;h5 id="gadgets"&gt;Gadgets&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Dell Latitude 5530 laptop with a Logitech MK270R Wireless Keyboard. I have a ZEB-NS2000 laptop stand &lt;del&gt;and use Dell 22&amp;quot; monitor&lt;/del&gt;.&lt;/li&gt;
&lt;li&gt;Lenova Ideapad 320 as secondary laptop.&lt;/li&gt;
&lt;li&gt;Sennheiser HD250BT for daily use with IKEA Mojlighet Headphone Stand.&lt;/li&gt;
&lt;li&gt;Kindle Paperwhite for daily reading.&lt;/li&gt;
&lt;li&gt;Sony bluetooth speaker.&lt;/li&gt;
&lt;li&gt;Adjustable Mobile Holder.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="other-workspace-items"&gt;Other Workspace Items&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Two small desks and chairs.&lt;/li&gt;
&lt;li&gt;Wooden shelves from IKEA.&lt;/li&gt;
&lt;li&gt;My money plants.&lt;/li&gt;
&lt;li&gt;Framed poems that I wrote.&lt;/li&gt;
&lt;li&gt;Paintings done by my wife.&lt;/li&gt;
&lt;li&gt;A guitar and some fairy lights.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;div class="splitbox"&gt;&lt;div class="left"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/home/home-1.jpg" width="500"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div class="right"&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/home/home-3.jpg" width="500"&gt;
&lt;/figure&gt;

&lt;/div&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Thanks to wife, brother, and cousins who helped me to do this setup. If you want to know the gadgets details and other services I use, check this &lt;a href="https://www.binovarghese.com/blog/2021/what-i-use-2021/"&gt;post&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>What is React?</title><link>https://www.binovarghese.com/blog/2023/07/what-is-react/</link><pubDate>Tue, 11 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/07/what-is-react/</guid><description>&lt;h3 id="introduction-to-react"&gt;Introduction to React&lt;/h3&gt;
&lt;p&gt;React is an open-source JavaScript library for building user interfaces, particularly well-suited for single-page applications. It enables developers to create modern, responsive web and mobile interfaces using a declarative, &lt;a href="https://www.binovarghese.com/blog/2023/01/react-components/"&gt;component-based&lt;/a&gt; approach.&lt;/p&gt;
&lt;p&gt;React was created by Jordan Walke, a software engineer at Facebook. It was first deployed on Facebook’s News Feed in 2011 and later on Instagram in 2012. The library is named “React” because it helps developers efficiently &amp;ldquo;react&amp;rdquo; to changes in an application’s state by seamlessly rendering and updating the user interface.&lt;/p&gt;
&lt;p&gt;React’s declarative design allows developers to specify how the UI should look based on the application’s current state, leaving React to handle updates and rendering. This simplifies development by letting developers focus on application logic rather than manual UI updates.&lt;/p&gt;
&lt;h3 id="the-evolution-of-react"&gt;The Evolution of React&lt;/h3&gt;
&lt;p&gt;The history of ReactJS traces back to 2010 with the creation of XHP, a PHP extension designed to enhance the language&amp;rsquo;s syntax by allowing XML document fragments to be valid PHP expressions. XHP&amp;rsquo;s primary purpose was to create custom and reusable HTML elements, improving front-end code readability and simplifying development&lt;/p&gt;
&lt;p&gt;A notable advantage of XHP was its ability to prevent cross-site scripting (XSS) attacks by sanitizing user-submitted content, ensuring secure handling of malicious input. However, XHP had limitations. Dynamic web applications often required multiple server round-trips for updates, and XHP did not address these inefficiencies. Furthermore, even minor updates in the application required the entire UI to be re-rendered, leading to performance issues.&lt;/p&gt;
&lt;p&gt;Inspired by XHP, Jordan Walke developed an early prototype of React, initially called FaxJ. Over time, it evolved into a JavaScript library designed to address these challenges by enabling efficient UI rendering and updates. React was eventually introduced to the JavaScript ecosystem, transforming modern web development.&lt;/p&gt;
&lt;h3 id="major-features-of-react"&gt;Major Features of React&lt;/h3&gt;
&lt;p&gt;The key features of React include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;JSX Syntax&lt;/strong&gt;: React uses JSX, a JavaScript syntax extension, to allow developers to write HTML-like code directly in JavaScript, making it more intuitive and readable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual DOM&lt;/strong&gt;: React employs a Virtual DOM to optimize rendering, reducing the performance cost of direct interactions with the Real DOM.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Server-Side Rendering (SSR)&lt;/strong&gt;: React supports SSR, enabling faster page loads and better SEO by pre-rendering components on the server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unidirectional Data Flow&lt;/strong&gt;: React enforces a one-way data flow, making applications predictable and easier to debug.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reusable Components&lt;/strong&gt;: React emphasizes reusable, composable UI components, allowing for modular and maintainable development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;State and Props Management&lt;/strong&gt;: React provides a simple yet powerful way to manage dynamic data (state) and pass data between components (props).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integration with Tools&lt;/strong&gt;: React seamlessly integrates with popular tools like Redux, React Router, and SSR frameworks to enhance development workflows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rich Ecosystem&lt;/strong&gt;: With extensive documentation, a large community, and numerous third-party libraries, React offers robust support for developers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;p&gt;React revolutionized front-end development with its declarative design, component-based architecture, and focus on efficiency. It empowers developers to build dynamic, responsive user interfaces with ease, making it a cornerstone of modern web and mobile application development.&lt;/p&gt;
&lt;h4 id="reference"&gt;Reference&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://react.dev"&gt;React Site&lt;/a&gt;, &lt;a href="https://github.com/Ashrayaa/Namaste-React/blob/main/Chap01_Inception/Theory.md"&gt;Ashrayaa&lt;/a&gt;, &lt;a href="https://github.com/sudheerj/reactjs-interview-questions?tab=readme-ov-file#what-is-react"&gt;React Questions&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PL/SQL Returning Into</title><link>https://www.binovarghese.com/notes/2023/07/plsql-returning/</link><pubDate>Mon, 10 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/07/plsql-returning/</guid><description>&lt;p&gt;The &lt;code&gt;RETURNING INTO&lt;/code&gt; clause allows us to return column values for rows affected by DML statements. The returned data could be a single column, multiple columns or expressions.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;INSERT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INTO&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;VALUES&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t1_seq&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nextval&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;FOUR&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;RETURNING&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INTO&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/lnpls/RETURNING-INTO-clause.html"&gt;Oracle&lt;/a&gt;,
&lt;a href="https://www.dba-oracle.com/t_plsql_returning_clause.htm"&gt;dba-oracle&lt;/a&gt;,
&lt;a href="https://oracle-base.com/articles/misc/dml-returning-into-clause"&gt;oracle base&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Commenting the stored procedures</title><link>https://www.binovarghese.com/blog/2023/06/plsql-stored-procedure-structure/</link><pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/plsql-stored-procedure-structure/</guid><description>&lt;p&gt;Writings comments in the code will help you and anyone who reads the code by giving more readability and understandings. As you know the compiler ignores the comments and there is no straight way to verify the comments, we should make sure that the comments are easily readable and should not duplicate the code.&lt;/p&gt;
&lt;p&gt;We need to keep the same in the mind when we are writing Stored Procedures. so here I am trying to make some guidelines to remember when we are commenting Stored Procedures.&lt;/p&gt;
&lt;h3 id="commenting-guidelines"&gt;Commenting guidelines&lt;/h3&gt;
&lt;p&gt;Below are the commenting guidelines for writing or modifying the Stored Procedures in your database:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mention the name of the author and date of creation.&lt;/li&gt;
&lt;li&gt;Purpose of the stored procedure ( What it does).&lt;/li&gt;
&lt;li&gt;Effects of the procedure. ( External variables, Tables, files, etc.)&lt;/li&gt;
&lt;li&gt;Specify the purpose of the input parameters.&lt;/li&gt;
&lt;li&gt;Explain the values returned by the procedure.&lt;/li&gt;
&lt;li&gt;Page or module from the stored procedure is calling.&lt;/li&gt;
&lt;li&gt;Write comments which includes what is the code doing and why its doing the same.&lt;/li&gt;
&lt;li&gt;If any modification is doing mention the name of the author and date of modification.&lt;/li&gt;
&lt;li&gt;Reason for the modification. ( Bug fixing, Improvement, Support tickets, etc)&lt;/li&gt;
&lt;li&gt;Write exception handing methods and log it. ( Optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example-procedure-in-plsql"&gt;Example procedure in PL/SQL&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;create or replace PROCEDURE SP_NAME(
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; P_COMPANY_POID NUMBER, 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; P_USER_POID NUMBER,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; P_STATUS OUT VARCHAR2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_COUNT NUMBER;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_USER_NAME VARCHAR2(100); 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_ERROR_LINE VARCHAR2(4000);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_ERROR_MSG VARCHAR2(4000);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;BEGIN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Author Name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Date of creation
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Description of the stored procedure.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- If its possible, explain procedure parameters.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- SOM1 / Author name / Date / Details of modifications.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- SOM2 / Author name / Date / Details of modifications.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Write comments describing what is the below code doign and why the same is doing. 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; BEGIN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT COUNT(*) INTO L_COUNT FROM USERS 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WHERE USER_POID = P_USER_POID;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; EXCEPTION 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WHEN NO_DATA_FOUND THEN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_COUNT := 0;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; END;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; IF L_COUNT = 0 THEN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; P_STATUS := &amp;#39;ERROR: No Record found in table.&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RETURN;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; END IF;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Comments
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT USER_NAME INTO L_USER_NAME FROM USERS WHERE USER_POID = P_USER_POID;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; INSERT INTO NEW_USERS_TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ( USER_NAME )
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT L_USER_NAME FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- SOM1 / Author name / Date of creation ** SOM means start of modification.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Reason and details of the change. 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; DELETE FROM USERS WHERE USER_POID = P_USER_POID;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- EOM / Author name / Date of creation 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Author name / Date of modification.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Write why the below is commented.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Comments
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; INSERT INTO USERS_MIGRATED
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ( USER_NAME )
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SELECT L_USER_NAME FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; */ 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -- Error handling 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; EXCEPTION
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WHEN OTHERS THEN
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_ERROR_LINE := DBMS_UTILITY.FORMAT_ERROR_STACK ||&amp;#39; at line &amp;#39; || $$PLSQL_LINE 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; || &amp;#39; ERROR_BACKTRACE: &amp;#39; || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; L_ERROR_MSG := SQLERRM;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; P_STATUS := &amp;#39;ERROR : In document posting &amp;#39; || L_ERROR_LINE;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;END;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hope the above will help you to comment the Stored Procedures more effectively.&lt;/p&gt;</description></item><item><title>Deleting node modules</title><link>https://www.binovarghese.com/notes/2023/07/delete-node-modules-via-npxkill/</link><pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/07/delete-node-modules-via-npxkill/</guid><description>&lt;p&gt;In windows, deleting node modules takes so much time and sometimes it makes my screen unresponsive. I googled for some solution and found the below:&lt;/p&gt;
&lt;p&gt;Install a npm package called &lt;code&gt;npkill&lt;/code&gt; with the command &lt;code&gt;npm i -g npkill&lt;/code&gt;.&lt;br&gt;
After installing from the terminal go to the directory from which we want to delete the node modules and type &lt;code&gt;npkill&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The command prompt will list all the node modules and we can select the required folder.&lt;br&gt;
After the secltion, you can press the Space key which will erase the directory in which the cursor is located.&lt;/p&gt;
&lt;p&gt;To exit, &lt;code&gt;q&lt;/code&gt;, or &lt;code&gt;Ctrl + c&lt;/code&gt;.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://npkill.js.org/"&gt;npkill&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codbix No.4</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-4/</link><pubDate>Fri, 30 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-4/</guid><description>&lt;p&gt;Welcome to Issue #4 of The Codbix! This week: Modern work requires attention, Self-healing code is the future of software development and How The world’s biggest batches of food are made.&lt;/p&gt;
&lt;h4 id="modern-work-requires-attention-constant-alerts-steal-it"&gt;Modern work requires attention. Constant alerts steal it&lt;/h4&gt;
&lt;p&gt;When we have multiple demands on our attention, we try multitasking—splitting our spotlight or shifting it rapidly to focus on the many tasks that come our way. The truth is, we’re bad at multitasking. There’s a mental cost to switching tasks, and that cost translates to up to 40% more time to complete the tasks. Small errors of inattention slip in—typos, missed cues, and quickly forgotten details. Even trying to do only two things at once can mean you do both badly.&lt;/p&gt;
&lt;p&gt;All these interruptions can lead to greater stress and anxiety. Depending on the task, productivity may not suffer, but interruptions may cause us to work faster, which leads to greater time pressure, frustration, and stress. It takes more effort to complete the same amount of work with interruptions in the mix. In the longer-term, enduring regular interruptions—up to 85 per day—can cause decreased job satisfaction and burnout.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.blog/2023/05/22/modern-work-requires-attention-constant-alerts-steal-it/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="self-healing-code-is-the-future-of-software-development"&gt;Self-healing code is the future of software development&lt;/h4&gt;
&lt;p&gt;Developers love automating solutions to their problems, and with the rise of generative AI, this concept is likely to be applied to both the creation, maintenance, and the improvement of code at an entirely new level.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.blog/2023/06/07/self-healing-code-is-the-future-of-software-development/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="nobody-has-to-lose-in-worklife-balance"&gt;Nobody has to lose in work/life balance&lt;/h4&gt;
&lt;p&gt;One in the history of the world has ever done a better job because they were scared, stressed, or worried about their future; especially in jobs centered around creativity and problem solving like development. If I am able to give them a better sense of control in their life, if they will be able to work better and happier.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.blog/2020/07/01/nobody-has-to-lose-in-work-life-balance/"&gt;Article link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data Dictionary Views in PL/SQL</title><link>https://www.binovarghese.com/blog/2023/06/basic-queries-in-plsql-for-meta-data/</link><pubDate>Wed, 21 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/basic-queries-in-plsql-for-meta-data/</guid><description>&lt;p&gt;I want to create a cheat sheet for PL/SQL data dictionary views. It will serve as a quick reference to easily explore and query database metadata.&lt;/p&gt;
&lt;p&gt;In RDMS, Data dictionary is a collection of READ-ONLY table and views that contain metadata about the database. It consists data about all the usrers in the system, thier roles, database objects (Table, View, Sequence, Index, and Synonym), storage details, auditing information, and many more.&lt;/p&gt;
&lt;h4 id="how-to-list-all-dictionary-views"&gt;How to list all Dictionary Views&lt;/h4&gt;
&lt;p&gt;Using below query you can view the &lt;code&gt;dictionary&lt;/code&gt; views avaiable to you.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT table_name 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM dictionary 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ORDER BY table_name;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the &lt;code&gt;dictionary&lt;/code&gt; table you can find the below categories of data dictionary views.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Prefix&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;USER_&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Info about objects &lt;strong&gt;owned by the current user&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ALL_&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Info about objects accessible to the user (granted or owned)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;DBA_&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Info about &lt;strong&gt;all objects in the database&lt;/strong&gt; (DBA only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;CDB_&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;For &lt;strong&gt;container databases&lt;/strong&gt; (multitenant architecture)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;V$&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Dynamic performance views&lt;/strong&gt; (memory, sessions, I/O, etc.)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;GV$&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global dynamic views (across all instances in RAC)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;NLS_&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Info about &lt;strong&gt;National Language Support&lt;/strong&gt; settings&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="what-you-can-find-in-the-dictionary-views"&gt;What you can find in the Dictionary Views&lt;/h4&gt;
&lt;p&gt;As discussed, you can find various tables and views which is heLpful to get metadata of database objects.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Area&lt;/th&gt;
 &lt;th&gt;Examples&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;All objects&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_SOURCE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tables, &amp;amp; Columns&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_TABLES&lt;/code&gt;, &lt;code&gt;ALL_TAB_COLUMNS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Indexes&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_INDEXES&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Sequences&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_SEQUENCES &lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Constraints &amp;amp; Keys&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_CONSTRAINTS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Triggers&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_TRIGGERS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Views and Synonyms&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_VIEWS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Procedures &amp;amp; Functions&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_PROCEDURES&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Users and Roles&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_USERS&lt;/code&gt;, &lt;code&gt;DBA_ROLES&lt;/code&gt;, &lt;code&gt;ROLE_ROLE_PRIVS&lt;/code&gt;, &lt;code&gt;ROLE_SYS_PRIVS&lt;/code&gt;, &lt;code&gt;ROLE_TAB_PRIVS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Grants and Privileges&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;USER_SYS_PRIVS&lt;/code&gt;, &lt;code&gt;USER_TAB_PRIVS&lt;/code&gt;, &lt;code&gt;USER_ROLE_PRIVS&lt;/code&gt;, &lt;code&gt;SESSION_PRIVS&lt;/code&gt;, &lt;code&gt;ALL_OBJECTS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tablespaces &amp;amp; Files&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DBA_TABLESPACES&lt;/code&gt;, &lt;code&gt;USER_TABLESPACES&lt;/code&gt;, &lt;code&gt;CDB_TABLESPACES&lt;/code&gt;, &lt;code&gt;V$TABLESPACE&lt;/code&gt;, &lt;code&gt;DBA_DATA_FILES&lt;/code&gt;, &lt;code&gt;V$DATAFILE&lt;/code&gt; &lt;code&gt;DBA_TEMP_FILES&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Storage&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DBA_FREE_SPACE&lt;/code&gt;, &lt;code&gt;DBA_SEGMENTS&lt;/code&gt;, &lt;code&gt;DBA_EXTENTS&lt;/code&gt;, &lt;code&gt;DBA_TEMP_FREE_SPACE&lt;/code&gt;, &lt;code&gt;DBA_TABLESPACE_USAGE_METRICS&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Sessions and Locks&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;V$SESSION&lt;/code&gt;, &lt;code&gt;DBA_LOCK&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Dependencies&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ALL_DEPENDENCIES&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can see the above tables which is available in the &lt;code&gt;dictionary&lt;/code&gt; and you can add the prefixes such as &lt;code&gt;USER&lt;/code&gt;, &lt;code&gt;ALL&lt;/code&gt; and &lt;code&gt;DBA&lt;/code&gt; to the same to access the different tables as show below:&lt;/p&gt;
&lt;h3 id="tables"&gt;Tables&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;ALL_TABLES&lt;/code&gt; describes the relational tables accessible to the current user. To gather statistics for this view, use the DBMS_STATS package.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT table_name FROM all_tables
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE tablespace_name = &amp;#39;EXAMPLE&amp;#39; ORDER BY table_name;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;DBA_TABLES&lt;/code&gt; describes all relational tables in the database.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * from DBA_TABLES;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;USER_TABLES&lt;/code&gt; describes the relational tables owned by the current user. This view does not display the &lt;code&gt;OWNER&lt;/code&gt; column.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * from USER_TABLES;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To check the table size in the current schema.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT SEGMENT_NAME,SEGMENT_TYPE, SUM(BYTES/1024/1024/1024) GB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DBA_SEGMENTS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WHERE SEGMENT_NAME=&amp;#39;&amp;amp;TableName&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GROUP BY SEGMENT_NAME,SEGMENT_TYPE; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I hope from the above you will get an idea of the metadata tables in the Pl/SQL which can use for monitoring the database.&lt;/p&gt;
&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/ALL_TABLES.html#GUID-6823CD28-0681-468E-950B-966C6F71325D"&gt;Oracle Doc&lt;/a&gt;,
&lt;a href="https://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle"&gt;Stack Overflow&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Redirect your webpage using JavaScript</title><link>https://www.binovarghese.com/blog/2023/06/get-current-url-javascript/</link><pubDate>Wed, 14 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/get-current-url-javascript/</guid><description>&lt;p&gt;I recently moved my website from another domain to this one. I need to route the users from the old to this without much effort. So I decided to write a simple JavaScript which redirect from one page to another.&lt;/p&gt;
&lt;p&gt;If you want the solution right away, copy and paste the below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;timer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;https://binovarghese.com&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathname&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/script&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;window.location&lt;/code&gt; object can be used to get the current page address and redirect to a new page. In the above script, &lt;code&gt;replace&lt;/code&gt; method of the &lt;code&gt;location&lt;/code&gt; interface replaces the current resource with one which we provided.&lt;/p&gt;
&lt;p&gt;Also I need to redirect to exact page in the new website, for the same we can use the &lt;code&gt;window.location.pathname&lt;/code&gt; which returns the path and filename of the current page.&lt;/p&gt;
&lt;p&gt;If you want to dive more on Window Location object read the below.&lt;/p&gt;
&lt;h5 id="windowlocation-properties"&gt;window.location properties:&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;window.location.host&lt;/code&gt; returns the domain name and port number of the web host.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.hostname&lt;/code&gt; returns the domain name of the web host.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.href&lt;/code&gt; returns the URL of the current page.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.origin&lt;/code&gt; returns the protocol, hostname and port number of the URL.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.pathname&lt;/code&gt; returns the path and filename of the current page.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.port&lt;/code&gt; returns the port number of the URL. If the website is using default ports, it will omit the port number and display nothing.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.protocol&lt;/code&gt; returns the web protocol used (http: or https:).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.search&lt;/code&gt; returns the query string of the URL.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="windowlocation-methods"&gt;window.location methods:&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;window.location.assign()&lt;/code&gt; loads a new document.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.reload()&lt;/code&gt; Reloads the current document.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.location.replace()&lt;/code&gt; Replace the current URL with new one.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;p&gt;Let assume for the below url&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;https&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//binovarghese.com/blog/2023/06/get-current-url-javascript/ 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;host&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// binovarghese.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// binovarghese.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// https://binovarghese.com/blog/2023/06/get-current-url-javascript/ 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// https://binovarghese.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathname&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// /blog/2023/06/get-current-url-javascript/ 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;protocol&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// https:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>രാത്രിസഞ്ചാരം</title><link>https://www.binovarghese.com/ml/2023/06/alone-in-the-night-walk/</link><pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2023/06/alone-in-the-night-walk/</guid><description>&lt;p&gt;ഒരോ രാത്രിസഞ്ചാരത്തിന്&lt;br&gt;
ഇറങ്ങുമ്പോഴും ഞാൻ നിന്നേയോർക്കും.&lt;/p&gt;
&lt;p&gt;നക്ഷത്രങ്ങളില്ലാത്ത കറുത്ത രാത്രിയിൽ&lt;br&gt;
നാം നടന്ന വഴികളിൽ ഞാൻ വെറുതെ&lt;br&gt;
വന്ന് നിൽക്കും.&lt;br&gt;
ഈ മഞ്ഞവെളിച്ചങ്ങളുടെ&lt;br&gt;
തെരുവിൽ ഞാനിപ്പോൾ ഒറ്റക്കാണ്.&lt;/p&gt;
&lt;p&gt;ഈ തെരുവിന്റെ വഴിയവസാനമാണ്&lt;br&gt;
നമ്മുടെ പ്രിയപ്പെട്ട ആൻഡലസ് ഉദ്യാനം, &lt;br&gt;
അതിന്റെ കിഴക്കേ മൂലയിലെ പേരറിയാ&lt;br&gt;
മരത്തിന്റെ ചുവട്ടിലാണ്&lt;br&gt;
നാം ആകാശത്തോളം സ്വപ്നങ്ങൾ&lt;br&gt;
കണ്ട് കിടന്നത്.&lt;/p&gt;
&lt;p&gt;ഇന്ന് ഞാനും സ്വപ്നങ്ങളും തനിച്ചാണിവിടെ.&lt;br&gt;
വെറുതെയാ മരച്ചുവട്ടിൽ കിടന്നു ഞാൻ.&lt;br&gt;
കറുത്തയാകാശം, നിറയെ നക്ഷത്രങ്ങൾ.&lt;/p&gt;
&lt;p&gt;കണ്ണടക്കട്ടെ ഞാൻ, സ്വപ്നത്തിൽ നീ വന്നാലോ!&lt;br&gt;
ഒരു ചുംബനംകൊണ്ട് ഉണർത്തിയാലോ!!&lt;/p&gt;</description></item><item><title>Install a specific version of npm package</title><link>https://www.binovarghese.com/blog/2023/06/install-a-specific-version-in-npm/</link><pubDate>Wed, 07 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/06/install-a-specific-version-in-npm/</guid><description>&lt;p&gt;Installing a specific version of an npm package, something that will help to solve compatibility issues.&lt;/p&gt;
&lt;p&gt;You can use the below command for installing a specific version of a npm package.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;package&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;version&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;p&gt;Below will install the current verion of the axios.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you want to install the verions 0.22.0 you can use the below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="mf"&gt;0.22&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For installing it as global package, run the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="mf"&gt;0.22&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For listing all the previous version of a package. You can do it with &lt;code&gt;npm view &amp;lt;package&amp;gt; versions&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;view&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="nx"&gt;versions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For tree-structured list of all your locally installed packages, including their dependencies, run the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For viewing the packages inserted globally, run the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For viewing the verion of a specific package, run the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>മടക്കയാത്രയില്ലാത്തിടത്ത്</title><link>https://www.binovarghese.com/ml/2023/06/return-to-home/</link><pubDate>Fri, 02 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2023/06/return-to-home/</guid><description>&lt;p&gt;ഇനി കൈകൾ വിരിച്ച്&lt;br&gt;
നിങ്ങളെന്നെ ആലിംഗനം ചെയ്യുക.&lt;br&gt;
ഇത്തിരി നേരമതിലമർന്ന്&lt;br&gt;
നിന്നോട്ടെ ഞാൻ.&lt;/p&gt;
&lt;p&gt;മടക്കയാത്രയില്ലാത്തിടത്ത്&lt;br&gt;
ഒടുവിൽ ഞാൻ വന്നുവെന്നും&lt;br&gt;
അവസാന വേർപിരിയലിന്&lt;br&gt;
ശേഷവും വീണ്ടുമൊരു&lt;br&gt;
കണ്ടുമുട്ടൽ സാദ്ധ്യമാണെന്നും&lt;br&gt;
ഞാൻ വിശ്വസിക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;ഇനിയെനിക്ക് വിശ്രമിക്കാം,&lt;br&gt;
നമ്മുക്കെല്ലാവർക്കും&lt;br&gt;
ഒരുമിച്ചിരുന്ന് കഥകൾ&lt;br&gt;
പറഞ്ഞോണ്ട്&lt;br&gt;
ഒരു ചായ കുടിക്കാം.&lt;/p&gt;
&lt;p&gt;ഒടുവിൽ വീടെത്തിയെന്ന്&lt;br&gt;
ഞാൻ ആശ്വസിക്കട്ടെ.&lt;/p&gt;</description></item><item><title>മടങ്ങി വരവ്</title><link>https://www.binovarghese.com/ml-musings/2023/she-is-returning/</link><pubDate>Thu, 01 Jun 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/she-is-returning/</guid><description>&lt;p&gt;മടങ്ങിവരവെന്നുള്ള പദം&lt;br&gt;
നിന്നോളം മനോഹരമാകുന്നത്&lt;br&gt;
നീ മടങ്ങി വരുന്നുവെന്ന്&lt;br&gt;
ഓർക്കുമ്പോളാണ്.&lt;/p&gt;</description></item><item><title>കുഴപ്പങ്ങൾ</title><link>https://www.binovarghese.com/ml-musings/2023/reader/</link><pubDate>Sun, 28 May 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/reader/</guid><description>&lt;p&gt;എന്നെക്കുറിച്ച് ഏറ്റവുമടുത്തൊരു സുഹൃത്തിന്റെ നിരീക്ഷണം ഇങ്ങനെയാണ്.&lt;br&gt;
കുറച്ച് പുസ്തകങ്ങളൊക്കെ വായിക്കും, അതിന്റേതായ കുറച്ച് കുഴപ്പങ്ങളുണ്ട്.&lt;/p&gt;</description></item><item><title>ഉപ്പുരസം</title><link>https://www.binovarghese.com/ml-musings/2023/love-of-others/</link><pubDate>Thu, 25 May 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/love-of-others/</guid><description>&lt;p&gt;എന്റെ കവിതകളിൽ ഉപ്പുണ്ട്.&lt;br&gt;
എനിക്ക് വേണ്ടി അധ്വാനിച്ച&lt;br&gt;
എല്ലാ മനുഷ്യരുടെയും&lt;br&gt;
കണ്ണീരിന്റെയും വിയർപ്പിന്റെയും&lt;br&gt;
സ്നേഹത്തിന്റെ ഉപ്പുരസം.&lt;/p&gt;</description></item><item><title>ബുദ്ധൻ</title><link>https://www.binovarghese.com/ml-musings/2023/raining-of-lights/</link><pubDate>Mon, 22 May 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/raining-of-lights/</guid><description>&lt;p&gt;പ്രകാശം പെയ്തിറങ്ങുന്ന &lt;br&gt;
ഇരുട്ടിന്റെ ഇടവഴികളിൽ&lt;br&gt;
നിമിഷാർദ്ധത്തേക്ക് ഞാൻ&lt;br&gt;
ബുദ്ധനായിത്തീരാറുണ്ട്.&lt;/p&gt;</description></item><item><title>നിങ്ങൾ</title><link>https://www.binovarghese.com/ml-musings/2023/raining/</link><pubDate>Mon, 15 May 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/raining/</guid><description>&lt;p&gt;വൈകുന്നേരങ്ങളിൽ&lt;br&gt;
രാത്രികളിൽ&lt;br&gt;
ചിന്തകളിൽ&lt;br&gt;
നിങ്ങളെന്നിൽ&lt;br&gt;
ഇടവിടാതെ&lt;br&gt;
പെയ്ത്കൊണ്ടിരിക്കുന്നു.&lt;/p&gt;</description></item><item><title>നക്ഷത്രങ്ങൾ</title><link>https://www.binovarghese.com/ml-musings/2023/stars-rained/</link><pubDate>Sat, 06 May 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/stars-rained/</guid><description>&lt;p&gt;നിന്റെ ചുണ്ടുകൾ&lt;br&gt;
നുകരുമ്പോളെല്ലാം&lt;br&gt;
നക്ഷത്രങ്ങൾ&lt;br&gt;
പെയ്തിറങ്ങാറുണ്ട്.&lt;/p&gt;</description></item><item><title>ജീവിതം</title><link>https://www.binovarghese.com/ml-musings/2023/life-is-now/</link><pubDate>Fri, 28 Apr 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/life-is-now/</guid><description>&lt;p&gt;പോയകാല വസന്തങ്ങളെയും&lt;br&gt;
വരുവാനുള്ള ശിശിരങ്ങളെയും&lt;br&gt;
ഞാനോർക്കാറില്ല.&lt;br&gt;
ഈ നിമിഷത്തിന്റെ&lt;br&gt;
ആഴപ്പരപ്പുകളിൽ സ്വയമറിയാൻ&lt;br&gt;
ശ്രമിക്കുന്നതിലുപരി&lt;br&gt;
വേറെന്താണീ ജീവിതം.&lt;/p&gt;</description></item><item><title>നീ</title><link>https://www.binovarghese.com/ml-musings/2023/poem-and-pain/</link><pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2023/poem-and-pain/</guid><description>&lt;p&gt;എഴുതിയതേറയും നിന്നെക്കുറിച്ചായിരുന്നു&lt;br&gt;
വേദനിച്ചതേറയും നിന്നെക്കുറിച്ച്&lt;br&gt;
തന്നെയായിരുന്നു.&lt;/p&gt;</description></item><item><title>Buri farm</title><link>https://www.binovarghese.com/drawer/2023/03/buri-farm/</link><pubDate>Fri, 31 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2023/03/buri-farm/</guid><description>&lt;p&gt;In the early morning, my brother and me went to visit a local farm. Here are the few snaps from there.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_055238.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_4b7e6469bbd0814.webp 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_72dda3a0095c4d67.webp 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_b92e003fe95328d0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_055238_hu_f5f54d3ecde1b4fe.jpg"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_aba50300389ff27b.jpg 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_f5f54d3ecde1b4fe.jpg 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_055238_hu_d6befa7da8ed1522.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/buri-farm/IMG_20230331_055238.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_055956.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_8940de1bbd0e438a.webp 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_7d7ac7349a5907d3.webp 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_c358a4b21cc2bd01.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_055956_hu_1333e8fa25483ec8.jpg"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_2cb9b2d758154fbc.jpg 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_1333e8fa25483ec8.jpg 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_055956_hu_38c71986662028ab.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/buri-farm/IMG_20230331_055956.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_060920.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_868ddba6cf3b8ae3.webp 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_46ac452e588de26e.webp 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_f18eaabd909c2e3d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_060920_hu_30eb93927492dce4.jpg"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_74ec7e0570c87d9e.jpg 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_30eb93927492dce4.jpg 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_060920_hu_27dca78c35c1ee9a.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/buri-farm/IMG_20230331_060920.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_062620.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_689884ca8a29e59e.webp 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_bb89369974892b9a.webp 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_986f0041201a181a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_062620_hu_864af2b905448bea.jpg"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_9118ce8279854861.jpg 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_864af2b905448bea.jpg 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_062620_hu_a1ed5a2da881bf8b.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/buri-farm/IMG_20230331_062620.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_062741_1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_ffb2f86715cd8d87.webp 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_23dc3f4b7f02b885.webp 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_1470aa171a571d66.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_da5f80d593f37bf8.jpg"
 srcset="
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_cd5a1e6ce4715ac3.jpg 400w,
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_da5f80d593f37bf8.jpg 700w,
 /img/drawer/2023/buri-farm/IMG_20230331_062741_1_hu_61bc8ca25eb11839.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/buri-farm/IMG_20230331_062741_1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>Codbix No.3</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-3/</link><pubDate>Fri, 31 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-3/</guid><description>&lt;p&gt;Welcome to Issue #3 of The Codbix! This week: The Arc Browser, Databases Sharding Explained, The Boy, the Mole, the Fox and the Horse, and Workspaces.&lt;/p&gt;
&lt;h4 id="the-arc-browser"&gt;The Arc Browser&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://arc.net/"&gt;Arc&lt;/a&gt; is an internet browser released in 2022 by the Browser Company, a team of alums from Instagram, Google Chrome, Snap, Slack, Pinterest and more. I hope this will be worthy competitor to Chrome and may change the game forever.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.theverge.com/23462235/arc-web-browser-review"&gt;Link to Verge Article&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;h4 id="databases-sharding-explained"&gt;Databases Sharding Explained&lt;/h4&gt;
&lt;p&gt;Your app is getting better. It has more features, more active users, and every day it collects more data. Your database is now causing the rest of your application to slow down. Database sharding might be the answer to your problems, but many people don&amp;rsquo;t know what it is and, most importantly, when to use it. &lt;a href="https://architecturenotes.co/database-sharding-explained/"&gt;Article by Mahdi Yusuf&lt;/a&gt; explains what database sharding is, how it works, and the best ways to use it.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/collections/2023/databases-sharding-explained.jpeg"
 alt="Image from architecture notes"&gt;&lt;figcaption&gt;
 &lt;p&gt;Image from architecture notes&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href="https://architecturenotes.co/database-sharding-explained/"&gt;Link to Article&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;
&lt;h4 id="workspaces"&gt;Workspaces&lt;/h4&gt;
&lt;p&gt;I love my workspace, and I&amp;rsquo;m very curious about exploring the workspaces of creative individuals. In my quest, I stumbled upon the Workspaces website.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/collections/2023/workspaces.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Its a beautiful collection of desk setups from creative individuals that was created by Ryan Gilbert. COVID-19 forced more and more companies into a WFH environment. An increasing number of tweets containing new desk setups began popping up daily. Workspaces was born to capture this inspiration in one place.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.workspaces.xyz/"&gt;Link to Workspaces&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; 
 &lt;/p&gt;</description></item><item><title>Steal Like an Artist and other book notes</title><link>https://www.binovarghese.com/desk/2023/01/steal-like-an-artist/</link><pubDate>Wed, 22 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/01/steal-like-an-artist/</guid><description>&lt;p&gt;I recently read three books by Austin Kleon, and I thoroughly enjoyed them. The content resonated with me, and I found it both insightful and inspiring. For easy reference, I’ve compiled a list of key takeaways from each book below.&lt;/p&gt;
&lt;h3 id="steal-like-an-artist"&gt;Steal Like an Artist&lt;/h3&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/Steal-like-an-artist.webp"&gt;
&lt;/figure&gt;

&lt;ol&gt;
&lt;li&gt;Steal like an artist.&lt;/li&gt;
&lt;li&gt;Don’t wait until you know who you are to get started.&lt;/li&gt;
&lt;li&gt;Write the book you want to read.&lt;/li&gt;
&lt;li&gt;Use your hands.&lt;/li&gt;
&lt;li&gt;Side projects and hobbies are important.&lt;/li&gt;
&lt;li&gt;The secret: do good work and share it with people.&lt;/li&gt;
&lt;li&gt;Geography is no longer our master.&lt;/li&gt;
&lt;li&gt;Be nice. (The world is a small town.)&lt;/li&gt;
&lt;li&gt;Be boring. (It’s the only way to get work done.)&lt;/li&gt;
&lt;li&gt;Creativity is subtraction&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="keep-going"&gt;Keep Going&lt;/h3&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/keep-going.webp"&gt;
&lt;/figure&gt;

&lt;ol&gt;
&lt;li&gt;Every day is Groundhog Day.&lt;/li&gt;
&lt;li&gt;Build a bliss station.&lt;/li&gt;
&lt;li&gt;Forget the noun, do the verb.&lt;/li&gt;
&lt;li&gt;Make gifts.&lt;/li&gt;
&lt;li&gt;The ordinary + extra attention = the extraordinary&lt;/li&gt;
&lt;li&gt;Slay the art monsters.&lt;/li&gt;
&lt;li&gt;You’re allowed to change your mind.&lt;/li&gt;
&lt;li&gt;When in doubt, tidy up.&lt;/li&gt;
&lt;li&gt;Demons hate fresh air.&lt;/li&gt;
&lt;li&gt;Plant your garden.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="show-your-work"&gt;Show Your Work!&lt;/h3&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/show-your-work.webp"&gt;
&lt;/figure&gt;

&lt;ol&gt;
&lt;li&gt;You don’t have to be a genius.&lt;/li&gt;
&lt;li&gt;Think process, not product.&lt;/li&gt;
&lt;li&gt;Share something small every day.&lt;/li&gt;
&lt;li&gt;Open up your cabinet of curiosities.&lt;/li&gt;
&lt;li&gt;Tell good stories.&lt;/li&gt;
&lt;li&gt;Teach what you know.&lt;/li&gt;
&lt;li&gt;Don’t turn into human spam.&lt;/li&gt;
&lt;li&gt;Learn to take a punch.&lt;/li&gt;
&lt;li&gt;Sell out.&lt;/li&gt;
&lt;li&gt;Stick around.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Thank you &lt;a href="https://austinkleon.com/"&gt;Austin&lt;/a&gt; for this wonderful book.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Food festival in Bahrain</title><link>https://www.binovarghese.com/drawer/2023/03/bh-food-festival/</link><pubDate>Sat, 18 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2023/03/bh-food-festival/</guid><description>&lt;p&gt;In the evening I went Bahrin food festival with my Brother and family. The vide was good, food and music are awesome.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_213226.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_14ba88a561b442c7.webp 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_47b7164335897192.webp 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_b700b5415c6d6f0f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_31063e049f895164.jpg"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_535ddf2e1b1d5b4f.jpg 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_31063e049f895164.jpg 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213226_hu_3a3803cd959d972d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/bh-food-festival/IMG_20230318_213226.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_213445_1.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_d7a346cf192a117f.webp 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_35d90b0cdcb88121.webp 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_36a69709398ccb97.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_19679bbec6f9f104.jpg"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_d880d5d9cfff60ed.jpg 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_19679bbec6f9f104.jpg 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_213445_1_hu_1669c7e1f79584c8.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/bh-food-festival/IMG_20230318_213445_1.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_221022.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_6ce3803675746b6a.webp 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_1f09033de7b1fad3.webp 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_f481336a39fdc4ef.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_c3ca6426a1215402.jpg"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_4a1081d6130c9a3c.jpg 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_c3ca6426a1215402.jpg 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_221022_hu_f8f2cc63974c54dc.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/bh-food-festival/IMG_20230318_221022.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_230316.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_95ffbcc5cb5ef17f.webp 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_2854b0a3dfc8dd2a.webp 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_beb221248dbcafa7.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_33a0601d62831734.jpg"
 srcset="
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_16a3d2d86fab1dab.jpg 400w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_33a0601d62831734.jpg 700w,
 /img/drawer/2023/bh-food-festival/IMG_20230318_230316_hu_580ed4c09531a89a.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/drawer/2023/bh-food-festival/IMG_20230318_230316.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>The Boy, the Mole, the Fox and the Horse</title><link>https://www.binovarghese.com/desk/2023/01/the-boy-the-mole-the--fox-and-the-horse-book-notes/</link><pubDate>Sat, 18 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/01/the-boy-the-mole-the--fox-and-the-horse-book-notes/</guid><description>&lt;p&gt;&amp;ldquo;The Boy, the Mole, the Fox and the Horse&amp;rdquo; by Charlie Mackesy is one of my favorite books. The brilliant book is now an Oscar-winning short film. I want to reread the quotes from the book to feed my soul and find the light in my dark days, so I&amp;rsquo;m sharing them here.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/the-boy-the-mole-the-fox-and-the-horse/the-boy-2.jpg"
 alt="Screenshot from the movie The Boy, the Mole, the Fox and the Horse"&gt;&lt;figcaption&gt;
 &lt;p&gt;Screenshot from the movie The Boy, the Mole, the Fox and the Horse&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;What is the bravest thing you&amp;rsquo;ve ever said? asked the boy.&lt;br&gt;
&amp;lsquo;Help,&amp;rsquo; said the horse.&lt;br&gt;
&amp;lsquo;Asking for help isn&amp;rsquo;t giving up,&amp;rsquo; said the horse. &amp;lsquo;It&amp;rsquo;s refusing to give up.&lt;/p&gt;
&lt;p&gt;What do you think is the biggest waste of time?&amp;quot;&lt;br&gt;
&amp;ldquo;Comparing yourself to others&amp;rdquo;, said the mole.&lt;/p&gt;
&lt;p&gt;What do you want to be when you grow up?&amp;quot;&lt;br&gt;
&amp;ldquo;Kind&amp;rdquo;, said the boy.&lt;/p&gt;
&lt;p&gt;Is your glass half empty or half full?&amp;quot; asked the mole.&lt;br&gt;
&amp;ldquo;I think I&amp;rsquo;m grateful to have a glass,&amp;rdquo; said the boy.&lt;/p&gt;
&lt;p&gt;Do you have any other advice?&amp;quot; asked the boy.&lt;br&gt;
&amp;ldquo;Don&amp;rsquo;t measure how valuable you are by the way you are treated,&amp;rdquo; said the horse.&lt;/p&gt;
&lt;p&gt;One of our greatest freedoms is how we react to things.&lt;/p&gt;
&lt;p&gt;We often wait for kindness&amp;hellip;but being kind to yourself can start now.&lt;/p&gt;
&lt;p&gt;The greatest illusion,&amp;quot; said the mole, &amp;ldquo;is that life should be perfect.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/the-boy-the-mole-the-fox-and-the-horse/the-boy-4.jpg"
 alt="Screenshot from the movie The Boy, the Mole, the Fox and the Horse"&gt;&lt;figcaption&gt;
 &lt;p&gt;Screenshot from the movie The Boy, the Mole, the Fox and the Horse&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Always remember you matter, you&amp;rsquo;re important and you are loved, and you bring to this world things no one else can.&lt;/p&gt;
&lt;p&gt;When things get difficult remember who you are.&amp;rsquo;&lt;br&gt;
&amp;lsquo;Who am I?&amp;rsquo; asked the boy&lt;br&gt;
&amp;lsquo;You are loved&amp;rsquo; said the horse.&lt;/p&gt;
&lt;p&gt;We have such a long way to go&amp;rdquo;, sighed the boy&lt;br&gt;
&amp;ldquo;Yes, but look how far we&amp;rsquo;ve come&amp;rdquo;, said the horse.&lt;/p&gt;
&lt;p&gt;Imagine how we would be if we were less afraid.&lt;/p&gt;
&lt;p&gt;Home isn’t always a place is it?&lt;/p&gt;
&lt;p&gt;Nothing beats kindness,&amp;rsquo; said the horse. &amp;lsquo;It sits quietly beyond all things.&lt;/p&gt;
&lt;p&gt;Sometimes I think you believe in me more than I do,&amp;quot; said the boy&lt;br&gt;
&amp;ldquo;You&amp;rsquo;ll catch up,&amp;rdquo; said the horse.&lt;/p&gt;
&lt;p&gt;Doing nothing with friends is never doing nothing, is it?&amp;rsquo; asked the boy.&lt;br&gt;
&amp;lsquo;No,&amp;rsquo; said the mole.&lt;/p&gt;
&lt;p&gt;What do we do when our hearts hurt?&amp;quot; asked the boy.&lt;br&gt;
&amp;ldquo;We wrap them with friendship, shared tears and time, till they wake hopeful and happy again.”&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/the-boy-the-mole-the-fox-and-the-horse/the-boy-7.jpg"
 alt="Screenshot from the movie the The Boy, the Mole, the Fox and the Horse"&gt;&lt;figcaption&gt;
 &lt;p&gt;Screenshot from the movie the The Boy, the Mole, the Fox and the Horse&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;When the big things feel out of control, focus on what you love right under your nose.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s the bravest thing you&amp;rsquo;ve ever said?&amp;rdquo; asked the boy.&lt;br&gt;
&amp;ldquo;Help&amp;rdquo;, said the horse.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s your best discovery?&amp;quot; asked the mole.&lt;br&gt;
&amp;ldquo;That I&amp;rsquo;m enough as I am,&amp;rdquo; said the boy.&lt;/p&gt;
&lt;p&gt;So you know all about me?&amp;rsquo; asked the boy.&lt;br&gt;
&amp;lsquo;Yes.&amp;rsquo; said the horse.&lt;br&gt;
&amp;lsquo;And you still love me?&amp;rsquo;&lt;br&gt;
&amp;lsquo;We love you all the more.&lt;/p&gt;
&lt;p&gt;Sometimes I worry you&amp;rsquo;ll all realise I&amp;rsquo;m ordinary,&amp;quot; said the boy.&lt;br&gt;
&amp;ldquo;Love doesn&amp;rsquo;t need you to be extraordinary.&amp;rdquo; said the mole.&lt;/p&gt;
&lt;p&gt;When the dark clouds come&amp;hellip;&lt;br&gt;
&amp;hellip;keep going.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t measure how valuable you are by the way you are treated.&lt;/p&gt;
&lt;p&gt;this storm will pass.&lt;/p&gt;
&lt;p&gt;Sometimes just getting up and carrying on is brave and magnificent.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thank you &lt;a href="https://www.charliemackesy.com/"&gt;Charlie&lt;/a&gt; for this wonderful book.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Directory Objects in PL/SQL</title><link>https://www.binovarghese.com/notes/2023/03/list-the-dba-directories-in-plsql/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/03/list-the-dba-directories-in-plsql/</guid><description>&lt;p&gt;This view describes all directories accessible to the user.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * FROM ALL_DIRECTORIES;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This view describes all directories specified for the entire database.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * FROM DBA_DIRECTORIES;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To view all the tables details, look &lt;a href="https://www.binovarghese.com/notes/2024/11/plsql-table-details/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/adlob/directory-objects.html#GUID-4BD66861-D096-4AFB-8919-41CA0877BEF2"&gt;Oracle Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>What is CSS Modules?</title><link>https://www.binovarghese.com/notes/2023/03/css-modules/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/03/css-modules/</guid><description>&lt;p&gt;In CSS modules, CSS class names and animation names are scoped locally by default. In React you can use the file naming conversion as &lt;code&gt;[file name].module.css&lt;/code&gt;. This let the React and Webpack know that you are using CSS Modules.&lt;/p&gt;
&lt;p&gt;Importing the CSS in the file.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;import nameyoulike from &amp;#39;./name.modules.css&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Calling the style in the file.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;button className={styles.button} /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://styled-components.com/docs"&gt;Styled Components Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>What is Styled Components?</title><link>https://www.binovarghese.com/notes/2023/03/styled-components/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/03/styled-components/</guid><description>&lt;p&gt;Styled-components is a CSS-in-JS library that enables you to write regular CSS and attach it to JavaScript components. With styled-components, you can use the CSS you’re already familiar with instead of having to learn a new styling structure.&lt;/p&gt;
&lt;p&gt;Utilising tagged template literals (a recent addition to JavaScript) and the power of CSS, styled-components allows you to write actual CSS code to style your components.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://styled-components.com/docs"&gt;Styled Components Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Codbix No.2</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-2/</link><pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-2/</guid><description>&lt;p&gt;Welcome to Issue #2 of The Codbix! This week: Improve productivity through incremental automation, The modern web’s underrated powerhouse, and Wallpapers by Smashing Magazine.&lt;/p&gt;
&lt;h3 id="improve-productivity-through-incremental-automation"&gt;Improve productivity through incremental automation&lt;/h3&gt;
&lt;p&gt;Small enhancements to daily workflows can have an outsized impact on the amount of available space in our day.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/guides/improve-productivity-automation"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="out-of-the-slums-and-into-open-source"&gt;Out of the slums and into open source&lt;/h3&gt;
&lt;p&gt;Using software development as a path out of poverty, santosh knows a little support goes a long way.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/stories/santosh-yadav"&gt;Article Link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="the-modern-webs-underrated-powerhouse"&gt;The modern web’s underrated powerhouse&lt;/h3&gt;
&lt;p&gt;It’s one of the most important yet under-appreciated building blocks of the internet. Consider this web page you’re reading right now. The links, headers, and paragraph breaks are marked up with HTML. But Cascading Style Sheets (CSS) really define the look and feel of it: the colors, the fonts, the column widths, the placement of all the various boxes and elements. If you’re looking at this page on a mobile device, it’s CSS that makes it look right on a smaller screen.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/featured/css-future"&gt;Article Link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="find-a-friend-boost-your-creativity-and-make-your-digital-dream-come-true"&gt;Find A Friend, Boost Your Creativity, And Make Your Digital Dream Come True&lt;/h3&gt;
&lt;p&gt;Every professional has a comfort zone. The first sign you’re in it is when you see no challenge on the horizon. You know pretty much everything you need to perform well, and if anything unfamiliar comes your way it can be solved fairly quickly. It can take a while to realize you’ve stopped moving, and working on freelance projects seems like the only way to keep your brain busy. Do you have a dream project, application, big or small idea? You can do it. You just need to start.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.smashingmagazine.com/2016/06/make-your-digital-dream-come-true/"&gt;Article Link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Difference between React and ReactDOM</title><link>https://www.binovarghese.com/notes/2023/02/react-and-react-dom/</link><pubDate>Sat, 25 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/02/react-and-react-dom/</guid><description>&lt;p&gt;React and ReactDOM are two distinct libraries that are commonly used together in the development of web applications with React.&lt;/p&gt;
&lt;p&gt;React is a JavaScript library focused on building user interfaces. It follows a declarative approach, where developers define what the UI should look like based on the current state of the application. React then efficiently updates and renders components as the state changes. Its design emphasizes flexibility and efficiency, making it a popular choice for developing both web and mobile applications.&lt;/p&gt;
&lt;p&gt;ReactDOM, on the other hand, serves as a bridge between React and the DOM (Document Object Model). The DOM is a hierarchical structure representing the HTML content of a web page. ReactDOM provides a set of methods that enable React components to be rendered and updated within the DOM. It ensures that the user interface is synchronized with the underlying HTML structure.&lt;/p&gt;
&lt;p&gt;In summary, React is a library for building user interfaces, while ReactDOM handles the interaction with the DOM, rendering React components onto the web page. Although they are often used together, they serve different purposes and can function independently of each other.&lt;/p&gt;</description></item><item><title>Conditional Rendering</title><link>https://www.binovarghese.com/notes/2023/02/conditional-rendering/</link><pubDate>Wed, 22 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/02/conditional-rendering/</guid><description>&lt;p&gt;Your components will often need to display different things depending on different conditions. In React, you can conditionally render JSX using JavaScript syntax like &lt;code&gt;if&lt;/code&gt; statements, &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;, and &lt;code&gt;? :&lt;/code&gt; operators.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; operator&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{ isYes &amp;amp;&amp;amp; &amp;lt;A /&amp;gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;? :&lt;/code&gt; operator&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;isYes ? Yes() : No()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;In React, you control branching logic with JavaScript.&lt;/li&gt;
&lt;li&gt;You can return a JSX expression conditionally with an if statement.&lt;/li&gt;
&lt;li&gt;You can conditionally save some JSX to a variable and then include it inside other JSX by - using the curly braces.&lt;/li&gt;
&lt;li&gt;In JSX, &lt;code&gt;{cond ? &amp;lt;A /&amp;gt; : &amp;lt;B /&amp;gt;}&lt;/code&gt; means “if cond, render &lt;code&gt;&amp;lt;A /&amp;gt;&lt;/code&gt;, otherwise &lt;code&gt;&amp;lt;B /&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In JSX, &lt;code&gt;{cond &amp;amp;&amp;amp; &amp;lt;A /&amp;gt;}&lt;/code&gt; means “if cond, render &lt;code&gt;&amp;lt;A /&amp;gt;&lt;/code&gt;, otherwise nothing”.&lt;/li&gt;
&lt;li&gt;The shortcuts are common, but you don’t have to use them if you prefer plain if.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://beta.reactjs.org/learn/conditional-rendering"&gt;React Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Lifting state up</title><link>https://www.binovarghese.com/notes/2023/02/lifting-state-up/</link><pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/02/lifting-state-up/</guid><description>&lt;p&gt;Lifting state up in react means moving data from a child component to some parent component either to use it there or pass it some other child component.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you want to coordinate two components, move their state to their common parent.&lt;/li&gt;
&lt;li&gt;Then pass the information down through props from their common parent.&lt;/li&gt;
&lt;li&gt;Finally, pass the event handlers down so that the children can change the parent’s state.&lt;/li&gt;
&lt;li&gt;It’s useful to consider components as “controlled” (driven by props) or “uncontrolled” (driven by state).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Palm tree</title><link>https://www.binovarghese.com/drawer/2023/20feb/</link><pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2023/20feb/</guid><description>&lt;p&gt;Blue skies and Palm tree in the Summer.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2023/20Feb.webp"
 alt="Hidd, Bahrain" width="400"&gt;&lt;figcaption&gt;
 &lt;p&gt;Hidd, Bahrain&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Browser default actions</title><link>https://www.binovarghese.com/notes/2023/02/browser-default-actions/</link><pubDate>Sat, 18 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/02/browser-default-actions/</guid><description>&lt;p&gt;There are many default browser actions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;mousedown&lt;/code&gt; – starts the selection (move the mouse to select).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;click&lt;/code&gt; on &lt;code&gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt;&lt;/code&gt; – checks/unchecks the input.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;submit&lt;/code&gt; – clicking an &lt;code&gt;&amp;lt;input type=&amp;quot;submit&amp;quot;&amp;gt;&lt;/code&gt; or hitting Enter inside a form field causes this event to happen, and the browser submits the form after it.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;keydown&lt;/code&gt; – pressing a key may lead to adding a character into a field, or other actions.
&lt;code&gt;contextmenu&lt;/code&gt; – the event happens on a right-click, the action is to show the browser context menu.&lt;/li&gt;
&lt;li&gt;…there are more…&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All the default actions can be prevented if we want to handle the event exclusively by JavaScript.&lt;/p&gt;
&lt;p&gt;To prevent a default action – use either &lt;code&gt;event.preventDefault()&lt;/code&gt; or &lt;code&gt;return false&lt;/code&gt;. The second method works only for handlers assigned with &lt;code&gt;on&amp;lt;event&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;passive: true&lt;/code&gt; option of &lt;code&gt;addEventListener&lt;/code&gt; tells the browser that the action is not going to be prevented. That’s useful for some mobile events, like touchstart and touchmove, to tell the browser that it should not wait for all handlers to finish before scrolling.&lt;/p&gt;
&lt;p&gt;If the default action was prevented, the value of &lt;code&gt;event.defaultPrevented&lt;/code&gt; becomes &lt;code&gt;true&lt;/code&gt;, otherwise it’s &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://javascript.info/default-browser-action"&gt;javascript info&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Controlled and Uncontrolled Components</title><link>https://www.binovarghese.com/notes/2023/02/uncontrolled-and-controlled-components/</link><pubDate>Sat, 18 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/02/uncontrolled-and-controlled-components/</guid><description>&lt;p&gt;A component with its own local state is often referred to as &lt;strong&gt;uncontrolled&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In contrast, a component is considered &lt;strong&gt;controlled&lt;/strong&gt; when its key data and behavior are managed externally through props, rather than relying on its own local state. This approach allows the parent component to have full control over its behavior and data flow.&lt;/p&gt;
&lt;p&gt;When designing a component, carefully consider which pieces of information should be controlled (managed via props) and which should remain uncontrolled (handled by the component’s state). However, keep in mind that you’re not locked into your initial decision—you can always refactor later as the needs of your application evolve.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://reactjs.org/learn/sharing-state-between-components"&gt;React Doc&lt;/a&gt;, &lt;a href="https://www.freecodecamp.org/news/what-are-controlled-and-uncontrolled-components-in-react/#:~:text=Two%20key%20concepts%20that%20developers,itself%20to%20handle%20form%20data."&gt;Freecodecamp&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Paddy fields</title><link>https://www.binovarghese.com/drawer/2023/4feb/</link><pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2023/4feb/</guid><description>&lt;p&gt;From the beautiful paddy fields near to my home.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2023/4Feb_1.webp"
 alt="Chennithala, Kerala, India" width="600"&gt;&lt;figcaption&gt;
 &lt;p&gt;Chennithala, Kerala, India&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2023/4Feb_2.webp"
 alt="Chennithala, Kerala, India" width="600"&gt;&lt;figcaption&gt;
 &lt;p&gt;Chennithala, Kerala, India&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Understanding JSX</title><link>https://www.binovarghese.com/blog/2023/02/understanding-jsx/</link><pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/02/understanding-jsx/</guid><description>&lt;p&gt;JSX is a XML-like syntax extension to ECMAScript (the acronym stands for JavaScript XML). Basically it just provides syntactic sugar for the &lt;code&gt;React.createElement()&lt;/code&gt; function, giving us expressiveness of JavaScript along with HTML like template syntax.&lt;/p&gt;
&lt;p&gt;Before React V17, we have to use &lt;code&gt;import React from &amp;quot;react&amp;quot;&lt;/code&gt; in every JavaScript file to use the &lt;code&gt;React.createElement&lt;/code&gt; for creating an elemet.&lt;/p&gt;
&lt;p&gt;We are using &lt;code&gt;React.createElement&lt;/code&gt; for creating an elemet, But the code gets bigger and cumberstone when our line of codes increases. For solving the same we are using JSX. From v17 we don&amp;rsquo;t need to use use &lt;code&gt;import React from &amp;quot;react&amp;quot;&lt;/code&gt; in every JavaScript file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;JSX Method&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; return (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;h2&amp;gt;Let&amp;#39;s get started!&amp;lt;/h2&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;Expenses expenses={expenses}/&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Takes three elements are argument, first one is the element, next is the object of the attribuites of the element and last one is the list of elements inside the main element.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;return React.createElement(
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;div&amp;#39;,{},
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; React.createElement(&amp;#39;h2&amp;#39;, {}, &amp;#34;Let&amp;#39;s get started!&amp;#34;),
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; React.createElement(Expenses, { expenses: expenses})
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="restrictions-in-jsx"&gt;Restrictions in JSX&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;class&lt;/code&gt; keyword cannot be used.&lt;/li&gt;
&lt;li&gt;React is converting the JSX in the backend.&lt;/li&gt;
&lt;li&gt;Wrap element in a single root.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Codbix No.1</title><link>https://www.binovarghese.com/blog/codbix/2023/codbix-no-1/</link><pubDate>Tue, 31 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/codbix/2023/codbix-no-1/</guid><description>&lt;p&gt;Welcome to Issue #1 of The Codbix! This week: Learn In Public, Make free stuff, documentation, and Brag now.&lt;/p&gt;
&lt;h3 id="learn-in-public"&gt;Learn In Public&lt;/h3&gt;
&lt;p&gt;If there’s a golden rule, it’s this one, so I put it first. All the other rules are more or less elaborations of this rule #1.&lt;/p&gt;
&lt;p&gt;A habit of creating learning exhaust:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write blogs and tutorials and cheatsheets.&lt;/li&gt;
&lt;li&gt;Speak at meetups and conferences.&lt;/li&gt;
&lt;li&gt;Ask and answer things on Stackoverflow or Reddit. Avoid the walled gardens like Slack and Discord, they’re not public.&lt;/li&gt;
&lt;li&gt;Make Youtube videos or Twitch streams.&lt;/li&gt;
&lt;li&gt;Start a newsletter.&lt;/li&gt;
&lt;li&gt;Draw cartoons.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://www.swyx.io/learn-in-public/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="make-free-stuff"&gt;Make Free Stuff&lt;/h3&gt;
&lt;p&gt;The best growth hack is still to build something people enjoy, then attaching no strings to it. You’d be surprised how far that can get you.
Make free stuff! The web is still for everyone.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mxb.dev/blog/make-free-stuff/"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="how-to-hone-your-new-superpower-teaching"&gt;How to hone your new superpower: teaching&lt;/h3&gt;
&lt;p&gt;I learned early in my developer journey that teaching others is an effective way to quickly deepen my understanding of a new concept or technology. I’ve found that needing to articulate a particular concept to others causes me to revisit my assumptions and leads me to do additional research to fill any knowledge gaps.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/guides/public-documentation"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="your-future-self-will-thank-you-building-your-personal-documentation"&gt;Your future self will thank you: Building your personal documentation.&lt;/h3&gt;
&lt;p&gt;Developers can take a DRY approach to how they search for answers to questions they encounter multiple times. By relying on an internal database (or “second brain”) they can reduce their reliance on external search engines.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/guides/private-documentation"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="brag-now-remember-later-document-your-accomplishments"&gt;Brag now, remember later: Document your accomplishments&lt;/h3&gt;
&lt;p&gt;Given five minutes notice to summarize your recent professional and personal accomplishments and wins, how detailed would your response be? Would that be enough time for you to sufficiently capture some of the things you’re most proud of from the past few months or years?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/readme/guides/document-success"&gt;Article link&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="the-most-successful-developers-share-more-than-they-take"&gt;The most successful developers share more than they take&lt;/h3&gt;
&lt;p&gt;One of the questions I always ask successful bloggers is: what motivated you to start? The answer is always the same: I did it for myself. Whatever your work, you should embrace the philosophy of “public by default”.&lt;/p&gt;
&lt;p&gt;Public-by-default means this: everytime you create something, learn something, or just notice something’s interesting, do it in public. This may seem daunting—writing blog posts, helping the community and transforming ideas from thoughts into words all takes time. But sharing is like a muscle, and by committing to a regular schedule, you become much more efficient. This consistency of volume is also key to reaping the benefits of sharing.&lt;/p&gt;
&lt;p&gt;To truly embrace public-by-default, it’s not enough to share your successful projects and knowledge, but additionally to bring the humility to share your learning and failures.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.blog/2020/05/14/the-most-successful-developers-share-more-than-they-take/"&gt;Article link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Back to home</title><link>https://www.binovarghese.com/drawer/2023/28jan/</link><pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2023/28jan/</guid><description>&lt;p&gt;I&amp;rsquo;m back home, and I’m loving the early morning rides. Watching the sun rise over green fields, listening to the birds—everything is just so beautiful.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2023/23Jan.jpg"
 alt="Haripad, Kerala, India" width="400"&gt;&lt;figcaption&gt;
 &lt;p&gt;Haripad, Kerala, India&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;
</description></item><item><title>Card shortcode for Hugo</title><link>https://www.binovarghese.com/blog/2023/01/card-shortcodes-for-hugo/</link><pubDate>Wed, 25 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/01/card-shortcodes-for-hugo/</guid><description>&lt;p&gt;This post is assuming that you know &lt;a href="https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/"&gt;how to make a blog in Hugo&lt;/a&gt; and what is &lt;a href="https://www.binovarghese.com/blog/2023/06/hugo-shortcodes/"&gt;shortcodes&lt;/a&gt; in Hugo.&lt;/p&gt;
&lt;p&gt;When I updated this blog recently with &lt;a href="https://www.binovarghese.com/blogroll/"&gt;blogrolls&lt;/a&gt;, I wanted to display cards in my Markdown. Instead of using raw HTML, I decided to create a custom shortcode for cards. In the below I will explain how to create a custom Hugo shortcode and acess the same in the template.&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-success"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Lightbi Hugo Theme
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 This feature is available in the Lightbi theme, and you can explore it further &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;here&lt;/a&gt;.

 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="custom-card-shortcode"&gt;Custom Card Shortcode&lt;/h4&gt;
&lt;p&gt;Below is the Shortcode for the displaying the card in the Markdown and the rendered ouput.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shortcode in the markdown&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; sc_img_card title=&amp;#34;Some&amp;#34; link=&amp;#34;https://some.com/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;descr=&amp;#34;Lorem Ipsum is simply dummy text of the printing and typesetting industry. &amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; sc_img_card title=&amp;#34;Sample&amp;#34; link=&amp;#34;https://www.sample.io/&amp;#34; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;descr=&amp;#34;Contrary to popular belief, Lorem Ipsum is not simply random text.&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{{&amp;lt; sc_img_card title=&amp;#34;Title here&amp;#34; link=&amp;#34;https://www.title.com/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;descr=&amp;#34;It is a long established fact that a reader will be distracted by the readable content.&amp;#34; &amp;gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Rendered output&lt;/strong&gt;&lt;/p&gt;
&lt;div class="row"&gt;

&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://some.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Some&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Lorem Ipsum is simply dummy text of the printing and typesetting industry. &lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.sample.io/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Sample&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Contrary to popular belief, Lorem Ipsum is not simply random text.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.title.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Title here&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;It is a long established fact that a reader will be distracted by the readable content.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Let&amp;rsquo;s check how this shortcode is creaed. As you can see all shortcode parameters can access with &lt;code&gt;.Get&lt;/code&gt; method. Whether its a &lt;a href="https://gohugo.io/templates/shortcode-templates/"&gt;named or positional&lt;/a&gt; parameters you can pass a key or the number to the &lt;code&gt;.Get&lt;/code&gt; method to acess the values as shown below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sc_img_card.html&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Get &amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="s"&gt;&amp;#34; }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Link to the blog&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card h-100&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;card-body&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;h4&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ .Get &amp;#34;&lt;/span&gt;&lt;span class="nx"&gt;link&lt;/span&gt;&lt;span class="s"&gt;&amp;#34; }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;m-0 fs-6 text-danger&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;link&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;class&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;fs-6 p-01&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Get&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;descr&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the above template, I am using the named parameters and you can see &lt;code&gt;.Get &amp;quot;parameter_name&amp;quot;&lt;/code&gt; is rendering the tilte, link, and descr from the shortcode as below.&lt;/p&gt;
&lt;p&gt;So that how we create our own custom shortcodes in Hugo. Also, please note the style classes in the components are from &lt;strong&gt;Bootstrap&lt;/strong&gt;, but if you want you can modify as per your needs.&lt;/p&gt;
&lt;p&gt;You can checkout the live demo in my &lt;a href="https://www.binovarghese.com/blogroll/"&gt;blogroll&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>React components</title><link>https://www.binovarghese.com/blog/2023/01/react-components/</link><pubDate>Fri, 20 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2023/01/react-components/</guid><description>&lt;p&gt;As you know, React is a JavaScript library for building user interfaces. It can use to build complex, interactive and reactive user interfaces simpler using the &lt;strong&gt;Components&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id="what-is-a-component"&gt;What is a Component?&lt;/h4&gt;
&lt;p&gt;Components are made up of HTML, CSS and JavaScript. It will help you to split the User Interface into independent and reusable pieces. Through that you can implement reusabaility (don&amp;rsquo;t repeat yourself) and seperation of concerns (clean and focused) in your code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conceptually, components are like JavaScript functions. They accept arbitrary inputs (called “props”) and return React elements describing what should appear on the screen.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;React allows you to create reusable and reactive components using the declarative approach. So you can foucs on the desired states and React will figure out the actual JavaScript DOM instuctions.&lt;/p&gt;
&lt;h4 id="accessing-the-components"&gt;Accessing the components&lt;/h4&gt;
&lt;p&gt;Mostly we export Class component using &lt;a href="https://www.binovarghese.com/blog/2023/01/exports-and-imports-in-js/"&gt;&lt;code&gt;export default&lt;/code&gt;&lt;/a&gt;, which is an ES6 festure and simply means if you import this whole file. The &lt;code&gt;export&lt;/code&gt; JavaScript keyword makes this function accessible outside of this file and the &lt;code&gt;default&lt;/code&gt; keyword tells other files using your code that it’s the main function in your file.&lt;/p&gt;
&lt;h4 id="functions-components"&gt;Functions Components&lt;/h4&gt;
&lt;p&gt;Function components are the pure JavaScript functions that accepts props object and return React elements:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;helloWorld&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;Hello&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="n"&gt;exporting&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;component&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="n"&gt;helloWorld&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="class-components"&gt;Class Components&lt;/h4&gt;
&lt;p&gt;ES6 class to define a class component.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="n"&gt;helloWorld&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;Hello&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;props&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Keep Going Through the Valley of Disappointment.</title><link>https://www.binovarghese.com/desk/2023/01/keep-going-through-the-valley-of-disappointment/</link><pubDate>Sun, 15 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/01/keep-going-through-the-valley-of-disappointment/</guid><description>&lt;p&gt;We all have life goals, whether it’s getting rich, owning expensive cars, building a good career, or achieving a healthy body. When working toward these goals, we often expect linear progress. We work hard and expect to see immediate results which seems fair, right? However, the challenge with long-term goals is that they take time to achieve sometimes a month, six months, or even years.&lt;/p&gt;
&lt;p&gt;We understand that everything takes time, but the real issue is that our efforts often don&amp;rsquo;t show visible results early on, even when we&amp;rsquo;re moving in the right direction. This lack of visible success can be a major challenge when pursuing long term goals. We might work hard for days, weeks, or even months without seeing tangible results, making it feel like we&amp;rsquo;re shooting in the dark.&lt;/p&gt;
&lt;p&gt;During this phase, it’s easy to feel disappointed and think our efforts aren&amp;rsquo;t working, leading to hopelessness. But the truth is, the path to achieving our goals isn’t linear it follows a curve (see the graph below, from Atomic Habits by James Clear).&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/atomic-graph-by-james-clear.png"
 alt="(Graph from Atomic Habits by James Clear)"&gt;&lt;figcaption&gt;
 &lt;p&gt;(Graph from Atomic Habits by James Clear)&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;That curve is called the Valley of Disappointment. It’s the stage where people often feel discouraged after investing weeks or months of effort without seeing meaningful progress.&lt;/p&gt;
&lt;p&gt;However, this experience is completely natural. In the early stages, results may not be immediately visible, as shown in the graph. We need to trust the process and continue putting in consistent effort every single day. Only by moving through this phase can we reach the greatness we deserve.&lt;/p&gt;
&lt;p&gt;To overcome the Valley of Disappointment, we must stay disciplined, focused on our goals, and maintain a clear vision. Keep pushing through success is waiting for you on the other side.&lt;/p&gt;</description></item><item><title>Module in JS</title><link>https://www.binovarghese.com/notes/2023/01/module-in-js/</link><pubDate>Thu, 12 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/01/module-in-js/</guid><description>&lt;p&gt;A module is just a file. One script is one module. As simple as that.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To make &lt;a href="https://www.binovarghese.com/blog/2023/01/exports-and-imports-in-js/"&gt;&lt;code&gt;import/export&lt;/code&gt;&lt;/a&gt; work, browsers need &lt;code&gt;&amp;lt;script type=&amp;quot;module&amp;quot;&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Modules have several differences:
&lt;ul&gt;
&lt;li&gt;Deferred by default.&lt;/li&gt;
&lt;li&gt;Async works on inline scripts.&lt;/li&gt;
&lt;li&gt;To load external scripts from another origin (domain/protocol/port), CORS headers are needed.&lt;/li&gt;
&lt;li&gt;Duplicate external scripts are ignored.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Modules have their own, local top-level scope and interchange functionality via import/export.&lt;/li&gt;
&lt;li&gt;Modules always use strict.&lt;/li&gt;
&lt;li&gt;Module code is executed only once. Exports are created once and shared between importers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When we use modules, each module implements the functionality and exports it. Then we use import to directly import it where it’s needed. The browser loads and evaluates the scripts automatically.&lt;/p&gt;
&lt;p&gt;In production, people often use bundlers such as Webpack to bundle modules together for performance and other reasons.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://javascript.info/modules-intro"&gt;javascript info&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Why I am writing in the time of Reels?</title><link>https://www.binovarghese.com/desk/2023/01/why-i-am-writing-in-the-times-of-reels/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/desk/2023/01/why-i-am-writing-in-the-times-of-reels/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/2023/pic-from-ntpc-road.jpg"
 alt="Haripad, Kerala, India / Photo by Bino"&gt;&lt;figcaption&gt;
 &lt;p&gt;Haripad, Kerala, India / Photo by Bino&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Why am I writing in the time of Shorts, Reels, and TikTok? Is it worth it? Does anyone ever read this? These were the questions that came to my mind before starting this &lt;a href="https://www.binovarghese.com/blog/2021/digital-gardening-2021/"&gt;Digital Garden&lt;/a&gt;. So here&amp;rsquo;s why I am writing in the time of Reels.&lt;/p&gt;
&lt;h4 id="clearing-my-monkey-mind"&gt;Clearing My Monkey Mind&lt;/h4&gt;
&lt;p&gt;My mind is always racing, filled with thoughts about what I&amp;rsquo;ve recently learned, seen, my behavior, and new ideas to share. Writing during these moments helps me focus on my blog and its topics, rather than being overwhelmed by scattered thoughts.&lt;/p&gt;
&lt;h4 id="gaining-clarity"&gt;Gaining Clarity&lt;/h4&gt;
&lt;p&gt;When thinking about a topic, I often overestimate my understanding. However, writing about it reveals gaps in my knowledge, as I struggle to express my thoughts clearly. This process helps me identify areas for improvement and ensures I understand the topic well enough to explain it simply.&lt;/p&gt;
&lt;h4 id="sharing-my-thoughts"&gt;Sharing My Thoughts&lt;/h4&gt;
&lt;p&gt;Sharing my ideas brings two main benefits: feedback and opportunities. Positive feedback motivates me to write more, while constructive criticism helps improve my writing. Sharing knowledge can also attract recognition and potentially life-changing opportunities, though luck isn’t guaranteed.&lt;/p&gt;
&lt;h4 id="documenting-for-the-future"&gt;Documenting for the Future&lt;/h4&gt;
&lt;p&gt;Writing down my thoughts and experiences serves as a record of who I am today and what I&amp;rsquo;ve learned. Over time, this documentation will allow me to reflect on my growth and journey, seeing how far I&amp;rsquo;ve come.&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;m trying to learn more, write regularly, and share my thoughts in the time of Reels. Instead of focusing solely on the end goal, I&amp;rsquo;m enjoying the process. I hope this journey will make me a better person.&lt;/p&gt;</description></item><item><title>Oracle Timestamp</title><link>https://www.binovarghese.com/notes/2022/12/oracle-timestamp/</link><pubDate>Wed, 21 Dec 2022 12:10:08 +0530</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/12/oracle-timestamp/</guid><description>&lt;p&gt;The &lt;code&gt;TIMESTAMP&lt;/code&gt; datatype is an extension on the DATE datatype. In addition to the datetime elements of the DATE datatype, the TIMESTAMP datatype holds fractions of a second to a precision between zero and nine decimal places, the default being six. There are also two variants called TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE. As their names imply, these timestamps also store time zone offset information.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;create table table_name (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; column_name number,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; column_name2 timestamp default systimestamp);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.dba-oracle.com/job_scheduling/timestamps.htm"&gt;dba-oracle&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.dba-oracle.com/t_oracle_current_timestamp.htm"&gt;dba-oracle 2&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Material UI and Emotion</title><link>https://www.binovarghese.com/notes/2022/12/emotion-lib/</link><pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/12/emotion-lib/</guid><description>&lt;p&gt;Material UI uses Emotion as its default styling engine.&lt;/p&gt;
&lt;p&gt;Run the following commands to add Material UI to your project:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install @mui/material @emotion/react @emotion/styled
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Emotion&lt;/strong&gt;
Emotion is a library designed for writing css styles with JavaScript. It provides powerful and predictable style composition in addition to a great developer experience with features such as source maps, labels, and testing utilities. Both string and object styles are supported.&lt;/p&gt;
&lt;p&gt;There are two primary methods of using Emotion. The first is framework agnostic and the second is for use with React.&lt;/p&gt;
&lt;h5 id="styled-components"&gt;Styled Components&lt;/h5&gt;
&lt;p&gt;styled is a way to create React components that have styles attached to them. It&amp;rsquo;s available from @emotion/styled. styled was heavily inspired by styled-components and glamorous.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;styled&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;@emotion/styled&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="ne"&gt;Button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;styled&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;background&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;hotpink&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;border&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="ne"&gt;Button&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;This&lt;/span&gt; &lt;span class="n"&gt;my&lt;/span&gt; &lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="n"&gt;component&lt;/span&gt;&lt;span class="o"&gt;.&amp;lt;/&lt;/span&gt;&lt;span class="ne"&gt;Button&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://emotion.sh/docs/introduction"&gt;Emotion website&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Differenet types of errors in JS</title><link>https://www.binovarghese.com/notes/2022/12/differenet-types-of-error-in-js/</link><pubDate>Tue, 13 Dec 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/12/differenet-types-of-error-in-js/</guid><description>&lt;p&gt;&lt;strong&gt;Syntax error&lt;/strong&gt;&lt;br&gt;
The error occurs when you use a predefined syntax incorrectly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reference Error&lt;/strong&gt; &lt;br&gt;
In a case where a variable reference can&amp;rsquo;t be found or hasn&amp;rsquo;t been declared, then a Reference error occurs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Type Error&lt;/strong&gt;&lt;br&gt;
An error occurs when a value is used outside the scope of its data type.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RangeError&lt;/strong&gt;&lt;br&gt;
There is an error when a range of expected values is required&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URI Error&lt;/strong&gt;&lt;br&gt;
When the wrong character(s) are used in a URI function, the error is called.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;InternalError&lt;/strong&gt;&lt;br&gt;
This error occurs internally in the JS engine, especially when it has too much data to handle and the stack grows way over its critical limit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Evaluation Error&lt;/strong&gt;&lt;br&gt;
Current JavaScript engines and EcmaScript specifications do not throw this error. However, it is still available for backward compatibility. The error is called when the eval() backward function is used.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.scaler.com/topics/types-of-errors-in-javascript/"&gt;scaler&lt;/a&gt;&lt;/p&gt;</description></item><item><title>let and const Keywords Hoisting</title><link>https://www.binovarghese.com/blog/2022/js-let-and-const-hoisting/</link><pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/js-let-and-const-hoisting/</guid><description>&lt;p&gt;In JavaScript, declarations are &lt;a href="https://www.binovarghese.com/blog/2022/what-is-js-hoisting/"&gt;hoisted&lt;/a&gt;. &lt;strong&gt;Variables declared using &lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt; are hoisted to the top of their block scope but are not &lt;em&gt;initialized&lt;/em&gt;.&lt;/strong&gt; While the block is aware of the variable, it cannot be used until after it has been declared. This period is known as the &lt;code&gt;temporal dead zone&lt;/code&gt;—the time between the start of the block and the point where the variable is declared.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// undefined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Uncaught ReferenceError: Cannot access &amp;#39;b&amp;#39; before initialization
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// prints 100
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the example above:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The variable &lt;code&gt;a&lt;/code&gt;, declared with &lt;code&gt;var&lt;/code&gt;, is hoisted and attached to the global object (e.g., &lt;code&gt;window&lt;/code&gt; in browsers).&lt;/li&gt;
&lt;li&gt;The variable &lt;code&gt;b&lt;/code&gt;, declared with &lt;code&gt;let&lt;/code&gt;, is hoisted but resides in the block scope and cannot be accessed until it is initialized. Attempting to access it beforehand results in a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you run the example, you&amp;rsquo;ll notice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memory for &lt;code&gt;a&lt;/code&gt; is allocated in the global object (&lt;code&gt;window&lt;/code&gt; in browsers).&lt;/li&gt;
&lt;li&gt;Memory for &lt;code&gt;b&lt;/code&gt; is allocated in a separate &lt;code&gt;script&lt;/code&gt; scope and is inaccessible until the variable is initialized.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="common-errors-with-let-and-const"&gt;Common errors with &lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt;&lt;/h3&gt;
&lt;h4 id="using-let-before-declaration"&gt;Using &lt;code&gt;let&lt;/code&gt; before declaration&lt;/h4&gt;
&lt;p&gt;Attempting to use a &lt;code&gt;let&lt;/code&gt; variable before its declaration results in a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;carName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Volvo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;carName&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Uncaught ReferenceError: Cannot access &amp;#39;carName&amp;#39; before initialization
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="using-const-before-declaration"&gt;Using &lt;code&gt;const&lt;/code&gt; before declaration&lt;/h4&gt;
&lt;p&gt;Using a &lt;code&gt;const&lt;/code&gt; variable before its declaration results in a &lt;code&gt;SyntaxError&lt;/code&gt;, preventing the code from running altogether.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;carName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Volvo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;carName&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// SyntaxError: Missing initializer in const declaration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="summary"&gt;Summary&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Variables declared with &lt;code&gt;var&lt;/code&gt; are hoisted and initialized with &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Variables declared with &lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt; are hoisted but remain uninitialized, existing in the temporal dead zone until their declaration is encountered.&lt;/li&gt;
&lt;li&gt;Attempting to access &lt;code&gt;let&lt;/code&gt; variables before declaration results in a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Attempting to access &lt;code&gt;const&lt;/code&gt; variables before declaration results in a &lt;code&gt;SyntaxError&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.w3schools.com/js/js_hoisting.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Scope, Scope chain and Lexical Environment in JS</title><link>https://www.binovarghese.com/blog/2022/scope-chain-and-lexical-scope-in-js/</link><pubDate>Fri, 02 Dec 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/scope-chain-and-lexical-scope-in-js/</guid><description>&lt;h4 id="scope"&gt;Scope&lt;/h4&gt;
&lt;p&gt;Scope is the place where you can access the values of your variables or functions in our code. There are three types of scopes are available in JS: &lt;strong&gt;Global Scope, Local/Function Scope, and Block Scope&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id="global-scope"&gt;Global Scope&lt;/h4&gt;
&lt;p&gt;When you open up a JS document, you are in the Global scope. Anything you write in the Global scope is accessible from everywhere in the JS. They are also available for the lifetime of your application and deletes only when the application ends.&lt;/p&gt;
&lt;p&gt;Since the Global scope variables are available anywhere within the code, it is considered as a bad practice. Using the Global scope makes your code less reusable, introduces namespace collision opportunities, and makes functions more likely to be influenced accidentally by global variables.&lt;/p&gt;
&lt;h4 id="localfunction-scope"&gt;Local/Function Scope&lt;/h4&gt;
&lt;p&gt;Whenever you are creating a function, you are creating a local scope. The variables declares inside a function is accessible to that function only and that scope is called Local scope or function scope.&lt;/p&gt;
&lt;h4 id="block-scope"&gt;Block Scope&lt;/h4&gt;
&lt;p&gt;Block scope tell you if a variable is declared inside a code block {&amp;hellip;} and it is only visible inside that block. &lt;code&gt;const&lt;/code&gt; and &lt;code&gt;let&lt;/code&gt; are block scoped variables. Block scope does not apply to &lt;code&gt;var&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// prints 3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Uncaught ReferenceError: y is not defined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="lexical-scope"&gt;Lexical Scope&lt;/h4&gt;
&lt;p&gt;Lexical scope (also referred to as static scope) is the ability of an inner function to access the scope of an outer function. Inner functions contain the scope of parent functions even if the parent function has returned.&lt;/p&gt;
&lt;h4 id="lexical-environment"&gt;Lexical environment&lt;/h4&gt;
&lt;p&gt;A lexical environment is a data structure that holds identifier-variable mapping. (here identifier refers to the name of variables/functions, and the variable is the reference to actual object [including function object or primitive value]. A lexical environment also holds a reference to a parent lexical environment.&lt;/p&gt;
&lt;p&gt;Lexical in general means in hierarchy or in a sequence.Whenever a new &lt;a href="https://www.binovarghese.com/blog/2022/how-the-js-code-is-executed/"&gt;execution context&lt;/a&gt;(EC) is created a new lexical environment is created and it is referenced in local EC in memory space.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lexical Environment: Local Memory + Lexical Environment of its Parent&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// prints 10
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// now when cursor comes here, it prints NOT DEFINED.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;In the above example &lt;code&gt;function c&lt;/code&gt; is lexically inside &lt;code&gt;function a&lt;/code&gt; and &lt;code&gt;function a&lt;/code&gt; in lexically inside global scope.&lt;/li&gt;
&lt;li&gt;So in EC of c(), variables and function in c (none) + reference of lexical environment of parent &lt;code&gt;a()&lt;/code&gt; is there.&lt;/li&gt;
&lt;li&gt;LE of a() in turn is its memory space + reference to LE of parent (Global EC)&lt;/li&gt;
&lt;li&gt;LE of Global EC points to its memory space + &lt;em&gt;NULL&lt;/em&gt; (as no parent for Global EC).&lt;/li&gt;
&lt;li&gt;When &lt;code&gt;console.log(b)&lt;/code&gt; in &lt;code&gt;function c&lt;/code&gt; is executed, the JavaScript engine first checks the local memory of &lt;code&gt;function c&lt;/code&gt; for the variable &lt;code&gt;b&lt;/code&gt;. If the variable is not found locally, the engine looks into the lexical environment of &lt;code&gt;function c&lt;/code&gt;&amp;rsquo;s parent, which is &lt;code&gt;function a&lt;/code&gt;. It retrieves the value of &lt;code&gt;b&lt;/code&gt; from the memory space of &lt;code&gt;function a&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="scope-chain"&gt;Scope Chain&lt;/h4&gt;
&lt;p&gt;The JS uses scope to find out the exact location or accessibility of variables and that particular process is called Scope chain.&lt;/p&gt;
&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://www.w3schools.com/js/js_hoisting.asp"&gt;w3schools&lt;/a&gt;,
&lt;a href="https://stackoverflow.com/questions/12599965/lexical-environment-and-function-scope"&gt;stackoverflow&lt;/a&gt;,
&lt;a href="https://codeburst.io/javascript-learn-understand-scope-f53d6592c726"&gt;codeburst&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ക്രിസ്തുമസ് കരോള്‍ ഗാനങ്ങള്‍</title><link>https://www.binovarghese.com/ml/2022/carol-songs-2022/</link><pubDate>Thu, 01 Dec 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/carol-songs-2022/</guid><description>&lt;p&gt;വിവിധ കാലങ്ങളിൽ ഞങ്ങളുടെ പള്ളിയിൽ പാടിയിരുന്ന ക്രിസ്തുമസ് കരോൾ ഗാനങ്ങൾ വരും തലമുറയ്ക്ക് പകർന്ന് നൽകുവാനായി ഇവിടെ സമാഹരിച്ചിരിക്കുന്നു. ഇവിടെ ഉൾപ്പെടുത്തിയിരിക്കുന്ന പാട്ടുകൾ എല്ലാം പലകാലങ്ങളിൽ വിവിധ വ്യക്തികൾ രചിച്ചതും പകർന്നുനല്കിയതുമാണ്. ഈ ഗാനങ്ങൾ രചിച്ചവർക്കും, പകർന്ന് തന്നവർക്കും ഹൃദയം നിറഞ്ഞ സ്നേഹവും നന്ദിയും അറിയിച്ചുകൊണ്ട് ഈ സമാഹാരം വായനക്കാർക്ക് സമർപ്പിക്കുന്നു.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ഇന്നിതാ വിൺസുതൻ ജാതനായി…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ഇന്നുരാവിൽ കുഞ്ഞാറ്റകിളികളും…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;കാഹളങ്ങൾ കേട്ടിടാൻ കർണ്ണപുടങ്ങൾ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;കണ്ണും കണ്ണും കാത്തിരുന്നു…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;കിന്നാരം പാടും കുരുവികളെ..&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ജാതം ചെയ്തല്ലോ മന്നിൽ രാജരാജനായ്…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;താരഗണം ചിരി തൂകും രാവിൽ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ദൈവം പിറക്കുന്നു…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ദൂരെ നിന്നും ദൂരെ..ദൂരെ..&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;പുൽക്കുടിലിൽ കല്‍ത്തൊട്ടിയില്‍&amp;hellip;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ബേതലേം പുരിയിലായ് വന്നുപിറന്നു ഉണ്ണിയേശു…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;മഞ്ഞു വീണ മാമലകൾ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;മിന്നാമിന്നിപോലെ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;മുത്തേ മുത്തേ മുത്തേ മുത്തേ പൊന്നോമനെ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;യഹൂദിയായിലെ ഒരുഗ്രാമത്തിൽ‍…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;രാജാവിൻ‍ രാജാവെഴുന്നള്ളുന്നു…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ലോകാധിനാഥൻ മറിയകുമാരൻ…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ശാന്തരാത്രി തിരുരാത്രി…&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;സം സം സംപ്രമായി സംഗമിക്കും തിങ്കളായി&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ഹ ഹ സന്തോഷം യേശു ഭൂവിൽ ജാതനായ്&amp;hellip;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;പാതിരാവിൽ പാലകനായ്&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ദൂതരെ പാടിടുവിൻ&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt; 
 
 &lt;/p&gt;
&lt;h2 id="1-ഇനനത-വൺസതൻ"&gt;1. ഇന്നിതാ വിൺസുതൻ&amp;hellip;&lt;/h2&gt;
&lt;p&gt;ഇന്നിതാ വിൺസുതൻ ജാതനായി&amp;hellip;&lt;br&gt;
കന്യാമേരിതൻ കണ്മണിയായി&amp;hellip;(2)&lt;br&gt;
ഉന്നതവീഥിയിലധിമഹത്വം&lt;br&gt;
മന്നിതിൽ മാനവർക്കതിസന്തോഷം(2)&lt;br&gt;
ഭൂവതിൽ വാണിടും മർത്യരാകേ&lt;br&gt;
ശാന്തി സൗഭാഗ്യങ്ങൾ എന്നും എന്നും&amp;hellip;.&lt;/p&gt;
&lt;p&gt;(ഇന്നിതാ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ചെമ്പകപ്പൂമര കൊമ്പുകളിൽ&lt;br&gt;
അമ്പിളിക്കലനല്ലൊരൂഞ്ഞാലുകെട്ടി&amp;hellip;(2)&lt;br&gt;
ഇമ്പമായ് പാട്ടുകൾ മൂളിമൂളി&lt;br&gt;
മന്ദമാരുതൻ ഊഞ്ഞാലിലാടി.&lt;/p&gt;
&lt;h2 id="2-ഇനനരവൽ-കഞഞററകളകള"&gt;2. ഇന്നുരാവിൽ കുഞ്ഞാറ്റകിളികളും&lt;/h2&gt;
&lt;p&gt;ഇന്നുരാവിൽ കുഞ്ഞാറ്റകിളികളും കാട്ടുപൂവും കഥപാടുന്നേ (2)&lt;br&gt;
താരാപദം&amp;hellip;..താരാപദം താലോലിക്കാൻ നാഥനേ&lt;br&gt;
മാലാഖമാർ വരവേൽക്കുന്നു (2)&lt;/p&gt;
&lt;p&gt;(ഇന്നുരാവിൽ)&lt;/p&gt;
&lt;p&gt;ഈ നല്ല രാത്രിയിൽ ഈ യാമത്തിൽ&lt;br&gt;
ഈറനാം മേഘങ്ങൾ കൈകോർക്കുമ്പോൾ (2)&lt;br&gt;
ബേതിലേം എന്നൊരു പുൽക്കൂട്ടിലിൽ&lt;br&gt;
രാജാധിരാജൻ അവതരിച്ചു&lt;br&gt;
കുഞ്ഞാടുകൾ&amp;hellip;&amp;hellip;&amp;hellip;..&lt;br&gt;
കുഞ്ഞാടുകൾ കൂത്താടുന്നുനാഥനേ&lt;br&gt;
കുഞ്ഞിളം കുഞ്ഞിക്കാ-റ്റീണo പാടി (2)&lt;/p&gt;
&lt;p&gt;(ഇന്നുരാവിൽ)&lt;/p&gt;
&lt;p&gt;പൂത്തിങ്കൾ പൂമാല ഏകുന്നിതാ&lt;br&gt;
പൂവായപൂവെല്ലാം പൂക്കുന്നിതാ&lt;br&gt;
ഈ രാത്രി വെണ്മേഖം ചാഞ്ചാടുമ്പോൾ&lt;br&gt;
ഇളംകാറ്റിൽ കിങ്ങിങ്ങി ആടുംപോലെ&amp;hellip;&lt;br&gt;
താരാപദം&amp;hellip;..&lt;br&gt;
താരാപദം വരവേൽക്കുന്നു നാഥനേ&lt;br&gt;
മാലാഖമാർ വണങ്ങീടുന്നു&lt;/p&gt;
&lt;p&gt;(ഇന്നുരാവിൽ)(2) താരാപദം&amp;hellip;.&lt;/p&gt;
&lt;h2 id="3-കഹളങങൾ-കടടടൻ-കർണണപടങങൾ"&gt;3. കാഹളങ്ങൾ കേട്ടിടാൻ കർണ്ണപുടങ്ങൾ&lt;/h2&gt;
&lt;p&gt;കാഹളങ്ങൾ കേട്ടിടാൻ കർണ്ണപുടങ്ങൾ&lt;br&gt;
കർത്താനേശു തൻ്റെ ഈ ജനദിനത്തിൽ&lt;br&gt;
കിന്നരങ്ങളാൽ പാട്ടു പാടിയും&lt;br&gt;
കാണാത്തൊരായിരം കേളിതങ്ങളും&lt;/p&gt;
&lt;p&gt;വരു വരു നീ വരു വർണ്ണ മേഘമേ&amp;hellip;&lt;br&gt;
തരു തരു നീ തരു സ്നേഹദൂതുമായ്.&lt;br&gt;
താരാപഥങ്ങളെ ഈ ജന്മനാളിനാൽ (2) &lt;br&gt;
താഴെ പോരൂ നീ താരാട്ട് പാടു നീ (2)&lt;/p&gt;
&lt;p&gt;കാറ്റിൻ്റെ താളത്തിൽ മേഘപ്പരപ്പിൽ&lt;br&gt;
ദൂതൻമാർ പാടും ഗീതങ്ങൾ കേട്ട് (2)&lt;br&gt;
വിൺസൂര്യനെ എതിരേൽക്കാൻ&lt;br&gt;
ആട്ടിടയർ കൂട്ടമായി പാടുന്നു. (2)&lt;/p&gt;
&lt;p&gt;മനസ്സിൽ നിറഞ്ഞു ആനന്ദത്തിൻ്റെ&lt;br&gt;
മധുരം നുണഞ്ഞൊരുങ്ങി നിൽക്കാം നാം (2)&lt;br&gt;
സമാധാനത്തിൻ രാജാവിനെ സന്തോഷത്താൽ&lt;br&gt;
വാഴ്ത്തി സ്തുതിക്കാം നാം. (2)&lt;/p&gt;
&lt;h2 id="4-കണണ-കണണ-കതതരനന"&gt;4. കണ്ണും കണ്ണും കാത്തിരുന്നു&lt;/h2&gt;
&lt;p&gt;കണ്ണും കണ്ണും കാത്തിരുന്നു&lt;br&gt;
മണ്ണിലൊരു പൈതലിനായി&lt;br&gt;
കാതോടു കാതോരം കേട്ടിരുന്നു&lt;br&gt;
ദൈവപുത്രൻ പിറക്കുമെന്നു (2)&lt;/p&gt;
&lt;p&gt;(കണ്ണും കണ്ണും&amp;hellip; കണ്ണും കണ്ണും കാത്തിരുന്നു&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ആകാശവീഥിയിൽ മാലാഖാമാരവർ&lt;br&gt;
സ്നേഹത്തിൻ നിറകുടമായ്&lt;br&gt;
തരാട്ടുപാടി ഉറക്കീടുവനായി&lt;br&gt;
മനതാരിൽ നിനച്ചിരുന്നു (2)&lt;/p&gt;
&lt;p&gt;ഇത്രനല്ല സ്നേഹത്തെ തന്ന നല്ല നാഥനെ&lt;br&gt;
മെല്ലെ രാവിൽ പാടിസ്തുതിക്കാം (2)&lt;/p&gt;
&lt;p&gt;(കണ്ണും കണ്ണും&amp;hellip; കണ്ണും കണ്ണും കാത്തിരുന്നു&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ജീവന്റെ പാതയിൽ കാരുണ്യകനവായ്&lt;br&gt;
കരുണാർദ്രൻ അലിഞ്ഞദിനം&lt;br&gt;
ആലോലംമാട്ടി ലാളിച്ചിടുവാനായ് &lt;br&gt;
കൃപയിൽ നിറഞ്ഞിരുന്നു (2)&lt;/p&gt;
&lt;p&gt;ഇത്രനല്ല സ്നേഹത്തെ തന്ന നല്ല നാഥനെ&lt;br&gt;
മെല്ലെ രാവിൽ പാടിസ്തുതിക്കാം (2)&lt;/p&gt;
&lt;p&gt;(കണ്ണും കണ്ണും&amp;hellip; കണ്ണും കണ്ണും കാത്തിരുന്നു&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=ke411NlX2R4"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="5-കനനര-പട-കരവകള"&gt;5. കിന്നാരം പാടും കുരുവികളെ&lt;/h2&gt;
&lt;p&gt;കിന്നാരം പാടും കുരുവികളെ &lt;br&gt;
തുമ്പി തുള്ളും തുമ്പികളെ &lt;br&gt;
മഞ്ഞിൻ മലയിൽ തെന്നി തെന്നി നടക്കും&lt;br&gt;
കാറ്റേ ഉണ്ണി ഭൂജാതനായ്&lt;/p&gt;
&lt;p&gt;മണ്ണിൽ മാനവരൊന്നായി ചേർന്നു&lt;br&gt;
ശാന്തി സമാധാനം നേർന്നു&lt;br&gt;
മാനവഹൃദയം ആമോദത്താൽ&lt;br&gt;
രക്ഷകനെ എതിരേൽക്കാൻ&lt;br&gt;
പാടി ഹാലേലുയ്യാ (2)&lt;/p&gt;
&lt;p&gt;ആട്ടിയടന്മാർ രാജാക്കന്മാർ&lt;br&gt;
ഭൂജൃനാം ഉണ്ണിയെ വന്ദിച്ചു&lt;br&gt;
സത്യവും ജീവനും മാർഗ്ഗവുമായ&lt;br&gt;
രക്ഷകനെ എതിരേൽക്കാൻ&lt;br&gt;
പാടി ഹാലേലുയ്യാ (2)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=g571jqQlkls"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="6-ജത-ചയതലല-മനനൽ-രജരജനയ"&gt;6. ജാതം ചെയ്തല്ലോ മന്നിൽ രാജരാജനായ്&lt;/h2&gt;
&lt;p&gt;ജാതം ചെയ്തല്ലോ മന്നിൽ രാജരാജനായ്&lt;br&gt;
യേശു പുൽക്കൂട്ടിൽ ഒരു കാലിക്കൂടതിൽ&lt;br&gt;
കന്യകയിൽ ജാതനായ യേശു&lt;br&gt;
നമുക്കായ് അവതരിച്ചു.&lt;/p&gt;
&lt;p&gt;വാവാ പോയീടാം ബേതലഹേമിൽ &lt;br&gt;
പോയീടാം&lt;br&gt;
ഉണ്ണിയേശുവേ നമിച്ചിടാം&lt;br&gt;
കന്യകയിൽ ജാതനായ യേശു&lt;br&gt;
നമുക്കായ് അവതരിച്ചു&lt;/p&gt;
&lt;p&gt;ആഹാ സന്തോഷം യേശു ഭൂവിൽ ജാതനായ്&lt;br&gt;
ദൂതവൃന്ദങ്ങളൂം സ്തുതി ഗീതം പാടുന്നു&lt;br&gt;
ആട്ടിടയർ കൂട്ടംകൂട്ടമായി&lt;br&gt;
ഹല്ലേലുയ്യാ പാടുന്നു&lt;/p&gt;
&lt;p&gt;ആഹാ ആഹ്ലാദം വാനിൽ ദൂതർ പാടുന്നു&lt;br&gt;
വാനശാസ്ത്രികളും താരം വാനിൽ കണ്ടല്ലോ&lt;br&gt;
പൊന്നു മൂര് കുന്തിരിക്കവുമായ്&lt;br&gt;
വന്നു വണങ്ങിടുന്നു.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=jjzGI-m8INk"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="7-തരഗണ-ചര-തക-രവൽ"&gt;7. താരഗണം ചിരി തൂകും രാവിൽ&lt;/h2&gt;
&lt;p&gt;താരഗണം ചിരി തൂകും രാവിൽ&lt;br&gt;
ദൂതഗണം സ്തുതി പാടും രാവിൽ&lt;br&gt;
ഭൂജാതനായ് ഈശോ&amp;hellip; ഭൂജാതനായ് ഈശോ&amp;hellip;(2)&lt;/p&gt;
&lt;p&gt;മഞ്ഞ് പെയ്യ്ത രാവിലിന്ന് മാലാഖമാർ&lt;br&gt;
മാനവർക്കായ് പാടിടുന്നു സമോദമായി&lt;br&gt;
ആട്ടിയടർ കൂട്ടം കൂട്ടമായി&lt;br&gt;
ഹല്ലേലൂയാ പാടുന്നു&lt;/p&gt;
&lt;p&gt;പാപം പോക്കിടാൻ പാരിടത്തിൽ വന്നവൻ&lt;br&gt;
പാപികൾക്കായി ജാതനായി&lt;br&gt;
ജാതനായി, നമ്മൾക്കായി&lt;br&gt;
യേശു മറിയത്തിൻ മകനായി&amp;hellip;&lt;/p&gt;
&lt;h2 id="8-ദവ-പറകകനന"&gt;8. ദൈവം പിറക്കുന്നു&lt;/h2&gt;
&lt;p&gt;ദൈവം പിറക്കുന്നു&amp;hellip; മനുഷ്യനായി ബേത്ലെഹേമിൽ‍&lt;br&gt;
മഞ്ഞുപെയ്യുന്ന മലമടക്കിൽ‍&amp;hellip;&lt;br&gt;
ഹല്ലേലൂയാ..ഹലെലൂയാ (2)&lt;br&gt;
മണ്ണിലും വിണ്ണിലും മന്ദഹാസംപെയ്യും&lt;br&gt;
മധുരമനോഹര ഗാനം..&lt;br&gt;
ഹല്ലേലൂയാ..ഹല്ലേലൂയാ..(2)&lt;/p&gt;
&lt;p&gt;(ദൈവം പിറക്കുന്നു&amp;hellip;)&lt;/p&gt;
&lt;p&gt;പാതിരാവിൽ‍ മഞ്ഞേറ്റീറനായ്..&lt;br&gt;
പാരിന്‍റെ നാഥൻ‍ പിറക്കുകയായ് (2)&lt;br&gt;
പാടിയാർക്കൂ വീണമീട്ടൂ&amp;hellip;&lt;br&gt;
ദൈവത്തിൻ‍ദാസരെ ഒന്നുചേരൂ (2)&lt;/p&gt;
&lt;p&gt;(ദൈവംപിറക്കുന്നു&amp;hellip;)&lt;/p&gt;
&lt;p&gt;പകലോനു മുൻപേ പിതാവിന്‍റെ ഹൃത്തിലെ&lt;br&gt;
ശ്രീയേകസൂനുവാ-മുദയസൂര്യൻ‍ (2)&lt;br&gt;
പ്രാഭവപൂർണ്ണനായ് ഉയരുന്നിതാ&lt;br&gt;
പ്രതാപമോടിന്നേശുനാഥൻ‍ (2)&lt;br&gt;
(ദൈവംപിറക്കുന്നു..)&lt;/p&gt;
&lt;h2 id="9-ദര-നനന-ദരദര"&gt;9. ദൂരെ നിന്നും ദൂരെ..ദൂരെ..&lt;/h2&gt;
&lt;p&gt;ദൂരെ നിന്നും ദൂരെ..ദൂരെ..നിന്നും മരുഭൂവിൻ വഴികളിലൂടെ.. &lt;br&gt;
ഒരു കാലിത്തൊഴുത്തു തേടി..മൂന്നു രാജക്കന്മാരെത്തി.(2) &lt;br&gt;
വാനം തെളിഞ്ഞു നിന്നു ദിവ്യ താരം തിളങ്ങി നിന്നു&amp;hellip;(2)&lt;br&gt;
മാലാഖമാരവര്‍ വാനവീഥികളിൽ സ്തുതിഗീതങ്ങൽ പാടി.(2)&lt;/p&gt;
&lt;p&gt;മഞ്ഞിൻ തുള്ളികൾ തഴുകിയുറങ്ങും ബേത്ലഹേമിൻ വഴികളിലൂടെ(2)&lt;br&gt;
ഒരു പുൽക്കുടിൽ തേടി..ദേവസുതനെ തേടി ഇടയന്മാരുമണഞ്ഞല്ലോ..&lt;br&gt;
അവര്‍ കാലിത്തൊഴുത്തു കണ്ടു അവര്‍ സ്വര്‍ഗീയ ഗാനം കേട്ടു(2)&lt;br&gt;
മരിയാസുതനായ്‌ പുൽക്കൂട്ടിൽ മരുവും മിശിഹാനാഥനെ കണ്ടു(2)&lt;br&gt;
(ദൂരെ നിന്നും ദൂരെ..)&lt;/p&gt;
&lt;p&gt;വെള്ളിനിലാവിൻ കുളിരലയിൽ നീരാടിയെത്തിയ രാക്കുയിലുകൾ (2)&lt;br&gt;
നവ സ്വരമഞ്ചരിയിൽ ഒരു മനസ്സോടെ നാഥനെ വാഴ്ത്തി പാടുന്നു..&lt;br&gt;
വാനം തെളിഞ്ഞു നിന്നു ദിവ്യ താരം തിളങ്ങി നിന്നു&amp;hellip;(2)&lt;br&gt;
മാലാഖമാരവര്‍ വാനവീഥികളിൽ സ്തുതിഗീതങ്ങൽ പാടി.(2)&lt;br&gt;
(ദൂരെ നിന്നും ദൂരെ..)&lt;/p&gt;
&lt;h2 id="10-പൽകകടലൽ-കലതതടടയല"&gt;10. പുൽക്കുടിലിൽ കല്‍ത്തൊട്ടിയില്‍&amp;hellip;&lt;/h2&gt;
&lt;p&gt;പുല്‍ക്കുടിലില്‍ കല്‍ത്തൊട്ടിയില്‍&lt;br&gt;
മറിയത്തിന്‍ പൊന്‍ മകനാ‍യി&lt;br&gt;
പണ്ടൊരു നാള്‍ ദൈവസുതന്‍&lt;br&gt;
പിറന്നതിന്‍ ഓര്‍മ്മ ദിനം (2)&lt;/p&gt;
&lt;p&gt;പോരു മണ്ണിലെ ഇടയന്മാരെ&lt;br&gt;
പാടൂ വിണ്ണിലെ മാലാഖകളേ (2)&lt;br&gt;
പാടൂ തംബുരുവും&lt;br&gt;
കിന്നരവും താളവുമായ്&lt;/p&gt;
&lt;p&gt;(പുല്‍ക്കുടിലില്‍&amp;hellip;)&lt;/p&gt;
&lt;p&gt;മെല്‍ഷ്യരും കാസ്പരും&lt;br&gt;
ബെത്തസറും വാഴ്ത്തും&lt;br&gt;
രക്ഷകരില്‍ രക്ഷകനാം&lt;br&gt;
മിശിഹാ പിറന്ന ദിനം&lt;/p&gt;
&lt;p&gt;(പോരൂ മണ്ണിലെ..)&lt;/p&gt;
&lt;p&gt;ഭൂമിയില്‍ ദൈവമക്കള്‍&lt;br&gt;
നേടും സമാധാനം&lt;br&gt;
ഉന്നതിയില്‍ അത്യുന്നതിയില്‍&lt;br&gt;
ദൈവത്തിനു മഹത്വം (2)&lt;/p&gt;
&lt;p&gt;(പോരൂ മണ്ണിലെ..)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=o8Shlf2OSjs&amp;amp;list=RDo8Shlf2OSjs&amp;amp;start_radio=1"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ആൽബം - പരിശുദ്ധ ഗാനങ്ങൾ(1982) / ഗാനരചന - ബിച്ചു തുരുമല &lt;br&gt;
ഈണം - ശ്യാം / ആലാപനം - കെ ജെ യേശുദാസ്&lt;/p&gt;
&lt;h2 id="11-ബതല-പരയലയ"&gt;11. ബേതലേം പുരിയിലായ്&lt;/h2&gt;
&lt;p&gt;ബേതലേം പുരിയിലായ് &lt;br&gt;
വന്നു പിറന്നുണ്ണിയേശു&lt;br&gt;
ലോകപാപം നീക്കുവാനായ്&lt;br&gt;
പാരിതിൽ മനുഷ്യനായ്&lt;br&gt;
വന്നല്ലോ ഈ രാവിൽ നാഥൻ&lt;br&gt;
മറിയത്തിൻ മകനായി മണ്ണിൽ (2)&lt;/p&gt;
&lt;p&gt;പോയിടാം കൂട്ടരേ സ്വർല്ലോക നാഥന്റെ&lt;br&gt;
ജനനത്തെ ലോകമെങ്ങും ഘോഷിച്ചീടാം (2)&lt;br&gt;
തപ്പുതാള മേളമോടെ ഒത്തുചേർന്നു പാടിടാം&lt;br&gt;
സ്വർഗ്ഗനാഥൻ ഭൂവിൽ വന്ന സുദിനം&lt;br&gt;
പാട്ടു പാടി ഘോഷിച്ചീടാം – ഇന്ന് – &lt;br&gt;
ആർത്തുപാടി ഘോഷിച്ചീടാം (2)&lt;/p&gt;
&lt;p&gt;(തപ്പുതാളമേളമോടെ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;രാജാധിരാജാവാം ശ്രീയേശുനാഥന്റെ&lt;br&gt;
തൃപ്പാദം കുമ്പിട്ടീടാം (2)&lt;br&gt;
ആമോദരായിന്നു ആനന്ദഗീതികളാൽ&lt;br&gt;
സാമോദം വാഴ്ത്തിപ്പാടാം (2)&lt;/p&gt;
&lt;p&gt;(പോയിടാം കൂട്ടരെ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;അജപാലകരെല്ലാം ആഹ്ലാദത്താലിന്നു&lt;br&gt;
നാഥനെ സ്തുതിച്ചിടുന്നു (2)&lt;br&gt;
ശാസ്ത്രിമാർ മൂവരും കാഴ്ചകളർപ്പിച്ച്&lt;br&gt;
രാജനെ വന്ദിക്കുന്നു (2)&lt;/p&gt;
&lt;p&gt;(പോയിടാം കൂട്ടരെ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=QH6MON1Am54"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="12-മഞഞ-വണ-മമലകൾ"&gt;12. മഞ്ഞു വീണ മാമലകൾ&lt;/h2&gt;
&lt;p&gt;മഞ്ഞു വീണ മാമലകൾ&amp;hellip; &lt;br&gt;
മംഗളങ്ങൾ പാടുകയായ്&amp;hellip;&lt;br&gt;
വെള്ളി മേഘ തോരണങ്ങൾ&amp;hellip;&lt;br&gt;
വിണ്ണിലെങ്ങും പാറുകയായ്&amp;hellip; (2)&lt;/p&gt;
&lt;p&gt;അന്പെഴുന്ന കാലം. ഇമ്പമോടെ പാടാം&lt;br&gt;
അങ്ങയുടെ ദൂതർ. തന്നതാണീ സമ്മാനം (2)&lt;/p&gt;
&lt;p&gt;(മഞ്ഞു വീണ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;പുഞ്ചിരിക്കും പൊന്നുമുഖം&amp;hellip;&lt;br&gt;
പുൽക്കുടിലിൽ കിടന്നു&amp;hellip;&lt;br&gt;
മാലാഖമാർ ഒത്തുകൂടി രാരിരാരോ പാടി.. &lt;br&gt;
പൂക്കാലം മഞ്ഞു പൂക്കാലം&lt;br&gt;
മാലോകർക്കെല്ലാം പൂക്കാലം&lt;br&gt;
മാലാഖമാർ പാടുന്നതോ&amp;hellip;
പാടുന്നു ഞങ്ങൾപാടുന്നു&amp;hellip;&lt;/p&gt;
&lt;p&gt;(മഞ്ഞു വീണ&amp;hellip;. )&lt;/p&gt;
&lt;h2 id="13-മനനമനനപല"&gt;13. മിന്നാമിന്നിപോലെ&amp;hellip;&lt;/h2&gt;
&lt;p&gt;മിന്നാമിന്നിപോലെ മിന്നിത്താരമെങ്ങും&lt;br&gt;
കണ്ണീരിന്‍റെ മണ്ണിൽ മന്നാപെയ്തുവല്ലോ&lt;/p&gt;
&lt;p&gt;(മിന്നാമിന്നി&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ആഹാ&amp;hellip;..ഉന്നതനെ വാഴ്ത്തീടാം ഉച്ചസ്വരത്തോടെ&lt;br&gt;
ഓഹോ&amp;hellip;..ഭിന്നതയാം ചങ്ങലകൾ പൊട്ടിനുറുങ്ങട്ടെ&lt;br&gt;
(ആഹാ&amp;hellip;.)&lt;/p&gt;
&lt;p&gt;മിന്നിത്താരമെങ്ങും മിന്നാമിന്നിപോലെ&lt;br&gt;
മന്നാപെയ്തുവല്ലോ കണ്ണീരിന്‍റെ മണ്ണിൽ&amp;hellip;&lt;/p&gt;
&lt;p&gt;ഇമ്മാനുവേലിന്‍റെ സ്നേഹം തേടുമ്പോൾ&lt;br&gt;
സമ്മാനം നേടുന്നു മണ്ണിൽ എല്ലാരും&lt;br&gt;
കണ്ണോടുകണ്ണായി കാണാം നാമത്തെ&lt;br&gt;
പുണ്യാഹം പോലെന്നും ഉള്ളിൽകാത്തീടാം&amp;hellip;&lt;br&gt;
എങ്ങും ക്രിസ്മസിൻ ആനന്ദം പൂന്തിങ്ങളായ്&lt;br&gt;
എന്‍റെ കരളിന്‍റെ ഇരുൾമാറ്റി ഉണർവേകീടും (2)&lt;/p&gt;
&lt;p&gt;(മിന്നാമിന്നി&amp;hellip;)&lt;/p&gt;
&lt;h2 id="14-മതത-മതത-മതത-മതത-പനനമന"&gt;14. മുത്തേ മുത്തേ മുത്തേ മുത്തേ പൊന്നോമനെ&lt;/h2&gt;
&lt;p&gt;മുത്തേ മുത്തേ മുത്തേ മുത്തേ പൊന്നോമനെ&lt;br&gt;
നിന്നെ കാണാൻ കൊതിച്ചൊരു നാളിൽ&lt;br&gt;
മഞ്ഞു പെയ്യുന്ന താഴ്‌വരയിൽ &lt;br&gt;
ഒരു ജീവന്റെ കളിയാട്ടമായ്&lt;br&gt;
മുത്തേ മുത്തേ.. ചക്കര മുത്തേ.. (2)&lt;/p&gt;
&lt;p&gt;(മുത്തേ മുത്തേ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ദൂരെ ദൂരെ നിന്നും താരകങ്ങൾ പാടി&lt;br&gt;
രാജാധി രാജാവിവൻ&lt;br&gt;
സ്നേഹത്തിൻ തൂലിക മന്നിൽ ചലിപ്പിച്ച&lt;br&gt;
ദൈവാധിദൈവമിവൻ (2)&lt;/p&gt;
&lt;p&gt;മണ്ണിൽ സ്നേഹം എന്നും വാരി ചൊരിഞ്ഞിടും&lt;br&gt;
സ്വർഗ്ഗീയ നായകനായ് (2)&lt;br&gt;
മുത്തേ മുത്തേ.. ചക്കര മുത്തേ.. (2)&lt;/p&gt;
&lt;p&gt;(മുത്തേ മുത്തേ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;താഴെ ഇന്നു മന്നിൽ മാലോകരെല്ലാം&lt;br&gt;
അലിവേറും നാഥനായ്&lt;br&gt;
കൈത്താളമോടെ വൈക്കോലുകൊണ്ടൊരു&lt;br&gt;
പുൽക്കൂട് പണിതിരുന്നു (2)&lt;/p&gt;
&lt;p&gt;സ്വർണ്ണ വർണ്ണം ഏറും പുൽക്കൂട്ടിൽ വാഴുന്ന&lt;br&gt;
ഉലകിന്റെ അധിപതിയെ (2)&lt;br&gt;
മുത്തേ മുത്തേ ചക്കര മുത്തേ (2)&lt;/p&gt;
&lt;p&gt;(മുത്തേ മുത്തേ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=XSmyAgW_Aqg"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="15-യഹദയയല-ഒരഗരമതതൽ"&gt;15. യഹൂദിയായിലെ ഒരുഗ്രാമത്തിൽ‍&lt;/h2&gt;
&lt;p&gt;യഹൂദിയായിലെ ഒരുഗ്രാമത്തിൽ‍&lt;br&gt;
ഒരുധനുമാസത്തിൻ‍ കുളിരുംരാവിൽ&lt;br&gt;
രാപർത്തിരുന്നുരചപാലകർ‍&lt;br&gt;
ദേവനാദംകേട്ടു ആമോദരായ്&amp;hellip;.&lt;/p&gt;
&lt;p&gt;വർണ്ണരാജികൾ‍ വിടരുംവാനിൽ‍&lt;br&gt;
വെള്ളിമേഘങ്ങൾ‍ ഒഴുകുംരാവിൽ‍&lt;br&gt;
താരകാരാജകുമാരിയോടൊത്തന്നുതിങ്കൾകലപാടി ഗ്ലോറിയ..&lt;br&gt;
അന്നുതിങ്കൾകലപാടി ഗ്ലോറിയ..&lt;br&gt;
താരകം തന്നെ നോക്കീ ആട്ടിടയർ നടന്നു (2)&lt;br&gt;
തേജസ്സു മുന്നിൽക്കണ്ടു അവർ‍ ബേതലേം തന്നിൽ‍ വന്നു(2)&lt;br&gt;
രാജാധിരാജന്‍റെ പൊൻതിരുമേനി (2)&lt;/p&gt;
&lt;p&gt;(വർണ്ണരാജികൾ‍ വിടരും..)&lt;/p&gt;
&lt;p&gt;മന്നവർ‍ മൂവരും ദാവീദിൻ‍ സുതനേ.. (2)&lt;br&gt;
കണ്ടുവണങ്ങിടുവാൻ‍ അവർ‍ കാഴ്ചയുമായ് വന്നു (2)&lt;br&gt;
ദേവാദി ദേവന്‍റെ തിരുസന്നിധിയിൽ‍ (2)&lt;br&gt;
അവർ‍ കാഴ്ചകൾ‍ വച്ചുവണങ്ങി&lt;/p&gt;
&lt;p&gt;(യെഹൂദിയായിലേ&amp;hellip;)&lt;/p&gt;
&lt;h2 id="16-രജവൻ-രജവഴനനളളനന"&gt;16. രാജാവിൻ‍ രാജാവെഴുന്നള്ളുന്നു&amp;hellip;&lt;/h2&gt;
&lt;p&gt;രാജാവിൻ രാജാവെഴുന്നള്ളുന്നു&lt;br&gt;
ദേവന്‍റെ ദേവൻ എഴുന്നള്ളുന്നു&lt;br&gt;
മലർവീഥിയൊരുക്കി മാലാഖമാർ&lt;br&gt;
പുൽമെത്തവിരിച്ചു ഇടയന്മാർ&lt;/p&gt;
&lt;p&gt;ഹാലേലൂയ്യാ&amp;hellip;&amp;hellip;.(3)&lt;br&gt;
ഹാ&amp;hellip;ലേ&amp;hellip;ലൂയ്യാ&amp;hellip;.. (രാജാവിൻ &amp;hellip;..) (ഹാലേലുയ്യ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;കന്യാമറിയത്തിൻ‍ പുണ്യപുത്രൻ&lt;br&gt;
കൈവല്യരൂപനായ് അവതരിച്ചു (2)&lt;br&gt;
കാലിത്തൊഴുത്തിലേ കൂരിരുട്ടിൽ&lt;br&gt;
കാലത്തിൻ‍ സ്വപ്നം തിളങ്ങിയല്ലോ (2)&lt;/p&gt;
&lt;p&gt;(രാജാവിൻ&amp;hellip;) (ഹാലേലൂയ്യ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;കിഴക്കുനിന്നെത്തിയ രാജാക്കന്മാർ&lt;br&gt;
കുഞ്ഞിളം പാദങ്ങൾ തൊഴുതുനിന്നു (2)&lt;br&gt;
കുന്തിരിക്കം കാഴ്ച കൊണ്ടുവന്നു&lt;br&gt;
മീറയും സ്വർണ്ണവും കൊണ്ടുവന്നു (2)&lt;/p&gt;
&lt;p&gt;(രാജാവിൻ&amp;hellip;) (ഹാലെലൂയ്യ&amp;hellip;) (2)&lt;/p&gt;
&lt;h2 id="17-ലകധനഥൻ-മറയകമരൻ"&gt;17. ലോകാധിനാഥൻ മറിയകുമാരൻ&lt;/h2&gt;
&lt;p&gt;ലോകാധിനാഥൻ മറിയകുമാരൻ&lt;br&gt;
പാരിടത്തിൽ വന്നുദിച്ചു. ഓഓഓഓ&lt;/p&gt;
&lt;p&gt;പൂർവ്വദിക്കിൽ നിന്നും നാനാദിക്കിൽ നിന്നും&lt;br&gt;
മന്നവന്മാർ വന്നിറങ്ങി&lt;br&gt;
പൊന്ന് മൂര് കുന്തിരിക്കം&lt;br&gt;
കാഴ്ചകളായ് സമർപ്പിച്ച്‌&lt;br&gt;
പൈതലിനെ വന്ദിച്ചിടുന്നു (2)&lt;/p&gt;
&lt;p&gt;(ലോകാധിനാഥൻ മറിയകുമാരൻ)&lt;/p&gt;
&lt;p&gt;ആട്ടിടയർ രാവിൽ ദൂതസ്വരം കേട്ടു&lt;br&gt;
ബേതലഹേമിൽ യാത്രയായി&lt;br&gt;
കീറ്റുശീല പൊതിഞ്ഞു കാലിക്കൂട്ടിൽ കിടന്ന&lt;br&gt;
പൈതലിനെ കണ്ടുവണങ്ങി (2)&lt;/p&gt;
&lt;p&gt;(ലോകാധിനാഥൻ മറിയകുമാരൻ)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=DAI6MkTKpdg"&gt;YouTube link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="18-ശനതരതര-തരരതര"&gt;18. ശാന്തരാത്രി തിരുരാത്രി&amp;hellip;&lt;/h2&gt;
&lt;p&gt;ശാന്തരാത്രി തിരുരാത്രി&lt;br&gt;
പുൽക്കുടിലിൽ പൂത്തൊരുരാത്രി&lt;br&gt;
വിണ്ണിലെതാരക ദൂതരിറങ്ങിയ&lt;br&gt;
മണ്ണിൻ സമാധാനരാത്രി&lt;br&gt;
ഉണ്ണിപിറന്നൂ&amp;hellip;&amp;hellip;.ഉണ്ണിയേശുപിറന്നൂ……&lt;br&gt;
ഉണ്ണിപിറന്നൂ ഉണ്ണിയേശുപിറന്നൂ (2)&lt;/p&gt;
&lt;p&gt;(ശാന്തരാത്രി&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ദാവീദിൻ പട്ടണംപോലെ&lt;br&gt;
പാതകൾ നമ്മളലങ്കരിച്ചൂ (2)&lt;br&gt;
വീഞ്ഞുപകരുന്ന മഞ്ഞിൽ മുങ്ങീ&lt;br&gt;
വീണ്ടും മനസ്സുകൾ പാ-ടീ&lt;br&gt;
ഉണ്ണിപിറന്നൂ&amp;hellip;&amp;hellip;.ഉണ്ണിയേശുപിറന്നൂ……&lt;br&gt;
ഉണ്ണിപിറന്നൂ ഉണ്ണിയേശുപിറന്നൂ (2)&lt;/p&gt;
&lt;p&gt;(ശാന്തരാത്രി&amp;hellip;)&lt;/p&gt;
&lt;p&gt;കുന്തിരിക്കത്താ-ലെ-ഴു-തി&lt;br&gt;
സന്ദേശഗീതത്തിൻ പൂവിടർത്തി (2)&lt;br&gt;
ദൂരെനിന്നായിരം അഴകിൻ കൈകൾ&lt;br&gt;
എങ്ങുമാശംസകൾ തൂകി&lt;br&gt;
ഉണ്ണിപിറന്നൂ&amp;hellip;. ഉണ്ണിയേശുപിറന്നൂ&amp;hellip;.&lt;/p&gt;
&lt;p&gt;ഉണ്ണിപിറന്നൂ ഉണ്ണിയേശുപിറന്നൂ (2)&lt;/p&gt;
&lt;p&gt;(ശാന്തരാത്രി&amp;hellip;)&lt;/p&gt;
&lt;h2 id="19-സ-സ-സപരമയ-സഗമകക-തങകളയ"&gt;19. സം സം സംപ്രമായി സംഗമിക്കും തിങ്കളായി&lt;/h2&gt;
&lt;p&gt;സം സം സംപ്രമായി സംഗമിക്കും തിങ്കളായി (2)&lt;br&gt;
നസറായൻ പശുക്കൂട്ടിൽ പിറന്നോനെ (2)&lt;br&gt;
പിറന്നോനെ പശുക്കൂട്ടിൽ താനേ (2)&lt;br&gt;
താരക കൊടിയായി പിറന്നോനെ (2)&lt;/p&gt;
&lt;p&gt;(സം സം&amp;hellip;)&lt;/p&gt;
&lt;p&gt;തത്ത മയിലുകൾ കുയിലുകൾ ആകാശത്തിൽ (2)&lt;br&gt;
ഓർത്താടി പാടിടുന്നു ജയമോടെ&lt;br&gt;
അവർ ഓർത്താടി പാടിടുന്നു ജയമോടെ&lt;br&gt;
പുത്തനായി തത്തകൾ സ്തുതിയേ (2)&lt;br&gt;
പൂർത്തിയായി കേട്ടതും അതിശയമേ (2)&lt;/p&gt;
&lt;p&gt;(സം സം&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ക്ഷിപ്രം ആക്ഷണം ദൂതരങ്ങാകാശത്തിൽ (2)&lt;br&gt;
പാട്ടുകൾ പാടിടുന്നു മോദമോടെ&lt;br&gt;
അവർ പാട്ടുകൾ പാടിടുന്നു മോദമോടെ&lt;br&gt;
ആട്ടിടയർ കൂട്ടവും താനെ (2)&lt;br&gt;
കാട്ടിയ വെളിച്ചവും കണ്ടുടനുണർന്നു (2)&lt;/p&gt;
&lt;p&gt;(സം സം&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=7R5gicVBXBE&amp;amp;list=RD7R5gicVBXBE"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="20-ഹ-ഹ-സനതഷ-യശ-ഭവൽ-ജതനയ"&gt;20. ഹ ഹ സന്തോഷം യേശു ഭൂവിൽ ജാതനായ്&lt;/h2&gt;
&lt;p&gt;ഹ ഹ സന്തോഷം യേശു ഭൂവിൽ ജാതനായ്‌&lt;br&gt;
ബെത്ലഹേമിൽ ഒരു കാലിത്തൊഴുത്തിൽ&lt;br&gt;
ആട്ടിടയർ കൂട്ടം കൂട്ടമായ്&lt;br&gt;
ഹല്ലേലുയ്യ പാടുന്നു.&lt;/p&gt;
&lt;p&gt;പാപം പോക്കിടാൻ&lt;br&gt;
പാരിടത്തിൽ ജാതനായ്‌ &lt;br&gt;
പാപികൾക്കായി ജാതനായ്‌ &lt;br&gt;
ജാതനായി നമ്മൾക്കായി യേശു
മറിയത്തിൻ മകനായ്&lt;/p&gt;
&lt;p&gt;(ഹ ഹ സന്തോഷം&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ഞങ്ങൾക്കാനാന്ദം എന്നും നിൻ്റെ ജനനം&lt;br&gt;
ഞങ്ങൾക്കാമോദം എന്നും നിൻ്റെ സ്തുതിയാൽ&lt;br&gt;
രോഗം ദുഃഖം പീഡയെല്ലാം മാറ്റാൻ&lt;br&gt;
ഭൂവിൽ ജാതനായല്ലോ&lt;/p&gt;
&lt;p&gt;(ഹ ഹ സന്തോഷം&amp;hellip;)&lt;/p&gt;
&lt;h2 id="21-പതരവൽ-പലകനയ"&gt;21. പാതിരാവിൽ പാലകനായ്&lt;/h2&gt;
&lt;p&gt;പാതിരാവിൽ പാലകനായ്&lt;br&gt;
പാപികളെ തേടി വന്ന&lt;br&gt;
നല്ലോരിടയനു സ്വാഗതം (2)&lt;/p&gt;
&lt;p&gt;കാഹളമുയരുകയായ്&lt;br&gt;
ദിപങ്ങൾ തെളിയുകയായ് (2)&lt;br&gt;
വാന മേഘത്തിൽ മാലഖമാർ&lt;br&gt;
തേരേറി വരുകയായി (2)&lt;/p&gt;
&lt;p&gt;ആർത്തുപാടാം ആനന്ദമായ്&lt;br&gt;
പാലകനാം പൈതലിനായ് (2)&lt;br&gt;
താളങ്ങളുയരട്ടെ മേളങ്ങൾ നിറയട്ടെ&lt;br&gt;
സംഗീത സാന്ദ്രമാകും (2)&lt;/p&gt;
&lt;p&gt;(പാതിരാവിൽ പാലകനായ്&amp;hellip;) (2)&lt;/p&gt;
&lt;p&gt;നക്ഷത്രമുയരുകയായ്&lt;br&gt;
ഭവനങ്ങളുണരുകയായ്(2)&lt;br&gt;
മാനവർക്കാനന്ദമേകുവാനായ്&lt;br&gt;
ക്രിസ്തുമസിൻ കൂട്ടരെത്തി (2)&lt;/p&gt;
&lt;p&gt;ആർത്തുപാടാം ആനന്ദമായ്&lt;br&gt;
പാലകനാം പൈതലിനായ് (2)&lt;br&gt;
താളങ്ങളുയരട്ടെ മേളങ്ങൾ നിറയട്ടെ&lt;br&gt;
സംഗീത സാന്ദ്രമാകും (2)&lt;/p&gt;
&lt;p&gt;(പാതിരാവിൽ പാലകനായ്&amp;hellip;)&lt;/p&gt;
&lt;p&gt;സ്വാഗതം മന്നിൽ സ്വാഗതം മന്നിൽ&lt;br&gt;
സ്വാഗതം മന്നിൽ സ്വാഗതം (2)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=P1S7XFxiQM0"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="22-ദതര-പടടവൻ"&gt;22. ദൂതരെ പാടിടുവിൻ&lt;/h2&gt;
&lt;p&gt;ദൂതരെ പാടിടുവിൻ&lt;br&gt;
മോദമായി മണ്ണിലിന്നു&lt;br&gt;
രാജാധിരാജാവു പിറന്നു&lt;br&gt;
പൂമണം ചൊരിയാത്ത പൂമെത്ത ഇല്ലാത്ത&lt;br&gt;
ബേതലേം കാലിക്കൂട്ടിൽ (2)&lt;/p&gt;
&lt;p&gt;സൂര്യനുണരും മുൻപേ&lt;br&gt;
ചന്ദ്രനണയും മുൻപേ&lt;br&gt;
ലോകത്തിൻ പാലകനായി ദൈവകുമാരനിന്നു&lt;br&gt;
മണ്ണിലവതരിച്ചു (2)&lt;/p&gt;
&lt;p&gt;പാടി പാടി പാടി പാടി പാടി വാഴ്ത്തീടാം&lt;br&gt;
താള മേള വാദ്യഘോഷ സംഘത്തോടൊപ്പം (2)&lt;br&gt;
ഈ മണ്ണേ സ്നേഹിച്ച ദൈവത്തിൻ പുത്രനെ&lt;br&gt;
ആവോളം നമിച്ചീടാം (2)&lt;/p&gt;
&lt;p&gt;(ദൂതരേ പാടിടുവിൻ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;ലോകമറിയും മുൻപേ&lt;br&gt;
കാലങ്ങൾ മാറും മുൻപേ&lt;br&gt;
ദേവാധി ദേവാനാം കന്യാതനയാനീ &lt;br&gt;
പുൽക്കൂട്ടിൽ അവതരിച്ചു (2)&lt;/p&gt;
&lt;p&gt;വാഴ്ത്തി വാഴ്‌ത്തി വാഴ്‌ത്തി വാഴ്‌ത്തി വാഴ്ത്തി പാടിടാം&lt;br&gt;
താളമേള വാദ്യഘോഷ സംഘത്തോടൊപ്പം(2)&lt;br&gt;
ഈ മണ്ണേ സ്നേഹിച്ച ദൈവത്തിൻ പുത്രനെ&lt;br&gt;
ആവോളം നമിച്ചീടാം (2)&lt;/p&gt;
&lt;p&gt;(ദൂതരേ പാടിടുവിൻ&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=9Bx4q6OWbr4"&gt;YouTube Link&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Peace - that was the other name for home.</title><link>https://www.binovarghese.com/drawer/2022/12/25nov/</link><pubDate>Fri, 25 Nov 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/25nov/</guid><description>&lt;p&gt;Botteled life.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/25Nov.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/15nov/</link><pubDate>Tue, 15 Nov 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/15nov/</guid><description>&lt;p&gt;I deeply admire the beauty of nature, and there&amp;rsquo;s such joy in capturing it through photos.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/15Nov.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/4nov/</link><pubDate>Fri, 04 Nov 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/4nov/</guid><description>&lt;p&gt;Peace - that was the other name for home.&lt;br&gt;
— Kathleen Norris&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/4Nov.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>Drop table in PL SQL</title><link>https://www.binovarghese.com/notes/2022/10/drop-table-in-pl-sql/</link><pubDate>Tue, 25 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/10/drop-table-in-pl-sql/</guid><description>&lt;p&gt;To move a table to the recycle bin or remove it entirely from the database, you use the DROP TABLE statement:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DROP TABLE schema_name.table_name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[CASCADE CONSTRAINTS | PURGE];
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;First, indicate the table and its schema that you want to drop after the &lt;code&gt;DROP TABLE&lt;/code&gt; clause. If you don’t specify the schema name explicitly, the statement assumes that you are removing the table from your own schema.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Second, specify &lt;code&gt;CASCADE CONSTRAINTS&lt;/code&gt; clause to remove all referential integrity constraints which refer to primary and unique keys in the table. In case such referential integrity constraints exist and you don’t use this clause, Oracle returns an error and stops removing the table.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Third, specify &lt;code&gt;PURGE&lt;/code&gt; clause if you want to drop the table and release the space associated with it at once. By using the &lt;code&gt;PURGE&lt;/code&gt; clause, Oracle will not place the table and its dependent objects into the recycle bin.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="refernces"&gt;Refernces&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.oracletutorial.com/oracle-basics/oracle-drop-table/"&gt;oracle tutorial&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Column-Level Collation and Case-Insensitive Database in Oracle</title><link>https://www.binovarghese.com/notes/2022/10/column-level-collation-and-case-insensitive-database-in-oracle/</link><pubDate>Mon, 24 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/10/column-level-collation-and-case-insensitive-database-in-oracle/</guid><description>&lt;p&gt;&lt;strong&gt;Collation determines how strings are compared, which has a direct impact on ordering (sorting) and equality tests between strings.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are two basic types of collation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Binary&lt;/strong&gt; : Ordering and comparisons of string data are based on the numeric value of the characters in the strings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linguistic&lt;/strong&gt; : Ordering and comparisons of string data are based on the alphabetic sequence of the characters, regardless of their numeric values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When using binary collations there are three suffixes that alter the behavior of sorts and comparisons.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;_CI&amp;rdquo; : Case insensitive, but accent sensitive.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;_AI&amp;rdquo; : Both case and accent insensitive.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;_CS&amp;rdquo; : Both case and accent sensitive. This is default if no extension is used.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If no collation is specified, directly or via a default setting, the default &lt;a href="https://www.binovarghese.com/notes/2022/10/nls-session-parameters/"&gt;&lt;code&gt;USING_NLS_COMP&lt;/code&gt;&lt;/a&gt; pseudo-collation is used, which means the &lt;code&gt;NLS_SORT&lt;/code&gt; and &lt;code&gt;NLS_COMP&lt;/code&gt; parameters are used to determine the actual collation used.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-SQL" data-lang="SQL"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Syntax&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;COLLATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_CS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_CI&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_AI&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;column_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VARCHAR2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_CI&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATION&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_CI&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;COLLATION&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BINARY_AI&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://oracle-base.com/articles/12c/column-level-collation-and-case-insensitive-database-12cr2#:~:text=If%20no%20collation%20is%20specified,is%20the%20USING_NLS_COMP%20pseudo%2Dcollation."&gt;Oracle Base&lt;/a&gt;, &lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/12.2/nlspg/appendix-A-locale-data.html#GUID-CC85A33C-81FC-4E93-BAAB-1B3DB9036060"&gt;Oracle Doc&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Oracle NLS / National Language Suppport</title><link>https://www.binovarghese.com/notes/2022/10/nls-session-parameters/</link><pubDate>Sun, 23 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/10/nls-session-parameters/</guid><description>&lt;p&gt;The &lt;code&gt;NLS_DATABASE_PARAMETERS&lt;/code&gt; shows the values of the NLS parameters for the database. Oracle notes these differences between the parameters.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NLS_SESSION_PARAMETERS&lt;/code&gt; shows the NLS parameters and their values for the session that is querying the view. It does not show information about the character set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NLS_INSTANCE_PARAMETERS&lt;/code&gt; shows the current NLS instance parameters that have been explicitly set and the values of the NLS instance parameters.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NLS_DATABASE_PARAMETERS&lt;/code&gt; shows the values of the NLS parameters for the database. The values are stored in the database.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-SQL" data-lang="SQL"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NLS_SESSION_PARAMETERS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NLS_INSTANCE_PARAMETERS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NLS_DATABASE_PARAMETERS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;NLS_LANGUAGE&lt;/code&gt; and &lt;code&gt;NLS_TERRITORY&lt;/code&gt; values in &lt;code&gt;NLS_DATABASE_PARAMETERS&lt;/code&gt; cannot be changed once the database has been created&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="http://www.dba-oracle.com/t_nls_database_parameters.htm"&gt;dba-oracle&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.oracle.com/cd/A87860_01/doc/server.817/a76966/ch1.htm"&gt;Oracle Blog&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Working with my plants</title><link>https://www.binovarghese.com/drawer/2022/12/15oct/</link><pubDate>Sat, 15 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/15oct/</guid><description>&lt;p&gt;Working with my plants.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/working-with-plants.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>List the months between two dates - PL/SQL</title><link>https://www.binovarghese.com/notes/2022/10/list-the-months-in-between-two-dates/</link><pubDate>Tue, 11 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/10/list-the-months-in-between-two-dates/</guid><description>&lt;p&gt;PL SQL Query to list the months between two dates&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT TO_CHAR(ADD_MONTHS(TRUNC(TO_DATE(&amp;#39;01-JAN-22&amp;#39;,&amp;#39;DD-MON-YY&amp;#39;), &amp;#39;MM&amp;#39;), LEVEL -1),&amp;#39;MON-YY&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MONTH_YEAR 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CONNECT BY LEVEL &amp;lt;= MONTHS_BETWEEN(TO_DATE(&amp;#39;01-DEC-22&amp;#39;,&amp;#39;DD-MON-YY&amp;#39;), 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; TO_DATE(&amp;#39;01-JAN -22&amp;#39;,&amp;#39;DD-MON-YY&amp;#39;)) + 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ORDER BY LEVEL;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Result set&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MONTH_YEAR
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;JAN-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FEB-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MAR-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;APR-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MAY-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;JUN-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;JUL-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AUG-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SEP-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;OCT-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NOV-22
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DEC-22
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Hoisting in JavaScript</title><link>https://www.binovarghese.com/blog/2022/what-is-js-hoisting/</link><pubDate>Mon, 10 Oct 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/what-is-js-hoisting/</guid><description>&lt;blockquote&gt;
&lt;p&gt;JavaScript Hoisting refers to the process whereby the interpreter appears to move the declaration of functions, variables or classes to the top of their scope, prior to execution of the code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;mdash; MDN Web Docs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Conceptually variable hoisting is often presented as the interpreter &amp;ldquo;splitting variable declaration and initialization, and moving (just) the declarations to the top of the code&amp;rdquo;. As explained in the &lt;a href="https://www.binovarghese.com/blog/2022/how-the-js-code-is-executed/"&gt;execution context&lt;/a&gt;, this occurs during the Creation phase. In this phase, JavaScript allocates memory for every variable and initializes them with the value &lt;code&gt;undefined&lt;/code&gt; before executing the code.&lt;/p&gt;
&lt;p&gt;In the below example you are getting the value if &lt;code&gt;num&lt;/code&gt; as &lt;code&gt;undefined&lt;/code&gt; in the first line itself, that means it has been initialized in the Global scope before the line of deceleration in the code.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Returns &amp;#39;undefined&amp;#39; from hoisted var declaration (not 6)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Declaration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Initialization
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Returns 6 after the line with initialization is executed.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The same thing happens if you declare and initialize the variable in the same line.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Returns &amp;#39;undefined&amp;#39; from hoisted var declaration (not 6)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Initialization and declaration.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Returns 6 after the line with initialization is executed.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To avoid bugs, always declare all variables at the beginning of every scope. Since this is how JavaScript interprets the code, it is always a good rule.&lt;/p&gt;
&lt;p&gt;JavaScript in strict mode does not allow variables to be used if they are not declared.&lt;/p&gt;
&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://www.w3schools.com/js/js_hoisting.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fairy tales</title><link>https://www.binovarghese.com/drawer/2022/12/19092022/</link><pubDate>Mon, 19 Sep 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/19092022/</guid><description>&lt;p&gt;Come, Let&amp;rsquo;s head to the nights where every fairy tales are true 🦄🦋&lt;/p&gt;</description></item><item><title>ഓണാംശംസകൾ</title><link>https://www.binovarghese.com/ml-musings/2022/onam-wishes-2022/</link><pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2022/onam-wishes-2022/</guid><description>&lt;p&gt;അവസാനിക്കാത്ത പൂമഴകളുടെ&lt;br&gt;
ആനന്ദംപോലെ, ഏറ്റവും&lt;br&gt;
മനോഹാരിതയുള്ളൊരു&lt;br&gt;
ഓണാംശംസകൾ നേരുന്നു&lt;br&gt;
ഞാൻ നിങ്ങൾക്ക്. ✨&lt;/p&gt;
&lt;p&gt;നിറയെ നന്മകളുണ്ടാകട്ടെ ഏവർക്കും. 🦋&lt;/p&gt;</description></item><item><title>Middleware in the Express.js</title><link>https://www.binovarghese.com/notes/2022/09/middleware-in-the-express-js/</link><pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/09/middleware-in-the-express-js/</guid><description>&lt;p&gt;Middleware functions are functions that have access to the &lt;code&gt;request object (req)&lt;/code&gt;, the &lt;code&gt;response object (res)&lt;/code&gt;, and the &lt;code&gt;next function&lt;/code&gt; in the application’s request-response cycle. The next function is a function in the Express router which, when invoked, executes the middleware succeeding the current middleware.&lt;/p&gt;
&lt;p&gt;Middleware functions can perform the following tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execute any code.&lt;/li&gt;
&lt;li&gt;Make changes to the request and the response objects.&lt;/li&gt;
&lt;li&gt;End the request-response cycle.&lt;/li&gt;
&lt;li&gt;Call the next middleware in the stack.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the current middleware function does not end the request-response cycle, it must call &lt;code&gt;next()&lt;/code&gt; to pass control to the next middleware function. Otherwise, the request will be left hanging.&lt;/p&gt;
&lt;p&gt;To load the middleware function, call &lt;code&gt;app.use()&lt;/code&gt;, specifying the middleware function.&lt;/p&gt;
&lt;p&gt;For example, the following code loads the myLogger middleware function before the route to the root path (/).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;express&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;express&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;express&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;myLogger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;LOGGED&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myLogger&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Hello World!&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Snippet for creating a progress bar</title><link>https://www.binovarghese.com/notes/2022/08/progress-bar-in-the-header-js/</link><pubDate>Sat, 27 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/progress-bar-in-the-header-js/</guid><description>&lt;p&gt;Snippet for creating a progress bar in the header section.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;header mt-100&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;row&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;progress&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;progress-bar&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;myBar&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="n"&gt;When&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="n"&gt;scrolls&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;execute&lt;/span&gt; &lt;span class="n"&gt;scrollFn&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;onscroll&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;scrollFn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;scrollFn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;winScroll&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scrollTop&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;documentElement&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scrollTop&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;documentElement&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;scrollHeight&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;documentElement&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;clientHeight&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;scrolled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;winScroll&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;myBar&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;style&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;scrolled&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;%&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>What is a computer port?</title><link>https://www.binovarghese.com/notes/2023/08/what-is-computer-port/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2023/08/what-is-computer-port/</guid><description>&lt;h4 id="what-is-a-port"&gt;What is a port?&lt;/h4&gt;
&lt;p&gt;A port is a virtual point where network connections starts and end. Ports are software based and managed by a computer&amp;rsquo;s operating system. Each port is associated with a specific process or service. Ports allow computers to easily differentiate between different kinds of traffic: emails go to a different port than webpages, for instance, even though both reach a computer over the same Internet connection.&lt;/p&gt;
&lt;h4 id="what-is-a-port-number"&gt;What is a port number?&lt;/h4&gt;
&lt;p&gt;Ports are standardized across all network-connected devices, with each port assigned a number. Most ports are reserved for certain protocols — for example, all Hypertext Transfer Protocol (HTTP) messages go to port 80. While IP addresses enable messages to go to and from specific devices, port numbers allow targeting of specific services or applications within those devices.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.cloudflare.com/learning/network-layer/what-is-a-computer-port/"&gt;Cloudflare&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Database Management System (DBMS)</title><link>https://www.binovarghese.com/notes/2022/08/database-management-system/</link><pubDate>Sun, 14 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/database-management-system/</guid><description>&lt;p&gt;A database management system (DBMS) is software that controls the storage, organization, and retrieval of data.&lt;/p&gt;
&lt;p&gt;Typically, a DBMS has the following elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Kernel code&lt;/strong&gt;&lt;br&gt;
This code manages memory and storage for the DBMS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Repository of metadata&lt;/strong&gt;&lt;br&gt;
This repository is usually called a data dictionary.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Query language&lt;/strong&gt;&lt;br&gt;
This language enables applications to access the data.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A database application is a software program that interacts with a database to access and manipulate data.&lt;/p&gt;
&lt;p&gt;The first generation of database management systems included the following types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hierarchical&lt;/strong&gt;&lt;br&gt;
A hierarchical database organizes data in a tree structure. Each parent record has one or more child records, similar to the structure of a file system.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Network&lt;/strong&gt;&lt;br&gt;
A network database is similar to a hierarchical database, except records have a many-to-many rather than a one-to-many relationship.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/introduction-to-oracle-database.html#GUID-2B09FA6E-C4D9-4C10-9DE7-21A876A4B4FA"&gt;Oracle&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Relational Model</title><link>https://www.binovarghese.com/notes/2022/08/relational-databases/</link><pubDate>Fri, 12 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/relational-databases/</guid><description>&lt;p&gt;In his seminal 1970 paper &amp;ldquo;A Relational Model of Data for Large Shared Data Banks,&amp;rdquo; E. F. Codd defined a relational model based on mathematical set theory. Today, the most widely accepted database model is the relational model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A relational database is a database that conforms to the relational model&lt;/strong&gt;. The relational model has the following major aspects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Structures&lt;br&gt;
Well-defined objects store or access the data of a database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Operations&lt;br&gt;
Clearly defined actions enable applications to manipulate the data and structures of a database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrity rules&lt;br&gt;
Integrity rules govern operations on the data and structures of a database.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;A relational database stores data in a set of simple relations. A relation is a set of tuples (rows). A tuple is an unordered set of attribute (columns) values.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A table is a two-dimensional representation of a relation in the form of rows (tuples) and columns (attributes).&lt;/strong&gt; Each row in a table has the same set of columns. A relational database is a database that stores data in relations (tables). For example, a relational database could store information about company employees in an employee table, a department table, and a salary table.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/introduction-to-oracle-database.html"&gt;Oracle&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Difference Between Cursor And Ref Cursor</title><link>https://www.binovarghese.com/notes/2022/08/difference-between-cursor-and-ref-cursor/</link><pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/difference-between-cursor-and-ref-cursor/</guid><description>&lt;p&gt;Example of Cursor:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;declare 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cursor c1 is select first_name, salary from hr.employees;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;begin 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for c in c1 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dbms_output.put_line(&amp;#39;Ename: &amp;#39; || c.first_name || &amp;#39;, Salary: &amp;#39; || c.salary);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; end loop;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;end;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example of Ref Cursor&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;declare&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;c1&lt;/span&gt; &lt;span class="n"&gt;SYS_REFCURSOR&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ename&lt;/span&gt; &lt;span class="n"&gt;varchar2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sal&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;begin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;open&lt;/span&gt; &lt;span class="n"&gt;c1&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;select&lt;/span&gt; &lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;hr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;employees&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;LOOP&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;FETCH&lt;/span&gt; &lt;span class="n"&gt;c1&lt;/span&gt; &lt;span class="n"&gt;into&lt;/span&gt; &lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;EXIT&lt;/span&gt; &lt;span class="n"&gt;WHEN&lt;/span&gt; &lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;NOTFOUND&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Ename: &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;, Salary: &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;LOOP&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;close&lt;/span&gt; &lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;They are both cursors and can be processed in the same fashion and at the most basic level, they both are same. There are some important differences between regular cursors and ref cursors which are following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;A ref cursor can not be used in CURSOR FOR LOOP, it must be used in simple CURSOR LOOP statement as in example.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A ref cursor is defined at runtime and can be opened dynamically but a regular cursor is static and defined at compile time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A ref cursor can be passed to another PL/SQL routine (function or procedure) or returned to a client. A regular cursor cannot be returned to a client application and must be consumed within same routine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A ref cursor incurs a parsing penalty because it cannot cached but regular cursor will be cached by PL/SQL which can lead to a significant reduction in CPU utilization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A regular cursor can be defined outside of a procedure or a function as a global package variable. A ref cursor cannot be; it must be local in scope to a block of PL/SQL code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A regular cursor can more efficiently retrieve data than ref cursor. A regular cursor can implicitly fetch 100 rows at a time if used with CURSOR FOR LOOP. A ref cursor must use explicit array fetching.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Use of ref cursors should be limited to only when you have a requirement of returning result sets to clients and when there is NO other efficient/effective means of achieving the goal.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:14188501024541"&gt;Ask Tom&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.greenstechnologys.com/Difference%20Between%20Cursor%20And%20Ref%20Cursor.txt"&gt;greenstechnologys&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PL/SQL Ref Cursor</title><link>https://www.binovarghese.com/notes/2022/08/pl-sql-ref-cursor/</link><pubDate>Mon, 08 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/pl-sql-ref-cursor/</guid><description>&lt;p&gt;A cursor variable is a cursor that contains a pointer to a query result set. The result set is determined by execution of the OPEN FOR statement using the cursor variable.&lt;/p&gt;
&lt;p&gt;A cursor variable, unlike a static cursor, is not associated with a particular query. The same cursor variable can be opened a number of times with separate OPEN FOR statements containing different queries. A new result set is created each time and made available through the cursor variable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Strong typed&lt;code&gt; REF CURSOR&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DECLARE TYPE customer_t IS REF CURSOR RETURN customers%ROWTYPE;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;c_customer customer_t;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This form of cursor variable called strong typed REF CURSOR because the cursor variable is always associated with a specific record structure, or type.&lt;/p&gt;
&lt;p&gt;And here is an example of a weak typed REF CURSOR declaration that is not associated with any specific structure:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Weak typed&lt;code&gt; REF CURSOR&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DECLARE TYPE customer_t IS REF CURSOR;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;c_customer customer_t;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Starting from Oracle 9i, you can use SYS_REFCURSOR, which is a predefined weak typed REF CURSOR, to declare a weak REF CURSOR as follows:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DECLARE c_customer SYS_REFCURSOR;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;SYS_REFCURSOR&lt;/code&gt; data type is known as a weakly-typed REF CURSOR type. Strongly-typed cursor variables of the REF CURSOR type require a result set specification.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.oracletutorial.com/plsql-tutorial/plsql-cursor-variables/"&gt;OracleTututorial&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ibm.com/docs/en/db2/11.5?topic=plsql-cursor-variables"&gt;IBM&lt;/a&gt;&lt;/p&gt;</description></item><item><title>വെളിച്ചവുമിരുട്ടും</title><link>https://www.binovarghese.com/ml/2022/in-between-light-and-dark/</link><pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/in-between-light-and-dark/</guid><description>&lt;p&gt;ഒരുപക്ഷേ വെളിച്ചത്തിന്റെയും ഇരുട്ടിന്റെയും&lt;br&gt;
മദ്ധ്യത്തിൽ നമ്മൾ വീണ്ടും കണ്ടുമുട്ടും.&lt;/p&gt;
&lt;p&gt;നീയെന്നിലേക്കും ഞാൻ നിന്നിലേക്കും&lt;br&gt;
ഓടിക്കയറാൻ നമ്മുടെ ഹൃദയങ്ങൾ&lt;br&gt;
വെമ്പുന്നുവെന്ന് നമ്മുടെ കണ്ണുകൾ&lt;br&gt;
ഉറക്കെ വിളിച്ച്പറയും.&lt;/p&gt;
&lt;p&gt;ഓടിവന്ന് പരസ്പരം അമർന്ന്&lt;br&gt;
കെട്ടിപ്പിടിക്കുമ്പോൾ, കോടാനുകോടി&lt;br&gt;
ചുംബനങ്ങൾക്ക് ശേഷവും നാം&lt;br&gt;
ആദ്യത്തെപ്പോലെ വീണ്ടും&lt;br&gt;
ചുണ്ടുകൾ നുകരും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ നമുക്ക് ചുറ്റും&lt;br&gt;
വെളിച്ചവുമിരുട്ടും നൃത്തം ചെയ്യും.&lt;/p&gt;</description></item><item><title>Referential Equality</title><link>https://www.binovarghese.com/notes/2022/08/referntial-equality/</link><pubDate>Tue, 02 Aug 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/08/referntial-equality/</guid><description>&lt;p&gt;We can say two objects are referentially equal when the pointers of the two objects are the same or when the operators are the same object instance. For example {} === {} is false because it is checking referential equality.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;name1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;sarah&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;name2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;sarah&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name1&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;name2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name1&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;name2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ne"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name2&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ne"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://blog.webdevsimplified.com/2020-05/memoization-in-react/"&gt;webdevsimplified&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.geeksforgeeks.org/what-is-object-equality-in-javascript/"&gt;geeksforgeeks&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.geeksforgeeks.org/object-is-in-javascript/"&gt;Object is &lt;/a&gt;&lt;/p&gt;</description></item><item><title>React Reconciliation</title><link>https://www.binovarghese.com/notes/2022/07/react-reconciliation/</link><pubDate>Sat, 30 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/react-reconciliation/</guid><description>&lt;p&gt;When a component&amp;rsquo;s props or state change, React decides whether an actual DOM update is necessary by comparing the same with Virtual DOM. If it is not equal React will update the DOM.&lt;/p&gt;
&lt;p&gt;React maintains two Virtual DOM at each time, one contains the updated Virtual DOM and one which is just the pre-update version of this updated Virtual DOM. Now it compares the pre-update version with the updated Virtual DOM and figures out what exactly has changed in the DOM like which components have been changed. This process of comparing the current Virtual DOM tree with the previous
one is known as &lt;strong&gt;‘diffing’&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The algorithm used for diffing is known as &lt;strong&gt;Diffing Algorithm&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Once React finds out what exactly has changed then it updated those objects only, on real DOM. React uses something called batch updates to update the real DOM. It just means that the changes to the real DOM are sent in batches instead of sending any update for a single change in the state of a component. This entire process of transforming changes to the real DOM is called &lt;strong&gt;Reconciliation&lt;/strong&gt;&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/reactjs-reconciliation/"&gt;geeksforgeeks&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PL/SQL Pseudocolumns</title><link>https://www.binovarghese.com/notes/2022/07/plsql-pseudocolumns/</link><pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-pseudocolumns/</guid><description>&lt;p&gt;A pseudocolumn behaves like a table column, but is not actually stored in the table. You can select from pseudocolumns, but you cannot insert, update, or delete their values. A pseudocolumn is also similar to a function without arguments. However, functions without arguments typically return the same value for every row in the result set, whereas pseudocolumns typically return a different value for each row.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/notes/2022/07/plsql-rownum/"&gt;Rownum&lt;/a&gt; is an example for pseudocolumns.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Pseudocolumns.html"&gt;Oracle Docs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PL/SQL ROWNUM</title><link>https://www.binovarghese.com/notes/2022/07/plsql-rownum/</link><pubDate>Mon, 25 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-rownum/</guid><description>&lt;p&gt;ROWNUM is a pseudocolumn (not a real column) that is available in a query. ROWNUM will be assigned the numbers 1, 2, 3, 4, &amp;hellip; N , where N is the number of rows in the set ROWNUM is used with. A ROWNUM value is not assigned permanently to a row. A row in a table does not have a number; you cannot ask for row 5 from a table—there is no such thing.&lt;/p&gt;
&lt;p&gt;ROWNUM value is actually assigned. A ROWNUM value is assigned to a row after it passes the predicate phase of the query but before the query does any sorting or aggregation. Also, a ROWNUM value is incremented only after it is assigned, which is why the following query will never return a row:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select * from t 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where ROWNUM &amp;gt; 1;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Below query will give you the wrong results,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select * from emp 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where ROWNUM &amp;lt;= 5 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;order by sal desc;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To understand the above, check the below query with this structure:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select ..., ROWNUM
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where &amp;lt;where clause&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;group by &amp;lt;columns&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;having &amp;lt;having clause&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;order by &amp;lt;columns&amp;gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Think of it as being processed in this order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The FROM/WHERE clause goes first.&lt;/li&gt;
&lt;li&gt;ROWNUM is assigned and incremented to each output row from the FROM/WHERE clause.&lt;/li&gt;
&lt;li&gt;SELECT is applied.&lt;/li&gt;
&lt;li&gt;GROUP BY is applied.&lt;/li&gt;
&lt;li&gt;HAVING is applied.&lt;/li&gt;
&lt;li&gt;ORDER BY is applied.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Below is the way ti use the rownum&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;select * from 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;( select * from emp 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;order by sal desc ) 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;where ROWNUM &amp;lt;= 5;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://blogs.oracle.com/connect/post/on-rownum-and-limiting-results"&gt;Oracle Blog&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Validate Conversion</title><link>https://www.binovarghese.com/notes/2022/07/plsql-validate-conversion/</link><pubDate>Sun, 24 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-validate-conversion/</guid><description>&lt;p&gt;&lt;strong&gt;VALIDATE_CONVERSION&lt;/strong&gt; determines whether &lt;code&gt;expr&lt;/code&gt; can be converted to the specified data type. If expr can be successfully converted, then this function returns 1; otherwise, this function returns 0. If expr evaluates to null, then this function returns 1. If an error occurs while evaluating expr, then this function returns the error.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(1000 AS BINARY_DOUBLE)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;1234.56&amp;#39; AS BINARY_FLOAT)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;July 20, 1969, 20:18&amp;#39; AS DATE,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;Month dd, YYYY, HH24:MI&amp;#39;, &amp;#39;NLS_DATE_LANGUAGE = American&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;200 00:00:00&amp;#39; AS INTERVAL DAY TO SECOND)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;P1Y2M&amp;#39; AS INTERVAL YEAR TO MONTH)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;$100,00&amp;#39; AS NUMBER,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;$999D99&amp;#39;, &amp;#39;NLS_NUMERIC_CHARACTERS = &amp;#39;&amp;#39;,.&amp;#39;&amp;#39;&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;29-Jan-02 17:24:00&amp;#39; AS TIMESTAMP,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;DD-MON-YY HH24:MI:SS&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;1999-12-01 11:00:00 -8:00&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; AS TIMESTAMP WITH TIME ZONE, &amp;#39;YYYY-MM-DD HH:MI:SS TZH:TZM&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT VALIDATE_CONVERSION(&amp;#39;11-May-16 17:30:00&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; AS TIMESTAMP WITH LOCAL TIME ZONE, &amp;#39;DD-MON-YY HH24:MI:SS&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM DUAL;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/VALIDATE_CONVERSION.html#GUID-DC485EEB-CB6D-42EF-97AA-4487884CB2CD"&gt;Oracle Docs&lt;/a&gt;&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/20072022/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/20072022/</guid><description>&lt;p&gt;Its not an illusion, you are more than enough.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/20072022_02/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/20072022_02/</guid><description>&lt;p&gt;After long, tiring hours,&lt;br&gt;
I want to drink you,&lt;br&gt;
and the tea, slowly&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/20072022_06/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/20072022_06/</guid><description>&lt;p&gt;Poets are wizards &lt;br&gt;
who can make you dream.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/20072023_03/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/20072023_03/</guid><description>&lt;p&gt;Whenever I am looking into my brown eyes,&lt;br&gt;
I can see the magic. &lt;br&gt;
Its says believe in yourself.&lt;/p&gt;</description></item><item><title>Evening</title><link>https://www.binovarghese.com/drawer/2022/01/evening/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/evening/</guid><description>&lt;p&gt;I don’t know what makes the evening more beautiful,&lt;br&gt;
you or the sunset.&lt;/p&gt;
&lt;p&gt;evening&lt;/p&gt;</description></item><item><title>PL/SQL SELECT INTO Clause</title><link>https://www.binovarghese.com/notes/2022/07/plsql-select-into/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-select-into/</guid><description>&lt;p&gt;The SELECT INTO is actually a standard SQL query where the SELECT INTO clause is used to place the returned data into predefined variables.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;create&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;replace&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;auth_Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;v_auth_state&lt;/span&gt; &lt;span class="n"&gt;IN&lt;/span&gt; &lt;span class="n"&gt;author&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;author_state&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;varchar2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;as&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;v_authName&lt;/span&gt; &lt;span class="n"&gt;author&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;author_last_name&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;begin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;select&lt;/span&gt; &lt;span class="n"&gt;author_last_name&lt;/span&gt; &lt;span class="n"&gt;into&lt;/span&gt; &lt;span class="n"&gt;v_authName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;author&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="n"&gt;author_state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;v_auth_state&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;v_authName&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exception&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;when&lt;/span&gt; &lt;span class="n"&gt;TOO_MANY_ROWS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;then&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Too Many Authors in that State&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;when&lt;/span&gt; &lt;span class="n"&gt;NO_DATA_FOUND&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;then&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;No Authors in that State&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;when&lt;/span&gt; &lt;span class="n"&gt;others&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;then&lt;/span&gt; &lt;span class="n"&gt;raise_application_error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;20011&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Unknown Exception in authName Function&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="http://www.dba-oracle.com/t_pl_sql_plsql_select_into_clause.htm"&gt;dba-Oracle&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Count(*) is unsafe</title><link>https://www.binovarghese.com/notes/2022/07/plsql-count-of-star-is-unsafe/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-count-of-star-is-unsafe/</guid><description>&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;INTO&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;CONDITION&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="n"&gt;THEN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;NEEDED_FIELD&lt;/span&gt; &lt;span class="n"&gt;INTO&lt;/span&gt; &lt;span class="n"&gt;otherVar&lt;/span&gt; &lt;span class="n"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;CONDITION&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In PLSQL method with &lt;code&gt;count(*)&lt;/code&gt; is unsafe in above code. If another session deletes the row that met the condition after the line with the &lt;code&gt;count(*)&lt;/code&gt;, and before the line with the &lt;code&gt;select ... into&lt;/code&gt;, the code will throw an exception that will not get handled.&lt;/p&gt;
&lt;p&gt;Use the below insted,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;NEEDED_FIELD&lt;/span&gt; &lt;span class="n"&gt;INTO&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;CONDITION&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;EXCEPTION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;WHEN&lt;/span&gt; &lt;span class="n"&gt;NO_DATA_FOUND&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/221909/oracle-pl-sql-are-no-data-found-exceptions-bad-for-stored-procedure-performanc"&gt;Stack Overflow&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Set Define OFF</title><link>https://www.binovarghese.com/notes/2022/07/plsql-set-define-off/</link><pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/07/plsql-set-define-off/</guid><description>&lt;p&gt;The &lt;code&gt;SET DEFINE&lt;/code&gt; command changes the prefix character used to mark substitution variables. You can use &lt;code&gt;SET DEFINE&lt;/code&gt; to turn variable substitution off.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SET DEF[INE] {OFF | ON | prefix_char}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Define is a SQL*Plus client variable. It is NOT a database level setting.&lt;/p&gt;
&lt;p&gt;When you start SQL*Plus, variable substitution will be on by default, and the default prefix character is an ampersand. If you are running a script that uses ampersands in text strings, you may want to change the prefix character to something else. If your script doesn’t use substitution variables, you may find it easiest to turn the feature off.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.oreilly.com/library/view/oracle-sqlplus-the/0596007469/re56.html"&gt;Oreilly&lt;/a&gt;&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/13072022/</link><pubDate>Wed, 13 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/13072022/</guid><description>&lt;p&gt;When you started to look deep inside you, you will find the sparks of magic.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/11072022/</link><pubDate>Mon, 11 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/11072022/</guid><description>&lt;p&gt;Sometimes we are in a war that doesn&amp;rsquo;t even exist.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/7jul/</link><pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/7jul/</guid><description>&lt;p&gt;Everything will end. Make it to the most.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/06072022/</link><pubDate>Wed, 06 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/06072022/</guid><description>&lt;p&gt;May be peace is the higher version of happiness.&lt;/p&gt;</description></item><item><title>How JS code is executed.</title><link>https://www.binovarghese.com/blog/2022/how-the-js-code-is-executed/</link><pubDate>Tue, 05 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/how-the-js-code-is-executed/</guid><description>&lt;p&gt;JavaScript code execution involves a sequence of steps managed by the JavaScript engine, primarily through the use of the call stack and execution contexts. Remember, JavaScript is a synchronous (moves to the next line only when the execution of the current line is completed) and single-threaded (can execute one command at a time in a specific order) language.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s first understand about Execution content.&lt;/p&gt;
&lt;h4 id="execution-context"&gt;Execution Context&lt;/h4&gt;
&lt;p&gt;Whenever a JS file executes, the JavaScript engine creates a default Execution Context known as the Global Execution Context. Everything in JavaScript happens inside an Execution Context. You can think of it as a container where the entire process occurs.&lt;/p&gt;
&lt;p&gt;The Execution Context has two components, and JavaScript code is executed in two phases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memory Component or Variable Environment&lt;/li&gt;
&lt;li&gt;Code Component or Thread of Execution&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2022/execution-context.jpg"
 alt="Execution Context"&gt;
&lt;/figure&gt;

&lt;h4 id="inside-the-execution-context"&gt;Inside the Execution Context&lt;/h4&gt;
&lt;p&gt;After creating the Execution Context, two phases occur:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Memory Allocation Phase (Creation Phase)
In this phase, the global object (browser - window, node.js - global) is created. The &lt;code&gt;this&lt;/code&gt; object is also created and bound to the global state. All variables and functions in the code get their memory allocated with &lt;code&gt;undefined&lt;/code&gt; and the entire function code, respectively.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Code Execution Phase
In this phase, thread execution happens, and all variables get their assigned values. When a function is invoked, a new Execution Context is created, and the process repeats with its own memory allocation and code execution phases.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;p&gt;Let&amp;rsquo;s dive into an example for better understanding.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;doSubtraction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;n2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sub&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;n1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;n2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;sub&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sub1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;doSubtraction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sub2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;doSubtraction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When executing the above code, the Creation Phase and Execution Phase will occur as follows:&lt;/p&gt;
&lt;h5 id="step-1-creation-phase"&gt;Step 1: Creation Phase&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;x&lt;/code&gt; variable is allocated memory and stores &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;y&lt;/code&gt; variable is allocated memory and stores &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;doSubtraction&lt;/code&gt; function is allocated memory and stores the entire function code.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sub1&lt;/code&gt; variable is allocated memory and stores &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sub2&lt;/code&gt; variable is allocated memory and stores &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="step-2-execution-phase"&gt;Step 2: Execution Phase&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;The value of 10 is assigned to the &lt;code&gt;x&lt;/code&gt; variable.&lt;/li&gt;
&lt;li&gt;The value of 5 is assigned to the &lt;code&gt;y&lt;/code&gt; variable.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;doSubtraction&lt;/code&gt; function is skipped for now since there is nothing to execute.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;doSubtraction&lt;/code&gt; function is invoked, creating a new Function Execution Context.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="step-3-function-execution-context-creation-phase"&gt;Step 3: Function Execution Context Creation Phase&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;n1&lt;/code&gt; and &lt;code&gt;n2&lt;/code&gt; variables are allocated memory and store &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sub&lt;/code&gt; variable is allocated memory and stores &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="step-4-function-execution-context-execution-phase"&gt;Step 4: Function Execution Context Execution Phase&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;n1&lt;/code&gt; and &lt;code&gt;n2&lt;/code&gt; are assigned the values 10 and 5, respectively.&lt;/li&gt;
&lt;li&gt;The subtraction is performed, and the result (5) is stored in the &lt;code&gt;sub&lt;/code&gt; variable.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;return&lt;/code&gt; statement sends the function&amp;rsquo;s result back to the Global Execution Context with the value 5.&lt;/li&gt;
&lt;li&gt;The returned value is assigned to the &lt;code&gt;sub1&lt;/code&gt; variable.&lt;/li&gt;
&lt;li&gt;The process repeats for the next function call (&lt;code&gt;doSubtraction(100, 50)&lt;/code&gt;), creating a new Function Execution Context and following the same steps from Step 3.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After the Step 4, the function context created will be removed from the call stack. Then the next function call (&lt;code&gt;doSubtraction(100, 50)&lt;/code&gt;) creates a new function execution context, and it will add to the call stack. After performing the calculation, the latest function execution context also removes from the call stack and control will go to the global execution context, which persists until the script fully completes.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2022/execution-context-1.jpg"
 alt="Execution Context"&gt;
&lt;/figure&gt;

&lt;h4 id="call-stack"&gt;Call stack&lt;/h4&gt;
&lt;p&gt;The call stack in JavaScript is a data structure that manages the execution orders of function calls in a last-in, first-out (LIFO) order.&lt;/p&gt;
&lt;p&gt;The call stack is essentially a stack data structure used by the JavaScript engine to keep track of the point to which each active function should return control, when it finishes executing. When a JS program is run, the call stack is populated with this Global execution context. When a function is invoked a new function execution context is created and pushed to the stack. After the function execution it will popped out of the stack and the control reaches to the execution context below it in the stack.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2022/call-stack.jpg"
 alt="call stack"&gt;
&lt;/figure&gt;

&lt;p&gt;Let&amp;rsquo;s explain the call stack with the above example. As you can see in the diagram, after creating global context, function execution context is pushed to the stack when the &lt;code&gt; doSubtraction(x, y)&lt;/code&gt; invokes and it will be popped out after the execution. Similar to that, next function call (&lt;code&gt;doSubtraction(100, 50)&lt;/code&gt;) creates a new function execution context, and it will pushed to the call stack. And it will popped out when the execution completes and control reaches to the execution context below it in the stack.&lt;/p&gt;
&lt;h4 id="summary"&gt;Summary&lt;/h4&gt;
&lt;p&gt;Hope you understood how JavaScript code is executing with the help of execution contexts and call stack.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The global execution context is the starting point of any JavaScript execution and remains at the bottom of the call stack throughout the entire execution process.&lt;/li&gt;
&lt;li&gt;The global execution context has two phases: the memory allocation phase and the code execution phase.&lt;/li&gt;
&lt;li&gt;In the memory allocation (creation) phase, variables are allocated memory and initialized with &lt;code&gt;undefined&lt;/code&gt;. Functions are also allocated memory and store their entire function code.&lt;/li&gt;
&lt;li&gt;In the code execution phase, values are assigned to variables. When a function is invoked, a new function execution context is created and pushed onto the call stack.&lt;/li&gt;
&lt;li&gt;The call stack manages function calls, with each function call creating a new execution context that is pushed onto the stack.&lt;/li&gt;
&lt;li&gt;When a function completes, its execution context is popped off the stack, and control returns to the previous execution context.&lt;/li&gt;
&lt;li&gt;The call stack manages the order of function execution in a last-in, first-out (LIFO) manner.&lt;/li&gt;
&lt;li&gt;After all function execution contexts are popped off, control returns to the global execution context, which persists until the script fully completes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="references"&gt;References&lt;/h5&gt;
&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/javascript-code-execution/"&gt;GeeksforGeeks&lt;/a&gt;,
&lt;a href="https://www.freecodecamp.org/news/execution-context-how-javascript-works-behind-the-scenes/"&gt;freeCodeCamp&lt;/a&gt;,
&lt;a href="https://www.youtube.com/watch?v=iLWTnMzWtj4&amp;amp;list=PLlasXeu85E9cQ32gLCvAvr9vNaUccPVNP&amp;amp;index=3"&gt;YT Namastae JavaScript&lt;/a&gt;,
&lt;a href="https://www.youtube.com/watch?v=Fd9VaW0M7K4"&gt;Traversy&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Seek clarity</title><link>https://www.binovarghese.com/drawer/2022/12/05072022/</link><pubDate>Tue, 05 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/05072022/</guid><description>&lt;p&gt;Before seeking peace in your life, seek clarity.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/01/04072022/</link><pubDate>Mon, 04 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/01/04072022/</guid><description>&lt;p&gt;Everything is already there, you are not realized it yet!&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/drawer/2022/12/1jul/</link><pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/1jul/</guid><description>&lt;p&gt;Colurful scenes from Riffa central market.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/1Jul.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>സ്വപ്നതുല്യമായ സത്യം</title><link>https://www.binovarghese.com/ml/2022/life-is-good/</link><pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/life-is-good/</guid><description>&lt;p&gt;പച്ചച്ചെടികൾ നിറഞ്ഞയെന്റെ&lt;br&gt;
മുറിയുടെ മഞ്ഞവിരിപ്പിൽ&lt;br&gt;
കിടക്കുമ്പോൾ ഞാനിടക്ക് ഓർക്കും,&lt;br&gt;
ഞാൻ സന്തോഷവാനാണെല്ലോയെന്ന&lt;br&gt;
സ്വപ്നതുല്യമായ സത്യം.&lt;/p&gt;
&lt;p&gt;വേനലിൽ വരണ്ട് പോകുമ്പോൾ&lt;br&gt;
ഓർമകൾ മഴപോലെ പെയ്ത്&lt;br&gt;
തണുപ്പിക്കാറുണ്ടിന്നും.&lt;br&gt;
ദുഃഖമുള്ളപ്പോളും പുഞ്ചിരി&lt;br&gt;
നഷ്ട്ടമാകുന്നില്ലല്ലോ.&lt;/p&gt;
&lt;p&gt;വായിക്കാൻ ഒന്നുമില്ലല്ലോന്ന്&lt;br&gt;
ഓർത്തിരിക്കുമ്പോൾ പുസ്‌തകങ്ങൾ&lt;br&gt;
ഇപ്പോഴും നടന്ന് കയറിവന്ന്&lt;br&gt;
കൂടെയിരിക്കും. എഴുതാൻ കവിതകളും,&lt;br&gt;
ആസ്വദിക്കുവാൻ സിനിമകളും&lt;br&gt;
ബാക്കി കിടക്കുന്നു.&lt;/p&gt;
&lt;p&gt;കണ്ടതിനേക്കാളേറെ കാണാൻ&lt;br&gt;
കാഴ്ചകളും, പോകാൻ കാടും കടലും&lt;br&gt;
എന്നെക്കാത്തിരിക്കുന്ന പോലെ.&lt;br&gt;
ഈയാകാശത്തിന് അതിരുകളില്ലാത്ത &lt;br&gt;
കാലത്തോളമെന്റെ സ്വാതന്ത്ര്യം&lt;br&gt;
അവസാനിക്കുന്നില്ലല്ലോ.&lt;/p&gt;
&lt;p&gt;മടുത്തിരിക്കുമ്പോൾ ഒരുകട്ടനിടാമെന്ന്&lt;br&gt;
പറഞ്ഞ് പ്രിയപ്പെട്ടവർ അരുകിൽ&lt;br&gt;
വരാറുണ്ട്. പുലരുവോളം കഥ&lt;br&gt;
പറഞ്ഞവർ കൂട്ടിനിരിക്കുമ്പോൾ&lt;br&gt;
ജീവിതമെത്ര സുന്ദരം.&lt;/p&gt;
&lt;p&gt;മനോഹരമായ ധ്യാനം പോലുള്ള&lt;br&gt;
ഈ ജീവിതം ഞാനാസ്വദിച്ചോട്ടെ.&lt;br&gt;
കാലത്തിന്റെ ഉർവ്വരതക്ക് നന്ദി.&lt;/p&gt;</description></item><item><title>Repotting</title><link>https://www.binovarghese.com/drawer/2022/12/11jun/</link><pubDate>Sat, 11 Jun 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/11jun/</guid><description>&lt;p&gt;I’m repotting and watering my plants today—and added a few new ones to my collection. The more green, the merrier.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/11Jun.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>ഒരുതരി വെളിച്ചം</title><link>https://www.binovarghese.com/ml/2022/arent-you-writing-nowadays/</link><pubDate>Mon, 30 May 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/arent-you-writing-nowadays/</guid><description>&lt;p&gt;ഇപ്പോളൊന്നും എഴുതാറില്ലേന്ന്&lt;br&gt;
അവളിടക്കിടെ വന്ന് ചോദിക്കും.&lt;/p&gt;
&lt;p&gt;എഴുതാനാരോ ഉള്ളിൽക്കിടന്ന്&lt;br&gt;
പിടക്കാറുണ്ടെങ്കിലും കാമ്പില്ലാത്തതെന്ന്&lt;br&gt;
സ്വയം തോന്നലുള്ളത് കൊണ്ട്&lt;br&gt;
മാറ്റി വെയ്ക്കാറാണ് പതിവെന്ന്&lt;br&gt;
മറുപടിപ്പറയും ഞാൻ.&lt;/p&gt;
&lt;p&gt;കാലമെപ്പോഴും സമയമനുവദിക്കണമെന്നില്ല,&lt;br&gt;
എന്നവളപ്പോൾ ഓർപ്പിക്കും.&lt;br&gt;
ആ സത്യത്തെക്കുറിച്ച് ബോധ്യമുണ്ടെങ്കിലും&lt;br&gt;
കാലങ്ങൾക്കപ്പുറം ഓർക്കാൻ തക്കതൊന്നും&lt;br&gt;
എഴുതാനില്ലെന്ന് പറഞ്ഞൊഴിയും ഞാനന്നേരം.&lt;/p&gt;
&lt;p&gt;ആർക്കും വേണ്ടിയല്ല, അവനവന്റെ&lt;br&gt;
ആത്‌മശാന്തിക്ക് വേണ്ടിയാണെല്ലാം&lt;br&gt;
എഴുതുന്നതെന്ന് പറഞ്ഞിട്ട്,&lt;br&gt;
ഇപ്പോൾ ആശയങ്ങളൊക്കെ&lt;br&gt;
മാറിമറിഞ്ഞോന്നവൾ മറുചോദ്യമെറിയും.&lt;/p&gt;
&lt;p&gt;ഞാനെഴുതിയിട്ട് നിനക്കെന്ത് കിട്ടാനാ&lt;br&gt;
പെണ്ണേയെന്ന് ചോദിച്ച് സ്വരം&lt;br&gt;
കടുപ്പിക്കും ഞാനപ്പോൾ.&lt;/p&gt;
&lt;p&gt;സദാ വെളിച്ചമെന്ന് പറയുന്നിയാൾക്ക്&lt;br&gt;
ഒരു തിരിനാളത്തിന്റെ കുറവുണ്ടിപ്പോൾ&lt;br&gt;
എന്നവൾ ശാന്തമായി മറുപടിപ്പറയും.&lt;br&gt;
എഴുതണം, ഇനിയുമെഴുതണം&lt;br&gt;
അക്ഷരങ്ങളുടെ വെളിച്ചം നഷ്ട്ടമായിക്കൂടാ&lt;br&gt;
എന്നൂടെപറഞ്ഞിട്ട് അവളെഴുന്നേൽക്കും.&lt;/p&gt;
&lt;p&gt;ഞാനൊരു ചായയിടാമെന്ന് പറഞ്ഞ്&lt;br&gt;
അവളന്റെ ചുവന്നബുക്കെടുത്ത്&lt;br&gt;
തന്നിട്ട് അടുക്കളയിലോട്ട് നടക്കും.&lt;/p&gt;
&lt;p&gt;ഹാ! വെളിച്ചത്തിനുമിടക്ക് ഒരുതരി&lt;br&gt;
വെളിച്ചം വേണമെന്നല്ലോ&lt;br&gt;
എന്നോർത്തു ഞാനപ്പോൾ ആശ്ചര്യപ്പെട്ടു.&lt;/p&gt;</description></item><item><title>തേടൽ</title><link>https://www.binovarghese.com/ml/2022/seeking-who-am-i/</link><pubDate>Fri, 06 May 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/seeking-who-am-i/</guid><description>&lt;p&gt;എന്നിൽ നിന്ന് എന്നിലേക്കുള്ള&lt;br&gt;
ദേശാടനത്തിൽ, ലിപികളറിയാത്ത&lt;br&gt;
ഭാഷകളിലെ സംഗീതസ്വരങ്ങൾ&lt;br&gt;
ഞാനുള്ളിലോട്ടെടുക്കാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;എനിക്കിനിയും മനസ്സിലാവാത്ത&lt;br&gt;
ആരും പറഞ്ഞ് തന്നിട്ടില്ലാത്ത&lt;br&gt;
പ്രതലങ്ങളിൽ ഞാനിപ്പോഴും&lt;br&gt;
എന്നെത്തിരയുന്നുണ്ട്,&lt;br&gt;
എവിടെയാന്നറിയില്ലെന്ന് മാത്രം.&lt;/p&gt;
&lt;p&gt;ഞാനെന്നനുഭൂതിയിൽ&lt;br&gt;
സ്വയമലയുകയാന്ന് തോന്നുന്നു.&lt;br&gt;
നുകരുന്തോറും രസംകയറുന്ന&lt;br&gt;
ഓട്ടത്തിലെന്തോ തേടുകയാണ് ഞാൻ,&lt;br&gt;
ഒരുപക്ഷേ എന്നെത്തന്നെയായിരിക്കും.&lt;/p&gt;
&lt;p&gt;ഒരു നിമിഷം നിൽക്കൂ പ്രിയപ്പെട്ടവനെ&lt;br&gt;
നമ്മുക്കെവിടെയോ പിഴച്ചിരിക്കുന്നു.&lt;br&gt;
ചുറ്റും മന്ത്രസ്വരങ്ങളുടെ മഴ പെയ്യുന്നു,&lt;br&gt;
അത് ജ്ഞാനികളുടെ സ്വരങ്ങൾ&lt;br&gt;
പകരുന്നുണ്ടോ?&lt;/p&gt;
&lt;p&gt;തേടലിന്റെ യാത്രയല്ല, ഈ &lt;br&gt;
നിമിഷത്തിലെ നൃത്തമായിരിക്കാം ഞാൻ.&lt;br&gt;
ഉള്ളിലെ മഴസ്വരങ്ങളിൽ&lt;br&gt;
നിറഞ്ഞാടുവാൻ നിയോഗിക്കപ്പെട്ട&lt;br&gt;
ആനന്ദനൃത്തമാണ് ഞാനെന്ന്&lt;br&gt;
തോന്നുന്നു.&lt;/p&gt;
&lt;p&gt;അങ്ങനെയെങ്കിൽ മഴ തോരുവോളം&lt;br&gt;
നിറഞ്ഞാടാൻ കാലമനുഗ്രഹിക്കട്ടെ.&lt;/p&gt;</description></item><item><title>Motivation for fragments</title><link>https://www.binovarghese.com/notes/2022/04/motivation-for-fragments/</link><pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/04/motivation-for-fragments/</guid><description>&lt;p&gt;A common pattern is for a component to return a list of children. In the below example when Column component is rendering the HTML will be invalid as a div is coming in the middle of the table. Whenever we are using Fragments, we can avoid that.&lt;/p&gt;
&lt;p&gt;Take this example React snippet:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="n"&gt;Table&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;tr&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Columns&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;tr&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;!-- raw HTML omitted --&gt; would need to return multiple &lt;!-- raw HTML omitted --&gt; elements in order for the rendered HTML to be valid. If a parent div was used inside the render() of &lt;!-- raw HTML omitted --&gt;, then the resulting HTML will be invalid.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="n"&gt;Columns&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Hello&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="ne"&gt;World&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;results in a &lt;!-- raw HTML omitted --&gt; output of:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;table&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;tr&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;td&amp;gt;Hello&amp;lt;/td&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;td&amp;gt;World&amp;lt;/td&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/tr&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/table&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Keyed Fragments</title><link>https://www.binovarghese.com/notes/2022/04/keyed-fragments/</link><pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/04/keyed-fragments/</guid><description>&lt;p&gt;Fragments declared with the explicit &amp;lt;React.Fragment&amp;gt; syntax may have keys. A use case for this is mapping a collection to an array of fragments — for example, to create a description list:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-mysql" data-lang="mysql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Glossary&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;dl&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Without&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="k"&gt;key&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;will&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fire&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;warning&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Fragment&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;dt&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;term&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;dt&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;dd&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;dd&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Fragment&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;dl&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Fragments</title><link>https://www.binovarghese.com/notes/2022/04/fragments/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/04/fragments/</guid><description>&lt;p&gt;A common pattern in React is for a component to return multiple elements. Fragments let you group a list of children without adding extra nodes to the DOM.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;render() {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; return (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;React.Fragment&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;ChildA /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;ChildB /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;ChildC /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/React.Fragment&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="short-syntax"&gt;Short Syntax&lt;/h3&gt;
&lt;p&gt;Here is the shorter syntax you can use for declaring fragments. It looks like empty tags:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="n"&gt;Columns&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;React&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Hello&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="ne"&gt;World&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Motivation for &lt;a href="https://www.binovarghese.com/notes/2022/04/motivation-for-fragments/"&gt;fragments&lt;/a&gt; in React.&lt;/p&gt;</description></item><item><title>The more green, the merrier</title><link>https://www.binovarghese.com/drawer/2022/12/8mar/</link><pubDate>Tue, 08 Mar 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/8mar/</guid><description>&lt;p&gt;After the weekend, when I checked my plant in my office, I noticed the new leaves are bigger and brighter. I don’t know why suddenly it made me happy and peaceful. And now I am planning to plant more of them in my office space.&lt;/p&gt;
&lt;p&gt;Maybe more green will give you more peace.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/office-plants.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>TYPE Attribute</title><link>https://www.binovarghese.com/notes/2022/03/type/</link><pubDate>Wed, 02 Mar 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/03/type/</guid><description>&lt;p&gt;The &lt;code&gt;%TYPE&lt;/code&gt; attribute lets use the datatype of a field, record, nested table, database column, or variable in your own declarations, rather than hardcoding the type names.&lt;/p&gt;
&lt;p&gt;You can use the &lt;code&gt;%TYPE&lt;/code&gt; attribute as a datatype specifier when declaring constants, variables, fields, and parameters. If the types that you reference change, your declarations are automatically updated.&lt;/p&gt;
&lt;p&gt;This technique saves you from making code changes when, for example, the length of a VARCHAR2 column is increased. Note that column constraints, such as the &lt;code&gt;NOT NULL&lt;/code&gt; and check constraint, or default values are not inherited by items declared using &lt;code&gt;%TYPE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>വീണ്ടുമുണരട്ടെ</title><link>https://www.binovarghese.com/ml/2022/madness-in-the-night/</link><pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/madness-in-the-night/</guid><description>&lt;p&gt;പാതിരാത്രിയിൽ പ്രാന്തിനൊപ്പം &lt;br&gt;
കവിത പൂക്കാറുണ്ടുള്ളിൽ, &lt;br&gt;
പ്രണയത്തോളം മധുരവും &lt;br&gt;
പ്രാണനോളം നനവുള്ളത്.&lt;/p&gt;
&lt;p&gt;ഒരുമിച്ചിരുന്ന് പങ്ക് വെയ്ക്കുവാൻ &lt;br&gt;
ആളില്ലാതെയായി പോയത്കൊണ്ട് &lt;br&gt;
ഓർമ്മകളിൽ ഭ്രമണം ചെയ്യാൻ &lt;br&gt;
ഇതിലും നല്ല നേരമില്ലാന്ന് &lt;br&gt;
തോന്നുമന്നേരം.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ വെറുതെയോരോന്ന്&lt;br&gt;
മനസ്സിൽ പെയ്യും. കടന്ന് വന്ന &lt;br&gt;
വഴികളുടെ കനലുകളും, കനവിന്റെ &lt;br&gt;
വഴിയമ്പലങ്ങളും മനസ്സിലൊരുമാത്ര &lt;br&gt;
മിന്നിമറയും.&lt;/p&gt;
&lt;p&gt;പിന്നെയൊരു ശൂന്യതയാണ്.&lt;br&gt;
പെയ്തൊഴിഞ്ഞ ഇരുണ്ട രാവുപോലെ&lt;br&gt;
വെളിച്ചവും ശബ്ദവും വറ്റിയ&lt;br&gt;
നിശ്ബദ താഴ്‌വരയിലേകനായി&lt;br&gt;
കണ്ണിറുക്കിയടച്ച് ശാന്തി തേടും.&lt;/p&gt;
&lt;p&gt;ഒരുപക്ഷേ സ്വപ്നങ്ങളിൽ&lt;br&gt;
ഓർമ്മകളുടെ ഉൽസവം&lt;br&gt;
ഉണ്ടാകുമ്പോൾ, കാലം&lt;br&gt;
വീണ്ടുമനുഗ്രഹിക്കുമാരിക്കും.&lt;/p&gt;
&lt;p&gt;ഒരു പകലൂടെ വീണ്ടുമുണരാൻ&lt;br&gt;
അവസരം ലഭിക്കുമാരിക്കും.&lt;/p&gt;</description></item><item><title>undefined and not defined in JS</title><link>https://www.binovarghese.com/notes/2022/02/undefined-and-not-defined-in-js/</link><pubDate>Tue, 22 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/undefined-and-not-defined-in-js/</guid><description>&lt;h4 id="undefined"&gt;undefined&lt;/h4&gt;
&lt;p&gt;undefined is a property of the global object. That is, it is a variable in global scope. The initial value of undefined is the primitive value &lt;a href="notes/2022/02/primitive-in-js/"&gt;&lt;em&gt;undefined&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A variable is &amp;lsquo;declared&amp;rsquo;, it has its own placeholder (memory is allcoated) but not having the value of itself &amp;lsquo;defined&amp;rsquo; hence &amp;lsquo;undefined&amp;rsquo;. Until the variable has assigned a value, the &amp;lsquo;undefined&amp;rsquo; fills that particular placeholder and &amp;lsquo;undefined&amp;rsquo; is itself a datatype.&lt;/p&gt;
&lt;h4 id="not-defined"&gt;Not Defined&lt;/h4&gt;
&lt;p&gt;This case comes in error where js engine neither find that particular variable nor its placeholder
and cannot find the variable in 1st phase of context (Memory allocation context)&lt;/p&gt;
&lt;p&gt;JS is loosely typed language, this means that JavaScript will figure out what type of data you have and make the necessary adjustments so that you don’t have to redefine your different types of data.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined"&gt;MDN&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Intersection Observer API</title><link>https://www.binovarghese.com/notes/2022/02/intersection-observer-api/</link><pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/intersection-observer-api/</guid><description>&lt;p&gt;The Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document&amp;rsquo;s viewport.&lt;/p&gt;
&lt;p&gt;Syntax to create Intersection Observer API&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;observer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;IntersectionObserver&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;entries&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API"&gt;MDN Web Docs&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blog.webdevsimplified.com/2022-01/intersection-observer/"&gt;webdevsimplified&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Pure functions</title><link>https://www.binovarghese.com/notes/2022/02/pure-functions/</link><pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/pure-functions/</guid><description>&lt;p&gt;A pure function is a function which:&lt;/p&gt;
&lt;p&gt;Given the same input, always returns the same output and the Produces have no side effects.&lt;/p&gt;
&lt;p&gt;Preoperties&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No random values&lt;/li&gt;
&lt;li&gt;No current date/time&lt;/li&gt;
&lt;li&gt;No global state&lt;/li&gt;
&lt;li&gt;No mutation of parameters&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Benefits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Self-documenting&lt;/li&gt;
&lt;li&gt;Easily testable&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>ഓർമ്മകളിലേക്ക്</title><link>https://www.binovarghese.com/ml/2022/to-the-memories/</link><pubDate>Sat, 19 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/to-the-memories/</guid><description>&lt;p&gt;ഓർമ്മകളിലേക്ക് വീണ്ടും വീണ്ടും&lt;br&gt;
തിരികെപ്പോകുന്ന മനുഷ്യരുണ്ട്.&lt;/p&gt;
&lt;p&gt;രാവിലെയെണ്ണീറ്റ് ഒറ്റക്ക് കട്ടനിടുമ്പോൾ&lt;br&gt;
ദീനം വന്ന് മരിച്ച ഭാര്യ നീനാമ്മയെ&lt;br&gt;
പത്രോസേട്ടൻ ഓർക്കും. രാവിലെ&lt;br&gt;
കട്ടനുമായിയവൾ വിളിച്ചുണർത്തുമ്പോൾ&lt;br&gt;
ഇടക്ക് പറയുമാരുന്നു, &amp;ldquo;ഞാൻ പോയാലും&lt;br&gt;
ഇയാൾ കട്ടൻ കുടി മുടക്കരുതെന്ന്.&amp;rdquo;&lt;br&gt;
നിന്നോളം ഞാൻ കട്ടനെയും&lt;br&gt;
സ്നേഹിച്ചോളാമെന്ന് പറഞ്ഞതോർത്ത് &lt;br&gt;
പത്രോസേട്ടൻ ചൂട് കട്ടൻ ഊതിക്കുടിച്ചിട്ട്&lt;br&gt;
പണിക്ക് പോകാനിറങ്ങി.&lt;/p&gt;
&lt;p&gt;ദൂരെയുള്ള നഗരത്തിന്റെ തിരക്കുള്ള&lt;br&gt;
രാത്രിയിൽ ഒറ്റക്ക് നടക്കുമ്പോൾ&lt;br&gt;
കോളേജിലെ മനുവിനെ അരുണോർത്തു.&lt;br&gt;
&amp;ldquo;എന്ത് പ്രശ്നം വന്നാലും നമ്മൾ ജീവിതത്തിൽ&lt;br&gt;
തോറ്റ് കൊടുക്കരുത് അളിയാന്ന്&amp;rdquo;, &lt;br&gt;
ഒന്നുമില്ലായ്മയിൽ നിന്ന് വന്ന&lt;br&gt;
അവനെപ്പോഴും പറയുമാരുന്നു. &lt;br&gt;
അതോർത്തപ്പോൾ അരുൺ &lt;br&gt;
വേഗം റൂമിലോട്ട് തിരിച്ച് നടന്നു.&lt;/p&gt;
&lt;p&gt;ലില്ലിചേച്ചി തൊണ്ണൂറാം വയസ്സിൽ മരിച്ച് പോയ&lt;br&gt;
അമ്മയുടെ കല്ലറയുടരികെ പോയിരിക്കുമിടക്ക്. &lt;br&gt;
ഒറ്റപ്പെടലിന്റെ വിഷമം മുഴുവൻ&lt;br&gt;
കണ്ണ് നിറഞ്ഞവർ അമ്മയോട്&lt;br&gt;
പറഞ്ഞ് തീർന്നതിന് ശേഷം,&lt;br&gt;
&amp;ldquo;ഞാൻ കരയുന്നത് അമ്മക്ക്&lt;br&gt;
വിഷമമാണെന്നറിയാം&amp;rdquo; എന്ന് പറഞ്ഞ്&lt;br&gt;
ചേച്ചി കണ്ണ് തുടച്ച് ചിരിച്ചോണ്ട്&lt;br&gt;
വീട്ടിലോട്ട് നടന്ന് തുടങ്ങും.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ ഓർമ്മകളുടെ വെട്ടത്തിൽ&lt;br&gt;
ജീവിക്കുന്ന ചിലുണ്ട്. അതിന്റെ&lt;br&gt;
തണുപ്പിലും ബലത്തിലും മാത്രം&lt;br&gt;
ജീവിതത്തിലോട്ട് തിരിച്ച് നടക്കുന്നവർ.&lt;/p&gt;</description></item><item><title>Primitive Data types in JS</title><link>https://www.binovarghese.com/notes/2022/02/primitive-data-types-in-js/</link><pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/primitive-data-types-in-js/</guid><description>&lt;p&gt;In JavaScript, a primitive (primitive value, primitive data type) is data that is not an object and has no methods or properties. There are 7 primitive data types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;string&lt;/li&gt;
&lt;li&gt;number&lt;/li&gt;
&lt;li&gt;bigint&lt;/li&gt;
&lt;li&gt;boolean&lt;/li&gt;
&lt;li&gt;undefined&lt;/li&gt;
&lt;li&gt;symbol&lt;/li&gt;
&lt;li&gt;null&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All primitives are immutable; that is, they cannot be altered. It is important not to confuse a primitive itself with a variable assigned a primitive value. The variable may be reassigned to a new value, but the existing value can not be changed in the ways that objects, arrays, and functions can be altered.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Primitive"&gt;MDN&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Shortest Program in JS</title><link>https://www.binovarghese.com/notes/2022/02/shortest-programm-in-js/</link><pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/shortest-programm-in-js/</guid><description>&lt;ol&gt;
&lt;li&gt;Shortest Program in JS: Empty file. Still, browsers make global Execution context and global space along with Window object.&lt;/li&gt;
&lt;li&gt;Global scope: Anything that is not in a function, is in the global space.&lt;/li&gt;
&lt;li&gt;Variables present in a global space can be accessed by a &amp;ldquo;window&amp;rdquo; object. (like window.a)&lt;/li&gt;
&lt;li&gt;In global scope, (this === window) object. For example refer the below,&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;windows&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Class and Function Hoisting in JS</title><link>https://www.binovarghese.com/notes/2022/02/js-class-and-function-hoisting/</link><pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/02/js-class-and-function-hoisting/</guid><description>&lt;p&gt;An important difference between function declarations and class declarations is that while functions can be called in code that appears before they are defined, classes must be defined before they can be constructed.&lt;/p&gt;
&lt;h4 id="class-hoisting"&gt;&lt;code&gt;class&lt;/code&gt; hoisting&lt;/h4&gt;
&lt;p&gt;Classes defined using a class declaration are hoisted, which means that JavaScript has a reference to the class. However the class is not initialized by default, so any code that uses it before the line in which it is initialized is executed will throw a ReferenceError.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="n"&gt;ReferenceError&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="n"&gt;Rectangle&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This occurs because while the class is hoisted its values are not initialized.&lt;/p&gt;
&lt;h4 id="function-and-class-expression-hoisting"&gt;Function and class expression hoisting&lt;/h4&gt;
&lt;p&gt;Function expressions and class expressions are not hoisted.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.w3schools.com/js/js_hoisting.asp"&gt;w3schools&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PL/SQL - Explicit Cursors</title><link>https://www.binovarghese.com/blog/2022/01/plsql-explicit-cursor/</link><pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/01/plsql-explicit-cursor/</guid><description>&lt;p&gt;As discussed earlier, there are two types of cursors: &lt;a href="https://www.binovarghese.com/blog/2022/01/plsql-implicit-cursor/"&gt;Implicit cursors&lt;/a&gt; and explicit cursors. In this section, we will focus on explicit cursors and their functionality.&lt;/p&gt;
&lt;h3 id="explicit-cursor"&gt;Explicit cursor&lt;/h3&gt;
&lt;p&gt;Explicit cursors are programmer defined cursors with more control over the context area. The explicit cursor should be defined in the declaration section of the PL/SQL block.&lt;/p&gt;
&lt;p&gt;The syntax for the an explicit cursor:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CURSOR cursor_name IS select_statement; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Below are the steps for defining explicit cursors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Declaring the cursor for initializing the memory&lt;/li&gt;
&lt;li&gt;Opening the cursor for allocating the memory&lt;/li&gt;
&lt;li&gt;Fetching the cursor for retrieving the data&lt;/li&gt;
&lt;li&gt;Closing the cursor to release the allocated memory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s dive into the details of defining an explicit cursor.&lt;/p&gt;
&lt;h3 id="declare-a-cursor"&gt;Declare a cursor&lt;/h3&gt;
&lt;p&gt;Declaring the cursor defines the cursor with a name and select statement associated with it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CURSOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;is&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stock_master&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Fore more read &lt;a href="https://www.techonthenet.com/oracle/cursors/declare.php"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="open-a-cursor"&gt;Open a cursor&lt;/h3&gt;
&lt;p&gt;Before fetching data from the cursor you must open it. To open a cursor you can use the following syntax:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;OPEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When you open a cursor, Oracle parses the query, binds variables, executes the associated SQL statement.&lt;/p&gt;
&lt;p&gt;Oracle also determines an execution plan, associates host variables and cursor parameters with the placeholders in the SQL statement, determines the result set, and positions the cursor at the first row.&lt;/p&gt;
&lt;h3 id="fetch-from-a-cursor"&gt;Fetch from a cursor&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;FETCH&lt;/code&gt; statement places the content of the current row into variables. Below is the syntax of the &lt;code&gt;FETCH&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FETCH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;into&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p_stockrows&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You need to fetch till last row to retrieve all the rows in a result set.&lt;/p&gt;
&lt;h3 id="closing-the-cursor"&gt;Closing the Cursor&lt;/h3&gt;
&lt;p&gt;After fetching all rows, you need to close the cursor with the CLOSE statement:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CLOSE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Closing a cursor instructs Oracle to release allocated memory at an appropriate time.&lt;/p&gt;
&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;p&gt;Following is a complete example of explicit cursors.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CURSOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;is&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stock_master&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p_stockrows&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;ROWTYPE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;OPEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LOOP&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FETCH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;into&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p_stockrows&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EXIT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;notfound&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p_stockrows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stock_code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p_stockrows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stock_name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LOOP&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CLOSE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_stocks&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.oracletutorial.com/plsql-tutorial/plsql-cursor/"&gt;Oracle tutorial&lt;/a&gt;,
&lt;a href="https://www.tutorialspoint.com/plsql/plsql_cursors.htm"&gt;Tutorials point&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Make it Green</title><link>https://www.binovarghese.com/drawer/2022/12/29jan/</link><pubDate>Sat, 29 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/drawer/2022/12/29jan/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/drawer/2022/29Jan.jpeg" width="400"&gt;
&lt;/figure&gt;
</description></item><item><title>PL/SQL - Implicit Cursors</title><link>https://www.binovarghese.com/blog/2022/01/plsql-implicit-cursor/</link><pubDate>Fri, 28 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2022/01/plsql-implicit-cursor/</guid><description>&lt;p&gt;In this post, we will discuss what a cursor is in PL/SQL and explore the different types of cursors.&lt;/p&gt;
&lt;h3 id="cursor"&gt;Cursor&lt;/h3&gt;
&lt;p&gt;Oracle creates a memory area, known as the context area for processing an SQL statements, which contain all the informations needed for processing the SQL statements.&lt;/p&gt;
&lt;p&gt;A Cursor is the pointer to the memory area. PL/SQL controls the memory area through the cursor. It holds the rows (one or more) returned by the SQL statement. The set of rows the cursor holds is referred as the &lt;strong&gt;Active set&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;These cursors can be named, so that you can referred them in a program to fetch and process the rows returned by the SQL statement.&lt;/p&gt;
&lt;p&gt;There are two types of cursors,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implicit cursor&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blog/2022/01/plsql-explicit-cursor/"&gt;Explicit cursor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="implicit-cursor"&gt;Implicit cursor&lt;/h3&gt;
&lt;p&gt;Implicit cursors are automatically created by the Oracle whenever a DML statement is executed, when there is no explicit cursor for the statement. These cursors cannot be named, and hence they cannot be controlled or referred from another place of the code.&lt;/p&gt;
&lt;p&gt;For INSERT operations, the cursor hold the data needs to be inserted. For UPDATE and DELETE the cursor finds the rows that would be affected.&lt;/p&gt;
&lt;p&gt;In PL/SQL, the most recent cursor as the SQL cursor, which have the attributes such as &lt;code&gt;%FOUND&lt;/code&gt;, &lt;code&gt;%NOTFOUND&lt;/code&gt;, &lt;code&gt;%ISOPEN&lt;/code&gt;, AND &lt;code&gt;%ROWCOUNT&lt;/code&gt;. And additional attributes, &lt;code&gt;%BULK_ROWCOUNT&lt;/code&gt; and &lt;code&gt;%BULK_EXCEPTIONS&lt;/code&gt;, designed for use with the &lt;code&gt;FORALL&lt;/code&gt; statement.&lt;/p&gt;
&lt;h3 id="attributes"&gt;Attributes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;%FOUND&lt;/strong&gt;&lt;br&gt;
Returns TRUE if an INSERT, UPDATE, OR DELETE statement affected one or more rows or a SELECT INTO statement returned one or two. Otherwise it returns FALSE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;%NOTFOUND&lt;/strong&gt;&lt;br&gt;
Opposite of %FOUND. Returns TRUE if an INSERT, UPDATE, OR DELETE statement affected no rows or a SELECT INTO statement returned no rows. Otherwise it returns FALSE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;%ISOPEN&lt;/strong&gt;&lt;br&gt;
Always return FALSE for implicit cursor, because Oracle close the cursor automatically after executing the SQL statement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;%ROWCOUNT&lt;/strong&gt;&lt;br&gt;
Returs the number of row affected by a DML SQL statement.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;sql%attribute_name&lt;/strong&gt; is the syntax for accessing the SQL cursor attribute.&lt;/p&gt;
&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SELECT * FROM CUSTOMERS;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+----+----------+ 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| ID | NAME | 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+----+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| 1 | BINO | 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+----+----------+
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| 2 | JINO | 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;+----+----------+
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The below will update the table and change the name and use the &lt;code&gt;sql%rowcount&lt;/code&gt; attribute to find the number of rows affected.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;DECLARE&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total_rows_affected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;number&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;BEGIN&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CUSTOMERS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;BINO VARGHESE&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;BINO&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IF&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;notfound&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;THEN&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;no rows affected.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ELSIF&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="k"&gt;found&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;THEN&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total_rows_affected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;rowcount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbms_output&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put_line&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total_rows_affected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; row(s) affected.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;END&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The output will be as following&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;PL&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;SQL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;procedure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;successfully&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;completed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;row&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;affected&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;if the DBMS.OUTPUT.PUT_LINE is not printing you may refer this &lt;a href="https://stackoverflow.com/questions/10434474/dbms-output-put-line-not-printing/10434589"&gt;Stack overflow question&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="references"&gt;References&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.oracletutorial.com/plsql-tutorial/plsql-cursor/"&gt;Oracle Tutorial&lt;/a&gt;&lt;/p&gt;</description></item><item><title>പ്രിയപ്പെട്ടവർ</title><link>https://www.binovarghese.com/ml/2022/dearest-peoples/</link><pubDate>Sat, 22 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/dearest-peoples/</guid><description>&lt;p&gt;പ്രിയപ്പെട്ടവരുടെ കൂടെയുള്ള നീണ്ട&lt;br&gt;
ഒത്തുചേരലുകൾക്ക് ശേഷം,&lt;br&gt;
ഹ്രസ്വമായ വിട പറച്ചിലിന്റെ&lt;br&gt;
വൈകുന്നേരങ്ങൾ പോലുമെന്നെ&lt;br&gt;
അഗാധമായി ഒറ്റപ്പെടുത്താറുണ്ട്.&lt;/p&gt;
&lt;p&gt;ഒരു വിളിപ്പാടകലെ അവരുണ്ടെന്നും,&lt;br&gt;
വീണ്ടും തിരികെ വരുമെന്നുമുള്ള&lt;br&gt;
അറിവുകളൊക്കെയും, ഒരു നിമിഷം&lt;br&gt;
മറവിയുടെ വേലിയേറ്റത്തിൽ&lt;br&gt;
ഒലിച്ചു പോകാറാണ് പതിവ്.&lt;/p&gt;
&lt;p&gt;നിറഞ്ഞു പെയ്ത് മഴദിവസങ്ങളുടെ&lt;br&gt;
ആരവങ്ങൾ, പെട്ടെന്ന് നിശബ്ദതയ്ക്ക്&lt;br&gt;
വഴിമാറുന്നത് പോലെ തോന്നാറുണ്ട്&lt;br&gt;
അന്നേരമെനിക്ക്. അവരുടെ &lt;br&gt;
ഓർമ്മകളുടെ തണുപ്പ് &lt;br&gt;
മരപ്പെയ്ത്തു‌പ്പോലെ ചുറ്റും&lt;br&gt;
പൊഴിയുന്നത് കൊണ്ട് ഞാൻ&lt;br&gt;
വരണ്ട് പോകുന്നില്ലെന്ന് മാത്രം.&lt;/p&gt;
&lt;p&gt;ഒരുപക്ഷേ ഓർമ്മകളുടെ &lt;br&gt;
തണുപ്പും കൂട്ടുമില്ലാരുന്നേൽ&lt;br&gt;
മനുഷ്യരൊക്കെയും മരുഭൂമികളായി&lt;br&gt;
പരിണമിച്ചേനേ. അത്കൊണ്ട് തന്നെ&lt;br&gt;
പ്രിയപ്പെട്ടവർക്ക് ഓടിക്കയറി&lt;br&gt;
വരാൻ ഉമ്മറപ്പടിയിലൊരു &lt;br&gt;
റാന്തൽ കെടാതെ ഞാൻ&lt;br&gt;
സൂക്ഷിച്ച് വെയ്ക്കാറുണ്ടെന്നും.&lt;/p&gt;
&lt;p&gt;അത് നോക്കി എതേലും&lt;br&gt;
വൈകുന്നേരങ്ങളിൽ, ഓർമ്മകളുടെ&lt;br&gt;
വസന്തം തീർക്കാനവർ&lt;br&gt;
നടന്ന് വരുന്നതും കാത്ത്&lt;br&gt;
ഞാനേകനായി ഇവിടെയിരിപ്പുണ്ട്.&lt;/p&gt;</description></item><item><title>ആരവങ്ങൾ</title><link>https://www.binovarghese.com/ml/2022/celebration-in-the-silence/</link><pubDate>Sat, 08 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2022/celebration-in-the-silence/</guid><description>&lt;p&gt;എൻ്റെ മൗനാഴങ്ങളിൽ പോലും&lt;br&gt;
ഞാൻ ആഘോഷതിമിർപ്പിലാണ്.&lt;/p&gt;
&lt;p&gt;പോയ രാവുകളെ ഓർത്ത്&lt;br&gt;
വേദനിക്കുവാൻ എനിക്ക് സമയമില്ല.&lt;br&gt;
എന്നെ വെറുക്കുന്നവരെ&lt;br&gt;
പഴി പറയാൻ എനിക്ക് നേരവുമില്ല.&lt;/p&gt;
&lt;p&gt;പൂമാരിയിൽ ആനന്ദ നൃത്തമാടാനും&lt;br&gt;
പുലർക്കിനാക്കളിൽ പുണരുവാനും&lt;br&gt;
ഇനിയും സമയം തികഞ്ഞിട്ടില്ല.&lt;/p&gt;
&lt;p&gt;സ്നേഹരാഗങ്ങൾ പാടാൻ നിലാവുകളും&lt;br&gt;
പൂഞ്ചില്ലകൾ നടാൻ നറു തീരങ്ങളും&lt;br&gt;
വീണ്ടുമെന്നെ കാത്തിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ഇനിയുമെന്നെ ഞാൻ ആസ്വദിച്ച്&lt;br&gt;
കഴിഞ്ഞിട്ടില്ല, ജീവിതനിമിഷങ്ങളുടെ&lt;br&gt;
നിർമ്മലത നീണ്ട് കിടക്കുന്നു.&lt;br&gt;
ഉൽസവങ്ങളുടെ ആരവം&lt;br&gt;
കണ്ട് കൊതി മാറിയിട്ടുമില്ല.&lt;/p&gt;
&lt;p&gt;ഈ സന്തോഷങ്ങളുടെ അനന്തതയെ&lt;br&gt;
ഞാൻ ഉൾച്ചേർക്കുമ്പോൾ, എങ്ങനെ&lt;br&gt;
ഞാൻ എൻ്റെ മൗനാഴങ്ങളിൽ&lt;br&gt;
ആടിതിമിർക്കാതെയിരിക്കും.&lt;/p&gt;
&lt;p&gt;കാലമേ, ഈ നിമിഷങ്ങളിൽ ഞാൻ&lt;br&gt;
ജനിമൃതികളറിയാതെ നിൽക്കട്ടെ&lt;/p&gt;</description></item><item><title>Stateless and Stateful</title><link>https://www.binovarghese.com/notes/2022/01/stateless-and-stateful/</link><pubDate>Wed, 05 Jan 2022 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/notes/2022/01/stateless-and-stateful/</guid><description>&lt;p&gt;The state of an application (or anything else, really) is its condition or quality of being at a given moment in time—its state of being. Whether something is stateful or stateless depends on how long the state of interaction with it is being recorded and how that information needs to be stored.&lt;/p&gt;
&lt;h4 id="stateless"&gt;Stateless&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;A stateless process or applicaton can be understood in isolation&lt;/strong&gt;. There is no stored information or references to past transactions. Each transaction is made as if from scratch for the first time. Think of stateless transactions as a vending machine: a single request and a response.&lt;/p&gt;
&lt;h4 id="stateful"&gt;Stateful&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Stateful applications and processes, however, are those that can be returned to again and again, like online banking or email.&lt;/strong&gt; They’re performed with the context of previous transactions and the current transaction may be affected by what happened during previous transactions. For these reasons, stateful apps use the same servers each time they process a request from a user.&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://www.redhat.com/en/topics/cloud-native-apps/stateful-vs-stateless"&gt;Redhat blog&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ഹരിതസ്വച്ഛം</title><link>https://www.binovarghese.com/ml-musings/2021/evergreen-college-memories/</link><pubDate>Wed, 22 Dec 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/evergreen-college-memories/</guid><description>&lt;p&gt;സൗഹൃദങ്ങളുടെ മരത്തണലുകളാണ്&lt;br&gt;
കോളേജ് ഓർമ്മകളുടെ വഴിനിറയെ.&lt;br&gt;
കാലമിത്ര കൊഴിഞ്ഞിട്ടും, ഋതുഭേദങ്ങളാ&lt;br&gt;
വഴികളിൽ നാളിതുവരെ കടന്ന് വന്നിട്ടില്ല,&lt;br&gt;
അന്നുമിന്നും സദാ ഹരിതസ്വച്ഛം.&lt;/p&gt;</description></item><item><title>ഡിസംബർ</title><link>https://www.binovarghese.com/ml/2021/dec/welcome-december-2021/</link><pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/dec/welcome-december-2021/</guid><description>&lt;p&gt;വെള്ളിയാഴ്ച്ച മഞ്ഞുകാലം തുടങ്ങുമെന്ന് പത്രത്താളുകളിൽ കണ്ടു. നീണ്ട ഇടവേളക്ക് ശേഷം കണ്ടുമുട്ടുന്ന പ്രിയപ്പെട്ടവരെ ആലിഗനം ചെയ്ത് സ്വീകരിക്കുന്നത് പോലെയാണ്, ഓരോ മഞ്ഞുകാലവും ഞാൻ വരവേൽക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;ക്ഷണികമെന്ന് ഞാൻ സദാ കരുതുന്ന ഈ ജീവിതത്തിൽ വീണ്ടുമൊരു മഞ്ഞുകാലമെന്നേ വല്ലാതെ ആവേശത്തിലാഴ്ത്തുന്നു. ഹാ! ഇനിയുള്ള വൈകുന്നേരങ്ങളിലെ ഇരുട്ടിന് എന്തൊരു വെളിച്ചമാകും.&lt;/p&gt;
&lt;p&gt;രാവുകൾ കൂടുതൽ ദീർഘിക്കുവാൻ തുടങ്ങും, നടത്തങ്ങളും. കോട്ടുമിട്ട് തണുത്ത കാറ്റിൽകൂടെയുള്ള അലസ നടത്തമെന്നേ ഇപ്പോളേ വല്ലാതെ തണുപ്പേൽപ്പിക്കുന്നു. ഹരിതനിറങ്ങൾ ഇനി പാതകൾക്ക് മനോഹാരിത പകർന്ന് തുടങ്ങും. പൂന്തോട്ടങ്ങൾ കൂടുതൽ ചുമന്ന് പൂക്കും. ഡിസംബറായെന്ന് അറിയിക്കാൻ ചുമന്ന മാലബൾബുകൾ ബാൽക്കണികളിൽ ഇനി നിറഞ്ഞ് പെയ്യും. വിവിധ ഹോട്ടലുകളിൽ പച്ചനിറഞ്ഞ മരങ്ങൾക്കിടയിലെ മഞ്ഞബൾബുകൾ ഇപ്പോളെയെന്നെ സന്തോഷിപ്പിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ഇടുങ്ങിയ വഴികളിലെ മങ്ങിയ മഞ്ഞവെളിച്ചത്തിലൂടെ നടക്കുമ്പോൾ ഇടനെഞ്ചിൻ്റെ അടിത്തട്ടിൽ ഡ്രംമ്മിൻ്റെ മുഴക്കം. പഴയ പാട്ടിൻ്റെയും &lt;a href="https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights/"&gt;കരോൾ സംഘത്തിൻെയും&lt;/a&gt; ഇടയിലൂടെ ഓർമ്മകൾ മിന്നി മറയുന്നു.&lt;/p&gt;
&lt;p&gt;ഈ തവണ വീട് കൊറച്ചേറെ ഒരുക്കണം. പച്ച ക്രിസ്തുമസ് ട്രീക്കൊപ്പം, ചുമപ്പും സ്വർണനിറവും ഭിത്തിയിൽ നിറയ്ക്കണം. ഒരു കാരണവുമില്ലാതെ വീട് സന്തോഷിക്കണം. ഇനി പതിവ് പോലെ കുടുംബവും കൂട്ടുകാരും വരും. ആവോളം കേക്ക് കഴിക്കണം. രാവ് വെളുക്കോവോളും കഥകൾ പറയണം. കഥ പറഞ്ഞ ചിരിച്ച് കമ്പിളിക്കെട്ടിലോട്ട് ഉറങ്ങി വീഴണം.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ സന്തോഷം മാത്രം പെയ്യുന്ന ഡിസംബർ എനിക്ക് പ്രിതീക്ഷയുടെ മഞ്ഞ് മാസമാണ്.&lt;/p&gt;</description></item><item><title>Watchbi - Bootstrap Coming Soon theme</title><link>https://www.binovarghese.com/blog/2021/watchbi-bs-theme/</link><pubDate>Sun, 10 Oct 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/watchbi-bs-theme/</guid><description>&lt;p&gt;Watchbi is a minimal and simple responsive coming soon theme built in &lt;a href="https://getbootstrap.com/"&gt;Bootstrap v5&lt;/a&gt; with &lt;a href="https://icons.getbootstrap.com/"&gt;Bootstrap icons&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As mentioned its a coming soon template which shows how many days, hours, minutes, and seconds are remaining for your project or product launch. You can find the screenshot of the template below,&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/watchbi-bs-theme/watchbi-home.png"
 alt="Watchbi Home"&gt;&lt;figcaption&gt;
 &lt;p&gt;Watchbi Home&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id="demo"&gt;Demo&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;⚡ &lt;a href="https://watchbi.netlify.app"&gt;Watchbi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="github"&gt;GitHub&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;💡 &lt;a href="https://github.com/binokochumolvarghese/watchbi-bs-template"&gt;View on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐛 &lt;a href="https://github.com/binokochumolvarghese/watchbi-bs-template/issues"&gt;Bug reports &amp;amp; Issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you for reading my post, I hope you will like this theme. I would love to hear your feedback and see your creations.&lt;/p&gt;</description></item><item><title>യാത്ര തുടരാനാകുന്നില്ല</title><link>https://www.binovarghese.com/ml/2021/sep/i-losted-something-i-dont-know/</link><pubDate>Wed, 29 Sep 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/sep/i-losted-something-i-dont-know/</guid><description>&lt;p&gt;പ്രിയ്യപ്പെട്ടതെന്തോ നഷ്ട്ടപ്പെട്ട &lt;br&gt;
മനുഷ്യനെക്കണക്കാണ് ഞാനിന്ന്.&lt;/p&gt;
&lt;p&gt;എന്താണ് നഷ്ട്ടപ്പെട്ടതെന്നോ, &lt;br&gt;
എവിടെയാണ് വീണ് പോയതെന്നോ &lt;br&gt;
ഓർമ്മയില്ലാതെ മറവിയുടെ ഇരുട്ടിൽ &lt;br&gt;
സദാ തിരച്ചിലിലാണ് ഞാനിന്ന്.&lt;/p&gt;
&lt;p&gt;അത്കൊണ്ട് തന്നെ എപ്പോഴുമൊരുതരം &lt;br&gt;
തേടലാണ് ജീവിതം. പല ലക്ഷ്യങ്ങളും &lt;br&gt;
മുന്നിലുണ്ടെങ്കിലും നഷ്ട്ടദുഃഖത്തിലങ്ങനെ &lt;br&gt;
മനസ്സ് ഭ്രമണം ചെയ്യുന്നു.&lt;/p&gt;
&lt;p&gt;നിന്നടത്ത് തന്നെ ഞാൻ നിൽക്കുവന്നറിയാം. &lt;br&gt;
പക്ഷേ യാത്ര തുടരാനാകുന്നില്ല. &lt;br&gt;
വഴികളും ലക്ഷ്യങ്ങളും വ്യക്തമെങ്കിലും&lt;br&gt;
എവിടെയോ വീണ് പോയിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ഓരോ രാവുംപകലും ഉള്ളില്ലെരിഞ്ഞ്&lt;br&gt;
തീരുവാണെന്നറിയാം. ഇനിയൊരു അവസരംകൂടി&lt;br&gt;
കാലം തരുമോന്നറിയില്ല.&lt;/p&gt;
&lt;p&gt;യാത്ര തുടരാൻ എനിക്കതിയായ&lt;br&gt;
ആഗ്രഹമുണ്ട്. അറിയില്ല, കഴിയുമോന്ന്.&lt;br&gt;
പ്രിയ്യപ്പെട്ടതെന്തോ എനിക്ക് നഷ്ട്ടമായിരിക്കുന്നു.&lt;/p&gt;</description></item><item><title>പ്രിയപ്പെട്ട മമ്മൂക്കക്ക്,</title><link>https://www.binovarghese.com/ml/2021/sep/mammootty-70/</link><pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/sep/mammootty-70/</guid><description>&lt;p&gt;പ്രിയപ്പെട്ട മമ്മൂക്കക്ക്,&lt;/p&gt;
&lt;p&gt;ഞാൻ താങ്കളെ സദാ കാണുന്നുണ്ടെങ്കിലും, താങ്കൾ ഇതുവരെ എന്നെ കണ്ട്മുട്ടിയിട്ടില്ല, ഇനി കാണുമോന്നും അറിയില്ല. എങ്കിലും ഒന്ന് മാത്രം പറയാൻ ആഗ്രഹിക്കുന്നു, എനിക്ക് താങ്കളെ വളരെയേറെ ഇഷ്ടമാണ്.&lt;/p&gt;
&lt;p&gt;നടനാകാൻ ആഗ്രഹിച്ച് ആഗ്രഹിച്ച്, അതിന് വേണ്ടി സദാ പരിശ്രമിച്ച് മലയാളസിനിമയുടെ കുലപതി ആയിതീർന്നത് കൊണ്ടല്ല. മലയാളത്തിൻ്റെ മഹാനടനും, എം. ടി അദ്ദേഹം അടക്കമുള്ളവരുടെ ഏറ്റവും പ്രിയപ്പെട്ട നായകനടനായതും അതിന് കാരണമല്ല.&lt;/p&gt;
&lt;p&gt;എഴുപതാം വയസ്സിലും നിറയൗവ്വനത്തിൻ്റെ പ്രസരിപ്പും, കാലത്തെ അതിജീവിച്ച സൗന്ദര്യവും കാത്തു സൂക്ഷിക്കുന്നത് കൊണ്ടല്ല. കഴിഞ്ഞ അമ്പത് വർഷമായി ഒരു ജനതെ മുഴുവൻ വിസ്മയിപ്പിക്കുകയും, എത്രയെടുത്താലും തീരാത്ത അഭിനയത്തിൻ്റെ അക്ഷയഖനിയാണ് താനെന്ന് വിവിധ വേഷപ്പകർച്ചകളിൽ കൂടെ നിരന്തരം തെളിയിക്കുകയും ചെയ്യുന്നത് കൊണ്ടല്ല.&lt;/p&gt;
&lt;p&gt;പിന്നെ, അടങ്ങാത്ത അഭിനിവേശം കൊണ്ടും, നിരന്തരമായ പരിശ്രമത്തിലൂടെയും നേടിയെടുക്കാൻ സാധിക്കാത്ത ഒരു സ്വപ്നവുമില്ലെന്ന് സ്വയം തെളിയിച്ച്, എന്നെപ്പോലുള്ള &lt;a href="https://www.binovarghese.com/ml/2021/mar/be-an-artist/"&gt;സ്വപ്നസഞ്ചാരികൾക്ക്&lt;/a&gt; പ്രചോദനത്തിൻ്റെ കൊടുമുടിയായി നിലനിൽക്കുന്നത് കൊണ്ടാണ്.&lt;/p&gt;
&lt;p&gt;തൻ്റെ പരാജയങ്ങളുടെ ചാരത്തിൽ നിന്നും കൂടുതൽ ശക്തിയോടെ കൂടെ കുതിച്ച് ഉയരുന്ന ഫീനിക്സ് പക്ഷിയുടെ പ്രതീകമാണ് താനെന്ന് ഈ ലോകത്തിന് കാണിച്ച് കൊടുത്തതിലൂടെയാണ്. തൻ്റെ കഴിവുകളെ കൂടുതൽ ഉരച്ചാൽ, താൻ ഇനിയും കൂടുതൽ തിളങ്ങുമെന്ന് സദാ സ്വയം ഓർമിപ്പിക്കുന്ന ജാലവിദ്യക്കാരൻ ആയത്കൊണ്ടാണ്.&lt;/p&gt;
&lt;p&gt;അതേ, ഇതുവരെ കണ്ട്മുട്ടിയിട്ടില്ല എങ്കിലും, എൻ്റെ സ്വപ്നങ്ങൾ നേടാൻ നിരന്തരമെന്നെ പ്രചോദിപ്പിക്കുന്ന, ഫീനിക്സ് പക്ഷിയെപ്പോലെ പരാജയത്തിൽ നിന്നും കുതിച്ച് ഉയരാൻ സദായെന്നെ പ്രേരിപ്പിക്കുന്ന, നൈരന്തര്യമായ പരിശ്രമങ്ങൾ കൊണ്ട് എൻ്റെ കുറവുകളെ കഴിവുകളാക്കാമെന്ന് എന്നെ വിശ്വസിപ്പിച്ച, എൻ്റെ ഏറ്റവും പ്രിയപ്പെട്ട കലാകാരനാണ് താങ്കൾ.&lt;/p&gt;
&lt;p&gt;അത്കൊണ്ട് തന്നെ, എനിക്ക് താങ്കളോട് നിറയെ സ്നേഹമാണ്.&lt;/p&gt;
&lt;p&gt;ഇനിയും നിലക്കാതെ പ്രചോദിപ്പിക്കുവാനും, സദാ വിസ്മയിപ്പിക്കുവാനും, ഞങ്ങളുടെ എക്കാലത്തെയും മികച്ച നടനായി നിലനിൽക്കുവാനും സാധിക്കട്ടെ. ജന്മദിനാശംസകൾ!&lt;/p&gt;
&lt;p&gt;സ്നേഹത്തോടെ,&lt;br&gt;
ബിനോ&lt;/p&gt;</description></item><item><title>അരങ്ങൊഴിയെട്ടെ</title><link>https://www.binovarghese.com/ml/2021/aug/waiting-for-the-end/</link><pubDate>Sat, 28 Aug 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/aug/waiting-for-the-end/</guid><description>&lt;p&gt;കാലമിങ്ങനെ കൊഴിഞ്ഞ് പോകവേ,&lt;br&gt;
ഓർമകളുടെ ഭാരവുമേറി വരുന്നു.&lt;/p&gt;
&lt;p&gt;ഇനിയൊരിക്കലും കണ്ടുമുട്ടാനിടയില്ലാത്തവരുടെയും, &lt;br&gt;
മടങ്ങിവരാതെ യാത്ര പറഞ്ഞവരുടെയും&lt;br&gt;
മുഖങ്ങളിങ്ങനെ മനസ്സിൽ കൂടി വരുന്നു.&lt;/p&gt;
&lt;p&gt;ഇന്നീ രാത്രികളുടെ ആരവം മോഹിപ്പിക്കാതെ &lt;br&gt;
മടുപ്പിക്കുന്നത്, ഉള്ളിലെ കളിചിരികളുടെ ദൈര്‍ഘ്യം&lt;br&gt;
ഞാനറിയാതെ കുറയുന്നകൊണ്ടാവും.&lt;/p&gt;
&lt;p&gt;എനിക്കേറ്റവും പ്രിയപ്പെട്ട കാത്തിരിപ്പുകൾ&lt;br&gt;
നഷ്ടമായ ഈ ദിനരാത്രികളിൽ, ഇടനെഞ്ചിലെ &lt;br&gt;
വേദനകളും കണ്ണിലെ താളവും&lt;br&gt;
പറയാതെ ഗ്രഹിക്കുന്നവർ വിസ്‌മൃതിയിലാണ്ടു.&lt;/p&gt;
&lt;p&gt;ജന്മം തന്നവർ പ്രകാശബിന്ദുക്കളായി പരിണമിക്കുന്ന&lt;br&gt;
നേരത്ത് ഒരിറ്റ് കണ്ണീർ കൊണ്ട് നിസ്സഹാനായി ഞാൻ.&lt;br&gt;
എല്ലാം പടിയിറങ്ങിപോയപ്പോൾ, ജരാനരകൾ &lt;br&gt;
മാത്രം വിളിക്കാതെ കയറി വന്നിരിക്കുന്നു. &lt;br&gt;
നിശബ്‌ദമായ ഈ ശൂന്യതയിൽ വിതുമ്പുവാൻ &lt;br&gt;
പോലും മടിച്ച് നിൽക്കുന്നു ഞാനിന്ന്.&lt;/p&gt;
&lt;p&gt;ഇനി എനിക്കൊന്ന് എരിഞ്ഞടങ്ങണം, കാത്തിരിക്കുന്നാ &lt;br&gt;
രംഗബോധമില്ലാത്ത കോമാളിക്ക് വേണ്ടി.&lt;br&gt;
എവിടെയവൻ. അരങ്ങൊഴിയാൻ സമയം&lt;br&gt;
അതിക്രമിച്ചിരിക്കുന്നു എനിക്ക്.&lt;/p&gt;
&lt;p&gt;രംഗബോധമില്ലാത്ത കോമാളി.&lt;/p&gt;</description></item><item><title>Git Cheat Sheet</title><link>https://www.binovarghese.com/blog/2021/git-cheat-sheet-2021/</link><pubDate>Mon, 23 Aug 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/git-cheat-sheet-2021/</guid><description>&lt;p&gt;Its hard to memorize all the important Git commands by heart, so I thought it&amp;rsquo;s better to keep a personal Git cheat sheet for myself. So I don’t want to Google it every time whenever I need to check some syntax. So here it is.&lt;/p&gt;
&lt;h3 id="git-basics"&gt;Git Basics&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Initialize an empty Git repository&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a local copy of a remote repository&lt;br&gt;
&lt;code&gt;git clone &amp;lt;repo&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Check status of the files are stages, unstaged, and untracked.&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add a file to the staging area.&lt;br&gt;
&lt;code&gt;git add [file-name.txt]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add all new and changed files to the staging area.&lt;br&gt;
&lt;code&gt;git add -a&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Commit changes.&lt;br&gt;
&lt;code&gt;git commit -m &amp;quot;[commit message]&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove a file (or folder).&lt;br&gt;
&lt;code&gt;git rm -r [file-name.txt]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="undoing-changes"&gt;Undoing Changes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create new commit that undoes all of the changes made in &lt;!-- raw HTML omitted --&gt;, then apply it to the current branch.&lt;br&gt;
&lt;code&gt;git revert &amp;lt;commit&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove &lt;!-- raw HTML omitted --&gt; from the staging area, but leave the working directory unchanged.&lt;br&gt;
&lt;code&gt;git reset &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove a file (or folder) &lt;br&gt;
&lt;code&gt;git rm -r [file-name.txt]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="git-config"&gt;Git Config&lt;/h3&gt;
&lt;p&gt;To set your global username/email configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set your username: &lt;br&gt;
&lt;code&gt;git config --global user.name &amp;quot;FIRST_NAME LAST_NAME&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set your email address:&lt;br&gt;
&lt;code&gt;git config --global user.email &amp;quot;MY_NAME@example.com&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To set repository-specific username/email configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set your username: &lt;br&gt;
&lt;code&gt;git config user.name &amp;quot;first_name last_name&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set your email address: &lt;br&gt;
&lt;code&gt;git config user.email &amp;quot;my_name@example.com&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To view the repository-specific username/email configuration:&lt;br&gt;
&lt;code&gt;git config user.name&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git config user.email&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify your configuration by displaying your configuration file.&lt;br&gt;
&lt;code&gt;cat .git/config&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sharing--updating-projects"&gt;Sharing &amp;amp; Updating Projects&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Push a branch to your remote repository&lt;br&gt;
&lt;code&gt;git push origin [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Push changes to remote repository (and remember the branch)&lt;br&gt;
&lt;code&gt;git push -u origin [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Push changes to remote repository (remembered branch)&lt;br&gt;
&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete a remote branch&lt;br&gt;
&lt;code&gt;git push origin --delete [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update local repository to the newest commit&lt;br&gt;
&lt;code&gt;git pull&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pull changes from remote repository &lt;br&gt;
&lt;code&gt;git pull origin [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add a remote repository&lt;br&gt;
&lt;code&gt;git remote add origin ssh://git@github.com/[username]/[repository-name].git&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View a remote repository&lt;br&gt;
&lt;code&gt; git remote get-url origin&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set a repository&amp;rsquo;s origin branch to SSH&lt;br&gt;
&lt;code&gt;git remote set-url origin ssh://git@github.com/[username]/[repository-name].git&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="branching--merging"&gt;Branching &amp;amp; Merging&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;List branches (the asterisk denotes the current branch)&lt;br&gt;
&lt;code&gt;git branch&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;List all branches (local and remote).&lt;br&gt;
&lt;code&gt;git branch -a&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a new branch.
&lt;code&gt;git branch [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete a branch.&lt;br&gt;
&lt;code&gt;git branch -d [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete a remote branch.&lt;br&gt;
&lt;code&gt;git push origin --delete [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a new branch and switch to it.&lt;br&gt;
&lt;code&gt;git checkout -b [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clone a remote branch and switch to it.&lt;br&gt;
&lt;code&gt;git checkout -b [branch name] origin/[branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rename a local branch.&lt;br&gt;
&lt;code&gt;git branch -m [old branch name] [new branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Switch to a branch.&lt;br&gt;
&lt;code&gt;git checkout [branch name]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Switch to the branch last checked out.&lt;br&gt;
&lt;code&gt;git checkout -&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Discard changes to a file.&lt;br&gt;
&lt;code&gt;git checkout -- [file-name.txt]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Merge a branch into the active branch.&lt;br&gt;
&lt;code&gt;git checkout [branchYouWantToReceiveBranch]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git merge [branchYouWantToMergeIntoBranch]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Merge a branch into a target branch.&lt;br&gt;
&lt;code&gt;git merge [source branch] [target branch]&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Stash changes in a dirty working directory.&lt;br&gt;
&lt;code&gt;git stash&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remove all stashed entries.&lt;br&gt;
&lt;code&gt;git stash clear&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="inspection--comparison"&gt;Inspection &amp;amp; Comparison&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;View changes.&lt;br&gt;
&lt;code&gt;git log&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View changes (detailed).&lt;br&gt;
&lt;code&gt;git log --summary 	&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View changes (briefly).&lt;br&gt;
&lt;code&gt;git log --oneline &lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Preview changes before merging.&lt;br&gt;
&lt;code&gt;git diff [source branch] [target branch] &lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h6 id="references"&gt;References:&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.digitalocean.com/community/cheatsheets/how-to-use-git-a-reference-guide"&gt;How To Use Git: A Reference Guide&lt;/a&gt;, an article in Digital Ocean tutorials.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>കെട്ട്കഥ</title><link>https://www.binovarghese.com/ml/2021/aug/i-dont-know-did-i-met-you-or-not/</link><pubDate>Sat, 21 Aug 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/aug/i-dont-know-did-i-met-you-or-not/</guid><description>&lt;p&gt;ഞാൻ അവസാനമെഴുതുന്നത്&lt;br&gt;
നിനക്കുള്ള കവിതയാരിക്കില്ല.&lt;/p&gt;
&lt;p&gt;ആരും കേൾക്കാത്ത നമ്മുടെ കഥയാരിക്കും.&lt;br&gt;
എനിക്കുറപ്പുണ്ട്, നീയും ഞാനുമൊന്നിക്കുന്ന&lt;br&gt;
ആ കഥ നമ്മൾ വിശ്വസിക്കുന്നത്പോലെ&lt;br&gt;
ആരും വിശ്വസിക്കില്ല.&lt;/p&gt;
&lt;p&gt;എങ്ങനെ വിശ്വസിക്കും, നാമിരുവരും&lt;br&gt;
മഴ നനഞ്ഞപ്പോൾ നീയെന്നിൽ &lt;br&gt;
ഓടിയൊളിച്ചതും, നിൻ്റെ കണ്ണുകളുടെ &lt;br&gt;
ആഴങ്ങളിൽ ഞാൻ വീണുപോയതും&lt;br&gt;
അവരറിഞ്ഞിട്ടില്ലല്ലോ.&lt;/p&gt;
&lt;p&gt;അത്കൊണ്ട് ഞാനൊരു കെട്ട്കഥയെഴുതും &lt;br&gt;
മന്ത്രവാദിയുടെ കെണിയിലകപ്പെട്ട രാജകുമാരൻ്റെയും, &lt;br&gt;
വഴികൾ ഒളിപ്പിച്ച കവിതകൾ തേടിയെത്തിയ&lt;br&gt;
രാജകുമാരിയുടെയും കഥ. പായുന്ന &lt;br&gt;
കുതിരമേൽ ഇരുവരും രക്ഷപ്പെടുന്ന&lt;br&gt;
പഴയാ നാടോടികഥയിൽ നാമിരുവരെയും &lt;br&gt;
ഞാൻ വിളക്കിച്ചേർക്കും.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ എൻ്റെ കവിതകൾ എന്നിലേക്കുള്ള&lt;br&gt;
വഴി നിനക്ക് പറഞ്ഞ് തന്നെന്നും, നമ്മൾ&lt;br&gt;
കണ്ടുമുട്ടിയെന്നും ഞാൻ അവരെ വിശ്വസിപ്പിക്കും.&lt;/p&gt;
&lt;p&gt;അവർക്കും നമ്മുക്കും അറിയില്ലല്ലോ &lt;br&gt;
നാമിതുവരെ കണ്ട്മുട്ടിയിട്ടില്ലാന്ന്.&lt;/p&gt;</description></item><item><title>മായാസൃഷ്ട്ടി</title><link>https://www.binovarghese.com/ml-musings/2021/you-people-are-magicial/</link><pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/you-people-are-magicial/</guid><description>&lt;p&gt;നിങ്ങളെപ്പോലുള്ള മനുഷ്യരും, കടലും കാടുകളുമൊക്കെ ഏതോ മായാസൃഷ്ട്ടിയായിരിക്കണം.&lt;/p&gt;
&lt;p&gt;അല്ലെങ്കിൽ പിന്നെയെങ്ങനെയാണ് ഇത്ര മനോഹരമായി നിങ്ങൾക്ക് നിലനിൽക്കാൻ സാധിക്കുന്നത്.&lt;/p&gt;</description></item><item><title>യാത്ര സഫലമായിരിക്കുന്നു</title><link>https://www.binovarghese.com/ml-musings/2021/finding-smile-after-journey/</link><pubDate>Wed, 28 Jul 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/finding-smile-after-journey/</guid><description>&lt;p&gt;സന്തോഷം പുഞ്ചിരിക്കുന്നിടം തേടി ഞാനൊത്തിരി അലഞ്ഞു. നീണ്ട വീഥികളും ഇരുണ്ട വനങ്ങളും തിരവറ്റിയ കടലുകളും താണ്ടിയ ശേഷം നിരാശനായി വീട്ടിൽ തിരിച്ചെത്തി ഒടുവിൽ ഞാൻ.&lt;/p&gt;
&lt;p&gt;അവിടെ അമ്മ ആഹാരം വിളമ്പിവെച്ച് കാത്തിരിപ്പുണ്ടാരുന്നു. നിറഞ്ഞ് കഴിക്കുന്നതിന് ഇടയിൽ ചപ്പാത്തിയും കറിയും നല്ലതാണെന്ന് പറയുമ്പോൾ അമ്മ പുഞ്ചിരിക്കുന്നുണ്ടായിരുന്നു.&lt;/p&gt;
&lt;p&gt;യാത്ര സഫലമായിരിക്കുന്നു എന്ന് ഞാൻ തിരിച്ചറിഞ്ഞു.&lt;/p&gt;</description></item><item><title>Tools Recommendations for daily life</title><link>https://www.binovarghese.com/blog/2021/tools-recommendation/</link><pubDate>Mon, 26 Jul 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/tools-recommendation/</guid><description>&lt;p&gt;A list of mobile and web applications that will help to increase your productivity and creativity in your daily life.&lt;/p&gt;
&lt;p&gt;Most of the applications are using by me for a while and are known to many, but when I discussed this with my peers and I realized some of them don&amp;rsquo;t know the same. So I thought I can make this post to refer these applications for the unknown. So here is the list of the applications I found useful.&lt;/p&gt;
&lt;h4 id="notes-taking"&gt;Notes Taking&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.notion.so/"&gt;Notion&lt;/a&gt; is an application that helps to create your systems for knowledge management, note-taking, data management, project management, among others. Highly recommended to one who cares about digital knowledge management for their personal and professional lives.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://keep.google.com"&gt;Google Keep&lt;/a&gt; is a free and quick easy note-taking service offered by Google. This will help you to keep your notes including your scribbles, grocery list, reminders, etc. Recommended if you need to take simple notes with a simple system. Remember, we cannot compare Notion with Google Keep as their functionality is very much different.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="desiging-and-editing"&gt;Desiging and Editing&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt; is a graphic design platform used to create social media graphics, presentations, posters, documents, and other visual content. The app includes templates for users to use, and I think this is the best tool for visual content creation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.niksoftware.snapseed&amp;amp;hl=en&amp;amp;gl=US"&gt;Snapseed&lt;/a&gt; is a photo-editing application for iOS and Android that enables users to enhance photos and apply digital filters.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://squoosh.app/"&gt;Squoosh&lt;/a&gt; reduce file size and maintain high quality and powered by Google.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://imageoptim.com/online"&gt;Image Optim&lt;/a&gt; is an efficient image compression tool that I use to compress the images for my websites.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="stock-photos"&gt;Stock Photos&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt; for unlimited free images with a growing library of 20 million photos which I am highly recommending if you need to use photos for any of your purposes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="links-saving"&gt;Links Saving&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getpocket.com"&gt;Pocket&lt;/a&gt; for saving articles and videos from the internet to read it later. Whenever you saw an article on the web and you don&amp;rsquo;t have the time to read it or you need it to save it for the future this is the best tool.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="productivity"&gt;Productivity&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing&amp;amp;hl=en&amp;amp;gl=US"&gt;Digital Wellbeing&lt;/a&gt; is an Android application to get a complete picture of your digital habits and disconnect when you want to.
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please note that there are so many good alternatives for the above apps are available out there. I encourage you to search and try them by yourself to find the best one for you. I will try to keep this list updated with better tools, and you can check the &lt;a href="https://www.binovarghese.com/blog/what-i-use-2021/"&gt;tech I use&lt;/a&gt; if you are interested.&lt;/p&gt;</description></item><item><title>Oracle Database XE Installation on Windows</title><link>https://www.binovarghese.com/blog/2021/oracle-xe-installation/</link><pubDate>Mon, 05 Jul 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/oracle-xe-installation/</guid><description>&lt;p&gt;The below will demonstrate how to install Oracle Database Express Edition and connect through Command prompt and Oracle SQL Developer in Windows.&lt;/p&gt;
&lt;h3 id="install-oracle-database-express-edition"&gt;Install Oracle Database Express Edition&lt;/h3&gt;
&lt;p&gt;For development, or learning purpose you can the use Oracle database and you can start with Oracle Database Express Edition (XE) which is free to use. You can download the same from the below link,&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.oracle.com/database/technologies/appdev/xe.html"&gt;Link to download Oracle Database XE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After the downloading, you can run the setup and start to install the database. You can see the below screenshot when you start to install.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-1.png"
 alt="Oracle DB Installation 1"&gt;
&lt;/figure&gt;

&lt;p&gt;You have to click the &amp;lsquo;Next&amp;rsquo; button as shown below,&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-2.png"
 alt="Oracle DB Installation Step 2"&gt;
&lt;/figure&gt;

&lt;p&gt;Read the license agreement and click &amp;lsquo;I accept the terms in the license agreement&amp;rsquo;. Then click &amp;ldquo;Next&amp;rdquo;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-7.png"
 alt="Oracle DB Installation Step 3"&gt;
&lt;/figure&gt;

&lt;p&gt;Choose a destination folder for where Oracle 18c XE should be installed into, or accept the default location. Then click “Next“.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-8.png"
 alt="Oracle DB Installation Step 4"&gt;
&lt;/figure&gt;

&lt;p&gt;Remember the password you are entering here and it is the database password we need to use later.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-3.png"
 alt="Oracle DB Installation Step 5"&gt;
&lt;/figure&gt;

&lt;p&gt;In the next screen Oracle will show the summary of Installation, and you need to click the &amp;lsquo;Install&amp;rsquo; button.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-4.png"
 alt="Oracle DB Installation Step 6"&gt;
&lt;/figure&gt;

&lt;p&gt;Now, 18c XE is being insalled, may be it will take several minutes.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-9.png"
 alt="Oracle DB Installation Step 7"&gt;
&lt;/figure&gt;

&lt;p&gt;If you have the Windowns Defender Firewall activated, you will be asked to network acess to the Java Platform SE binary. Check the checkboxes and allow the access. Please note that it is required for the full functionality of the Oracle Database.&lt;/p&gt;
&lt;p&gt;Once the installation is finished, a sucess message will come with a “Oracle Database Installed Successfully” summary screen. Click on &amp;lsquo;Finish&amp;rsquo;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-install-success-message.png"
 alt="Oracle DB Installation Step 8"&gt;
&lt;/figure&gt;

&lt;p&gt;Yep, Now you have installed the Oracle Databse 18c XE in your Windows machine.&lt;/p&gt;
&lt;h3 id="connecting-via-command-prompt"&gt;Connecting via Command Prompt&lt;/h3&gt;
&lt;p&gt;After completing the installation to start the database, open the command prompt and enter the following commands&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sqlplus 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;SQL Plus is the most basic Oracle Database utility, with a basic command-line interface. In which you can enter and execute SQL, PL/SQL, SQL Plus, and operating system commands such as query results, database administration, and run batch scripts.&lt;/p&gt;
&lt;p&gt;You can read more &lt;a href="https://docs.oracle.com/cd/B14117_01/server.101/b12170/qstart.htm"&gt;here&lt;/a&gt; about SQL Plus.&lt;/p&gt;
&lt;p&gt;After opening SQL Plus, you have to enter the username and password to connect to the database. The default username is &lt;code&gt;sys&lt;/code&gt; and the password is &lt;em&gt;oracle&lt;/em&gt;. You can enter the username as below,&lt;/p&gt;
&lt;p&gt;Format: username/password as sysdba&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sys/oracle as sysdba
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/oracle-db-login.png"
 alt="Oracle DB login"&gt;
&lt;/figure&gt;

&lt;p&gt;If you entered username only as sys you will get the following error,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That is because when we are trying to login with &lt;code&gt;sys&lt;/code&gt; user we have to set &lt;code&gt;DBA Privilege=SYSDBA&lt;/code&gt; to get full access.&lt;/p&gt;
&lt;p&gt;You can see a message in the command prompt that the Oracle Database is connected and the version will appear there.&lt;/p&gt;
&lt;h3 id="connecting-via-oracle-sql-developer"&gt;Connecting via Oracle SQL Developer&lt;/h3&gt;
&lt;p&gt;To connect the database from Oracle SQL Developer you need to create a new connection in the Oracle connections section. To get the connection details, you can run the below command in the command prompt.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt; * from v&lt;span class="nv"&gt;$listener_network&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can see the local listener as &lt;code&gt;(ADDRESS=(PROTOCOL=TCP)(HOST=HOST_NAME)(PORT=1522))&lt;/code&gt; and the service name as &lt;code&gt;XE&lt;/code&gt;. Enter the details as shown in the below screenshot. You have to provide the same password when we entered it during the database installation.&lt;/p&gt;
&lt;p&gt;Remember the role should be &lt;code&gt;SYSDBA&lt;/code&gt; as in the screenshot.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/oracle-xe-dba-scripts/db-connection-sql-devloper.png"
 alt="Oracle DB login"&gt;
&lt;/figure&gt;

&lt;p&gt;After entering the details as above, test the connection. If all the details are correct status will show as &amp;lsquo;Success&amp;rsquo; in the bottom left corner. You can save the connection, and start using the database from a new query window.&lt;/p&gt;
&lt;p&gt;Now you have installed the Oracle Database 18c XE and connected the same.&lt;/p&gt;</description></item><item><title>Welcome to my Digital Garden</title><link>https://www.binovarghese.com/blog/2021/digital-gardening-2021/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/digital-gardening-2021/</guid><description>&lt;p&gt;Hi, welcome to my &lt;del&gt;blog&lt;/del&gt; Digital Garden.&lt;/p&gt;
&lt;p&gt;Last year when I read an article, I accidentally came across a concept called &lt;a href="https://joelhooks.com/digital-garden"&gt;digital garden&lt;/a&gt;. In the title it states that his blog is a digital garden, not a blog. I had read the article and found interested. Unfortunately, after that I moved and forgotten the whole idea.&lt;/p&gt;
&lt;p&gt;After a few months, I created this website and started to share few posts on this. This time I saw a tweet about &lt;a href="https://maggieappleton.com/garden-history"&gt;Digital Gardening&lt;/a&gt; by &lt;a href="https://maggieappleton.com/about"&gt;Maggie Appleton&lt;/a&gt;. I went through the same and found the idea about Digital Gardening is fascinating, again!&lt;/p&gt;
&lt;p&gt;In my college days, I thought about a personal digital space in which I can share my collections of notes, resources, and ideas. I started a website in 2014 which is not worked well and eventually I dropped it. After creating this website back in late 2019, still I am not updating the posts regularly due to the perfect blog post concept.&lt;/p&gt;
&lt;p&gt;I always want to make content that is perfect and useful to others, which is not a good idea at least sometimes. Perfect things are not a point to reach, It&amp;rsquo;s like a never-ending journey. As someone said &lt;em&gt;&amp;ldquo;Shipping beats perfection&amp;rdquo;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So I am giving up the classic blog concept; I am trying to make a Digital Garden that will evolve with me.&lt;/p&gt;
&lt;p&gt;So, what is Digital Garden?&lt;/p&gt;
&lt;h3 id="digital-garden"&gt;Digital Garden&lt;/h3&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/digital-gardening-2021/digital-garden.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://maggieappleton.com/"&gt;Image by Maggie Appleton&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;A garden is a collection of evolving ideas that are not strictly organized by their publication date. They are the notes published as half-finished thoughts that will evolve with you. They are more imperfect than the personal websites we&amp;rsquo;re used to seeing. Moreover, they published for yourself rather than a large audience.&lt;/p&gt;
&lt;p&gt;They are organized based on the connection between the concepts and themes. You can link the notes with the related posts, tags, and topics using a hyperlink. It&amp;rsquo;s more like interconnected notes from different published dates (which is optional) with related content.&lt;/p&gt;
&lt;p&gt;It grants you the freedom to become an imperfect person, which is more important to me. I always considered myself as a never-ending learner, who is constantly trying to evolve and to be better than yesterday.&lt;/p&gt;
&lt;p&gt;So instead of the classic perfect blog posts, you can publish your vague ideas, notes, and make it a good one whenever you learned more, or you can put it in the same way.&lt;/p&gt;
&lt;p&gt;Moreover, this is your personal space, which means you are unbounded by the 240 Twitter characters or the Facebook algorithms which decide what to display in your feed. You are playing here, experimenting, evolving along with this. You can put whatever content you love, like short notes, wikis, podcasts, videos, tweets, and essays.&lt;/p&gt;
&lt;p&gt;And ultimately, you are the owner of this space. You are not inside the beautifully poisoned wall of Facebook, Medium, or Twitter. As we all know &lt;a href="https://anildash.com/2019/12/10/link-in-bio-is-how-they-tried-to-kill-the-web/"&gt;link in bio is a slow knife&lt;/a&gt; in this open world. Most importantly, it&amp;rsquo;s your content and you own it. You may publish, modify, export or delete the contents whenever you want.&lt;/p&gt;
&lt;h4 id="its-all-about-creating-your-own-space-in-the-world-wide-web-which-is-evolving"&gt;It&amp;rsquo;s all about creating your own space in the world wide web, which is evolving.&lt;/h4&gt;
&lt;p&gt;Okay, above is the brief reflections about Digital Gardens.&lt;/p&gt;
&lt;p&gt;After reading about the digital garden, I think I should try this. So, here I want to share my half-baked ideas, notes, code snippets, and thoughts, which may be die or grow in the future. I&amp;rsquo;m excited and looking forward to sharing whatever I am learning from my journey as a Software Developer and Blogger instead of waiting until the perfect post.&lt;/p&gt;
&lt;p&gt;Now you are welcome to my digital garden, walk through this, see the flowers, and may eat the apple. Of course, there will be bugs too!&lt;/p&gt;
&lt;h5 id="further-reading"&gt;Further reading&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://maggieappleton.com/garden-history"&gt;Maggie Appleton&lt;/a&gt; shared an excellent essay on Digital Garden.&lt;/li&gt;
&lt;li&gt;Initially, I got the idea of the digital garden from &lt;a href="https://joelhooks.com/digital-garden"&gt;Joel Hooks&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/jbranchaud/the-digital-garden-l10"&gt;The Digital Garden&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://boffosocko.com/2021/07/03/differentiating-online-variations-of-the-commonplace-book-digital-gardens-wikis-zettlekasten-waste-books-florilegia-and-second-brains/"&gt;Differentiating online variations of the Commonplace Book: Digital Gardens, Wikis, Zettlekasten, Waste Books, Florilegia, and Second Brains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hapgood.us/2015/10/17/the-garden-and-the-stream-a-technopastoral/"&gt;The Garden and the Stream: A Technopastoral&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>നീണ്ട യാത്രകൾ</title><link>https://www.binovarghese.com/ml-musings/2021/long-travels/</link><pubDate>Sun, 30 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/long-travels/</guid><description>&lt;p&gt;ചിലപ്പോളൊക്കെ വീടിന്റെ സുന്ദരസുരഭില സുഖങ്ങളിൽ നിന്നും നമുക്കിടക്ക് യാത്ര പറയേണ്ടി വരും,&lt;/p&gt;
&lt;p&gt;വേഗന്ന് തിരികെ വരാമെന്ന് പറഞ്ഞിറങ്ങിയ നീണ്ട യാത്രകൾ.&lt;/p&gt;</description></item><item><title>Markdown Cheat Sheet</title><link>https://www.binovarghese.com/blog/2021/markdown-cheat-sheet-2021/</link><pubDate>Sat, 29 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/markdown-cheat-sheet-2021/</guid><description>&lt;p&gt;For my both blogs I am using markdown for writing the blog posts, so I thought it&amp;rsquo;s better to keep a personal markdown cheat sheet for myself. So I don’t want to Google it every time whenever I need to check some syntax. So here it is.&lt;/p&gt;
&lt;h3 id="what-is-markdown"&gt;What is Markdown?&lt;/h3&gt;
&lt;p&gt;Its a lightweight markup language that you can use to add formatting elements to plaintext text documents, which is created by &lt;a href="https://en.wikipedia.org/wiki/Markdown#History"&gt;John Gruber in collaboration with Aaron Swartz&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="basic-syntax"&gt;Basic Syntax&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h4 id="heading"&gt;Heading&lt;/h4&gt;
&lt;p&gt;# h1&lt;br&gt;
## h2&lt;br&gt;
### h3&lt;br&gt;
#### h4&lt;br&gt;
##### h5
###### h6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="bold"&gt;Bold&lt;/h4&gt;
&lt;p&gt;**bold text**&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="italic"&gt;Italic&lt;/h4&gt;
&lt;p&gt;*Italic*&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="blockquote-without-attribution"&gt;Blockquote without attribution&lt;/h4&gt;
&lt;p&gt;&amp;gt; Blockquote&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="blockquote-with-attribution"&gt;Blockquote with attribution&lt;/h4&gt;
&lt;p&gt;&amp;gt; Blockquote&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; — &amp;lt;cite&amp;gt;Unknown &amp;lt;/cite&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="ordered-list"&gt;Ordered List&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;First item&lt;/li&gt;
&lt;li&gt;Second item&lt;/li&gt;
&lt;li&gt;Third item&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="ordered-list-1"&gt;Ordered List&lt;/h4&gt;
&lt;p&gt;- First item&lt;br&gt;
- Second item&lt;br&gt;
- Third item&lt;br&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="inline-code"&gt;Inline Code&lt;/h4&gt;
&lt;p&gt;`Code`&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="block-code"&gt;Block Code&lt;/h4&gt;
&lt;p&gt;```
Code
```&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="link"&gt;Link&lt;/h4&gt;
&lt;p&gt;[title](https://www.codbix.com)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="image"&gt;Image&lt;/h4&gt;
&lt;p&gt;![alt text](wizbitales.jpg)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="horizontal-rule"&gt;Horizontal Rule&lt;/h4&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="strikethrough"&gt;Strikethrough&lt;/h4&gt;
&lt;p&gt;~~This is a Strikethrough line.~~&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id="foot-notes"&gt;Foot notes&lt;/h4&gt;
&lt;p&gt;In a paragraph you can use the square bracket with a caret symbol along with a number to indicate a foot note: [^1].&lt;/p&gt;
&lt;p&gt;[^1]: In the below section you can add this for showing the footnotes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="backslash-escapes"&gt;Backslash Escapes&lt;/h3&gt;
&lt;p&gt;Markdown will allow to use backlash escapes to generate litertal characters which is used in the markdown itself fot formatting the syntax.&lt;/p&gt;
&lt;p&gt;String: \* Literal astrisks\*&lt;br&gt;
Output: * Literal astrisks*&lt;/p&gt;
&lt;h6 id="references"&gt;References&lt;/h6&gt;
&lt;p&gt;&lt;a href="https://commonmark.org/"&gt;CommonMark&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.github.com/gfm/"&gt;GitHub Flavoured Markdown&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.markdownguide.org/"&gt;Markdown guide&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ഞാനിനിയെന്ത് പറയും</title><link>https://www.binovarghese.com/ml/2021/may/what-i-will-say-now/</link><pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/may/what-i-will-say-now/</guid><description>&lt;p&gt;ഞാനിനിയെന്ത് പറയും നിന്നോട്? &lt;br&gt;
കാത്തിരുന്ന വഴികളിലെ വെളുത്ത ലില്ലിപ്പൂക്കൾ &lt;br&gt;
വാടിത്തുടങ്ങിയെന്നോ? അതോ നാം&lt;br&gt;
നനച്ച വള്ളിച്ചെടികൾ വേരറ്റ് പോയെന്നോ!&lt;/p&gt;
&lt;p&gt;ഉപ്പുകാറ്റുകൾക്കൊപ്പം കടൽത്തിര വറ്റിപോകുകയും,&lt;br&gt;
ഈ വരണ്ടഭൂമി പിന്നെയും മരുഭൂമിയായെന്നും,&lt;br&gt;
മഞ്ഞപ്പൂക്കൾ വിടർന്നൊരു അടുക്കളത്തളം &lt;br&gt;
വീണ്ടും അനാഥമായെന്നും പറയട്ടെ?&lt;/p&gt;
&lt;p&gt;ഏകാന്തത നിറഞ്ഞൊരു മുറിക്കുള്ളിൽ&lt;br&gt;
പിന്നെയും തണുപ്പ് മാത്രമാണെനിക്ക് കൂട്ടെന്നും,&lt;br&gt;
ആൻഡലസ് ഗാർഡനുള്ളിലെ നിബിഡമായ&lt;br&gt;
മരങ്ങൾക്കിടയിലും മനുഷ്യർക്കിടയിലും&lt;br&gt;
ഒരിക്കൽക്കൂടി ഞാനൊരു ഒറ്റയാനായെന്ന്&lt;br&gt;
പറഞ്ഞ് നിർത്തട്ടെ ഞാൻ?&lt;/p&gt;
&lt;p&gt;അറിയില്ല ഞാനിനിയെന്ത് പറയണമെന്ന്.&lt;br&gt;
ഹൃദയം വേദനിക്കുന്നുവെന്നും, നാം&lt;br&gt;
പരസ്പരം കണ്ടുമുട്ടാൻ ഇനിയും&lt;br&gt;
കാത്തിരിക്കണമെന്നും നിന്നോട് പറയാൻ&lt;br&gt;
ഇതുവരെയും ഞാൻ ശീലിച്ചിട്ടില്ല.&lt;/p&gt;</description></item><item><title>ഒരേ ആകാശം</title><link>https://www.binovarghese.com/ml-musings/2021/under-the-same-sky/</link><pubDate>Wed, 19 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/under-the-same-sky/</guid><description>&lt;p&gt;ഞാനും നീയും ഒരേ ആകാശത്തിന് &lt;br&gt;
കീഴെയുള്ള കാലത്തോളം &lt;br&gt;
നമുക്കിടയിലെ&lt;br&gt;
മഹാസമുദ്രങ്ങളെക്കുറിച്ച് ഓർത്ത് &lt;br&gt;
ഞാൻ ആശങ്കപ്പെടുന്നില്ല!&lt;/p&gt;</description></item><item><title>എഴുന്നൂറ്റിയൊന്നാമെത്തെ വർഷം</title><link>https://www.binovarghese.com/ml/2021/may/701th-year/</link><pubDate>Wed, 12 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/may/701th-year/</guid><description>&lt;p&gt;എല്ലാ രാത്രികളിലെപ്പോലെയിന്നും ഞാൻ&lt;br&gt;
നീലവാതിൽ തുറന്ന് നടന്ന് തുടങ്ങി.&lt;/p&gt;
&lt;p&gt;സ്വപ്‍നങ്ങളുടെ ഇടനാഴിയിലൂടെ&lt;br&gt;
ആനന്ദസംഗീതത്തിൻ്റെ ശാന്തമർമ്മരങ്ങളിൽ&lt;br&gt;
ഒരുന്മാദിയെപ്പോലെ കാറ്റിനൊപ്പം&lt;br&gt;
നൃത്തം ചെയ്തു ഞാൻ.&lt;/p&gt;
&lt;p&gt;കാറ്റിലാടുന്ന ഇലകളിലെ ജീവൻ്റെ&lt;br&gt;
പച്ചമഷി, കൈകുമ്പിളിൽ കോരിയെടുത്ത്&lt;br&gt;
വേരറ്റ് പോയ വള്ളിപ്പടർപ്പുകളിലേക്ക്&lt;br&gt;
പകർന്ന് നൽകുമ്പോൾ,&lt;/p&gt;
&lt;p&gt;മഞ്ഞരാത്രിയുടെ നക്ഷത്രത്തരികളെ&lt;br&gt;
മന്ത്രവിദ്യയാൽ പൂക്കളാക്കി മണ്ണിൽ&lt;br&gt;
വിരിയിക്കുമ്പോൾ, എൻ്റെ സ്‌മൃതികളിൽ&lt;br&gt;
കാലത്തിൻ്റെ ഉർവ്വരത ഒഴുകിയിറങ്ങി.&lt;/p&gt;
&lt;p&gt;പ്രണയത്തിൽ കാര്യകാരണങ്ങളുടെ&lt;br&gt;
സമവാക്യങ്ങൾക്ക് പ്രസക്തിയില്ലെന്ന്&lt;br&gt;
ഓർമിപ്പിച്ച്കൊണ്ട് നിന്നെ&lt;br&gt;
കാത്തിരിക്കുന്ന എഴുന്നൂറ്റിയൊന്നാമെത്തെ&lt;br&gt;
വർഷമായിരിക്കുന്നുയിന്ന്.&lt;/p&gt;
&lt;p&gt;ഈ കാത്തിരിപ്പ് കൊണ്ട് തൃപ്തനാണ്&lt;br&gt;
ഞാൻ, ഈ പ്രണയം കൊണ്ടും.&lt;/p&gt;</description></item><item><title>Rootbi - Bootstrap portfolio theme</title><link>https://www.binovarghese.com/blog/2021/rootbi-portfolio-theme/</link><pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/rootbi-portfolio-theme/</guid><description>&lt;p&gt;Rootbi is a simple responsive portfolio theme built in &lt;a href="https://getbootstrap.com/"&gt;Bootstrap v5&lt;/a&gt; with &lt;a href="https://icons.getbootstrap.com/"&gt;Bootstrap icons&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From college days to till date, I always loved beautifully designed websites and I used many open-sourced themes by various authors. In the early days of my career, I used to build websites for my friends and for our side projects using Bootstrap and other frameworks. Now also I am using the Bootstrap framework in my various projects.&lt;/p&gt;
&lt;p&gt;After seeing the new Bootstrap v5 and Bootstrap Icons I thought it would be fun to build a personal portfolio in it. And here it is, a simple personal portfolio built in Bootstrap 5 with Bootstrap icons.&lt;/p&gt;
&lt;h4 id="demo"&gt;Demo&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;⚡ &lt;a href="https://rootbi.netlify.app/"&gt;Rootbi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="github"&gt;GitHub&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;💡 &lt;a href="https://github.com/binokochumolvarghese/rootbi"&gt;View on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐛 &lt;a href="https://github.com/binokochumolvarghese/rootbi/issues"&gt;Bug reports &amp;amp; Issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="home-page"&gt;Home Page&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/rootbi-portfolio-theme/rootbi-home.jpg"
 alt="Rootbi home"&gt;
&lt;/figure&gt;

&lt;h4 id="blog-page"&gt;Blog Page&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/rootbi-portfolio-theme/rootbi-blog.jpg"
 alt="Rootbi blog"&gt;
&lt;/figure&gt;

&lt;h4 id="about-page"&gt;About Page&lt;/h4&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/rootbi-portfolio-theme/rootbi-about.jpg"
 alt="Rootbi about"&gt;
&lt;/figure&gt;

&lt;p&gt;Thank you for reading my post, I hope you will like this theme. I would love to hear your feedback and see your creations.&lt;/p&gt;</description></item><item><title>കേരളജനതക്ക് നന്ദി</title><link>https://www.binovarghese.com/ml-musings/2021/vishu-2021/</link><pubDate>Sun, 02 May 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/vishu-2021/</guid><description>&lt;p&gt;പ്രകാശവും പ്രതീക്ഷകളും അറ്റ് പോയ എന്റെ ഇൻഡ്യയിൽ, പ്രാണവായു കിട്ടാതെ പിടഞ്ഞ് തീർന്ന മനുഷ്യർക്കിടയിൽ, ജനങ്ങളേക്കാൾ കൂടുതൽ ജാതിയെ സ്നേഹിച്ച ഭരണാധികാരികൾക്കിടയിൽ,&lt;/p&gt;
&lt;p&gt;എന്റെ കേരളം പ്രതീക്ഷയുടെയും പ്രകാശത്തിന്റെയും തുരുത്തായി ഇനിയും നിലകൊള്ളും.&lt;/p&gt;
&lt;p&gt;കേരളജനതക്ക് നന്ദി ❤️&lt;/p&gt;</description></item><item><title>നഗരവും ഗ്രാമവും</title><link>https://www.binovarghese.com/ml/2021/apr/cities-and-villages/</link><pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/apr/cities-and-villages/</guid><description>&lt;p&gt;ജീവിതത്തിൽ ഓരോ നിമിഷവും എന്നെക്കുറിച്ച് എനിക്കുണ്ടാകുന്ന തിരിച്ചറിവുകൾ എന്നെ പലപ്പോഴും അത്ഭുതപ്പെടുത്താറുണ്ട്. ഇന്നലത്തെ എൻ്റെ കാഴ്ചപ്പാടുകളും ഇഷ്ടങ്ങളും വലിയൊരു അളവിൽ വ്യതിചലിച്ചിരിക്കുന്നു. മാറില്ല എന്ന് ഞാൻ കരുതിയ പലതും നേരെ കടകം തിരിഞ്ഞ് നിൽക്കുന്നു. ആരോ പറഞ്ഞപോലെ മാറ്റമാണത്രെ മാറ്റമില്ലാത്ത ഒരേയൊരു സത്യം. പറഞ്ഞ മഹാത്മാവിന് സ്‌തുതിയാരിക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;എനിക്ക് ഏറ്റവും പ്രിയപ്പെട്ടതാണ് എൻ്റെ ഗ്രാമവും അവിടുത്തെ ആൾക്കൂട്ടവും &lt;a href="https://www.binovarghese.com/ml/2019/oct/church/"&gt;പള്ളിയും&lt;/a&gt;, മരങ്ങളും, മഴയും പിന്നെ സന്ധ്യകളും. ആ സുന്ദരസൗകര്യങ്ങളിൽ നിന്ന് വിട്ട്പോയി, ഏതേലും നഗരത്തിൻ്റെ രണ്ട് മുറി ഫ്ലാറ്റിൽ ചേക്കേറുന്നത് വീടിൻ്റെ സുഖസൗകര്യങ്ങളിൽ നിന്ന് മാത്രം ശീലിച്ചിരുന്ന എനിക്ക് ചിന്തിക്കുവാൻ കൂടെ കഴിഞ്ഞിരുന്നില്ല.&lt;/p&gt;
&lt;p&gt;മുറ്റമില്ലാത്ത, പരസ്പരമറിയാത്ത ഇടനാഴികൾക്കിടയിൽ സദാ അടഞ്ഞ വാതിലുകളിലെ ഫ്ലാറ്റ് ജീവിതത്തെക്കുറിച്ച് ഓർക്കുമ്പോൾ തന്നെ ഒരുതരം ശ്വാസം മുട്ടലാരുന്നു എനിക്കന്ന്. പലപ്പോഴും ഞാൻ ഓർത്തിരുന്നു മുറ്റമില്ലാതെ എങ്ങനെയാണ് ചായകപ്പും പിടിച്ച് രാവിലെ ഇറങ്ങിനടന്ന് ഉലാത്താൻ കഴിയുന്നത്, അയൽക്കാരോട് മതിലിന്മേൽ കയറിയിരുന്ന് കുശലം പറയണേൽ എന്ത് ചെയ്യും, രാത്രിയിലൊരു ആപത്ത് വന്നാൽ ആരെ വിളിക്കാൻ പറ്റും. ആ, ഫ്ലാറ്റ്കാരുടെ ദുർവിധി!!&lt;/p&gt;
&lt;p&gt;എൻ്റെ ചായനടത്തങ്ങളിലാണ് ഞാൻ രാവിലെ പലരോടും സംസാരിക്കുന്നത്, ഇന്നലെ രാത്രിയിലത്തെ ക്രിക്കറ്റ് കളിയുടെ സ്കോർബോർഡ് ചർച്ച ചെയ്യന്നതും, അപ്പുറത്തെ പിള്ളേരുമായി അന്നത്തെ പുതിയ പരിപാടികൾ ആസൂത്രണം ചെയ്യന്നതും, ഒരു കാര്യവുമില്ലാതെ വീട്ടുകാരോടും നാട്ടുകാരോടും വിശേഷം പറയുന്നതുമൊക്കെ ഈ നടത്തങ്ങളിലാണ്. ഇങ്ങനെ ഭൂഗോളത്തിൻ്റെ സ്പന്ദനം തിരുത്തുവാൻ കഴിയാത്ത പല കഥകളും പറഞ്ഞ് ഏതേലും മതിലിലോ അപ്പുറത്തെ വീട്ടിലോ ചായക്കപ്പ് മറന്ന് വെച്ച് ഞാൻ തിരികെ വീട്ടിൽ വരും.&lt;/p&gt;
&lt;p&gt;മറന്ന കപ്പുകളൊക്കെയും പലപ്പോഴും ഞാൻ തന്നെ കണ്ടെത്താറുണ്ട്, അല്ലെങ്കിൽ പിന്നീട് ആരേലും കൃത്യമായി അമ്മയെ ഏൽപിക്കാറുണ്ട്. അവരുടെ സ്നേഹത്തിന് ഓരോ ചായ നേരുന്നു.&lt;/p&gt;
&lt;p&gt;കിണറും മുറ്റവും ചെടികളും പൂക്കളുമെല്ലാം നോക്കി, എൻ്റെ വീടിൻ്റെ വാതില്ക്കല് അങ്ങനെ വെറുതെ പാട്ടും കേട്ട് കാലങ്ങളോളം ഇരിക്കാൻ സാധിച്ചിരുന്നെങ്കിലെന്ന് ഞാൻ ഇടക്കിടെ ഓർക്കാറുണ്ട്. ദീർഘദൂരയാത്ര കഴിഞ്ഞ രാത്രിയിൽ തിരികെ വരുമ്പോൾ നിറയെ വിളക്കുകളുമായി എൻ്റെ വീടും അമ്മയും ഉറങ്ങാതെ കാത്തിരിക്കാറുണ്ട്. ഹാ, ഓർമ്മകൾക്ക് എന്ത് വെളിച്ചം!!&lt;/p&gt;
&lt;p&gt;പക്ഷേ എല്ലാ സുന്ദരസുരഭില സുഖങ്ങളിൽ നിന്ന് നമുക്കിടക്ക് യാത്ര പറയേണ്ടി വരും, വേഗന്ന് തിരികെ വരാമെന്ന് പറഞ്ഞിറങ്ങിയ നീണ്ട യാത്രകൾ.&lt;/p&gt;
&lt;p&gt;അങ്ങനെയൊരു നീണ്ട യാത്രയുടെ ഇടത്താവളങ്ങാളാണ് ഞാൻ മാറി മാറി നിൽക്കുന്ന എൻ്റെ ഫ്ലാറ്റുകൾ. എൻ്റേതെന്ന് പറയാൻ കഴിയുന്ന, എന്നാൽ എൻ്റേത് അല്ലാത്ത അതിഥിമന്ദിരങ്ങൾ. കിണറും മുറ്റവുമില്ലാത്ത, കഥ പറഞ്ഞിരിക്കാൻ ചെറുമതിലുകളില്ലാത്ത സദാ അടഞ്ഞ കിടക്കുന്ന രണ്ട് മുറി അടുക്കള കെട്ടിടം.&lt;/p&gt;
&lt;p&gt;കാത്തിരിക്കാൻ അമ്മയില്ലാത്ത, കൂട്ടിരിക്കാൻ ഭാര്യയില്ലാത്ത, വാതിൽ തുറന്ന് പുറത്തിറങ്ങുമ്പോൾ മതിലിൻ്റെ അപ്പുറത്ത് നിന്ന് ബിനോച്ചേട്ടാന്ന് വിളിക്കാൻ ടൂട്ടുവിലാത്ത&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; ഫ്ലാറ്റ്. ഫ്ലാറ്റിനെ വീടെന്ന് വിളിക്കാൻ ഇപ്പോഴും മടിയാണ്!!&lt;/p&gt;
&lt;p&gt;പക്ഷേ എന്നിട്ടും പ്രിയപ്പെട്ട ഫ്ലാറ്റേ നിന്നെ ഞാൻ സ്നേഹിക്കുന്നു. ഏകാന്തതയുടെ സൗന്ദര്യം ആസ്വദിക്കുവാൻ പഠിപ്പിച്ചതിനും, ഒറ്റക്കിരുന്നാൽ അക്ഷരങ്ങൾ കൂട്ട് വരുമെന്ന് പറഞ്ഞ് തന്നതിനും നിറയെ നന്ദി.&lt;/p&gt;
&lt;p&gt;എപ്പോൾ വേണേലും ഉറങ്ങാനും, വിളിച്ചുണർത്താൻ ആളില്ലാതെ കിടക്കുവാനും, എങ്ങനെ വേണേലും നടക്കുവാൻ കഴിയുന്ന ഏകാന്തതയുടെ സുന്ദരതുരുത്താണ് നീയെനിക്ക്. നിറയെ കടകമ്പോളങ്ങൾ നിറഞ്ഞ തെരുവും, ഒന്ന് നടക്കാനുള്ള ദൂരത്തിലെ ഹോട്ടലുകളും ആശുപത്രിയും, മനോഹരമായ അൻഡലസ് പൂന്തോട്ടവും അതിലെ മരങ്ങളും നടപ്പാതകളും എൻ്റെ ജീവിതം കൂടുതൽ സുഖകരമാക്കുന്നു.&lt;/p&gt;
&lt;p&gt;മുറിയുടെ നാലുപാടും ചെടികൾ വെച്ച് ഞാൻ ഹരിതാഭംഗി നിറച്ച എന്റെ ചെറിയ ഇടത്തെ പതിയെ പതിയെ ഞാൻ കൂടുതൽ ഇഷ്ടപെടുന്നു. മുറ്റമില്ലെങ്കിലും വെളിച്ചത്തിലേക്ക് തുറന്നിട്ട ജനലിലോട്ട് നോക്കി, എൻ്റെ പുതിയ ചുമന്ന ചായക്കപ്പിൽ ചൂടുചായ കുടിച്ചുകൊണ്ട് ഈ ഫ്ലാറ്റിൻ്റെ സൗന്ദര്യം ഞാൻ ആസ്വദിക്കാൻ തുടങ്ങിയിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;പഴയ ഇഷ്ട്ടങ്ങൾ എനിക്കൊപ്പം മാറിയിരിക്കുന്നു. പുതിയ ഞാൻ പതിയെ പുതുമയെ ആസ്വദിക്കാൻ തുടങ്ങിയിരിക്കുന്നു. പഴയതിനെ മറക്കാതെ പുതിയതിനെ സ്നേഹിക്കാൻ ശീലിക്കുന്നു. ഹാ, മനോഹരമായ തിരിച്ചറിവുകൾ!!&lt;/p&gt;
&lt;p&gt;അപ്പോൾ ഫ്ലാറ്റിലെ കട്ടിലിന് അരികെയുള്ള മേശമേൽ ഇരിക്കുന്ന ബ്ലൂടൂത്ത് സ്‌പീക്കറിൽ നിന്ന് ഓ. എൻ. വി അദ്ദേഹം എഴുതിയ പാട്ട് പതിയെ മുഴങ്ങുന്നു,&lt;/p&gt;
&lt;p&gt;&amp;ldquo;ഒരു വട്ടം കൂടിയെന്നോർമകൾ മേയുന്ന&lt;br&gt;
തിരുമുറ്റത്തെത്തുവാൻ മോഹം&lt;br&gt;
തിരുമുറ്റത്തൊരു കോണിൽ നിൽക്കുന്നൊരാനെല്ലി&lt;br&gt;
മരമൊന്നുലുത്തുവാൻ മോഹം&amp;hellip;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt; 
 
 
 &lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;അയലത്തെ വീട്ടിലെ കുഞ്ഞനിയൻ&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>കാവൽ</title><link>https://www.binovarghese.com/ml/2021/apr/guardian/</link><pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/apr/guardian/</guid><description>&lt;p&gt;നീ ഉറങ്ങുന്നതും ഉണരുന്നതും കാത്ത്&lt;br&gt;
ഞാൻ ഉറങ്ങാതെ തുണയിരിപ്പുണ്ട്.&lt;/p&gt;
&lt;p&gt;ഇരുൾ വഴിയിൽ നീ ഇടറി&lt;br&gt;
വീണാലോയെന്ന ഭീതിയാലൊരു&lt;br&gt;
കൺനോട്ടമകലെ ഞാൻ കാവൽ&lt;br&gt;
നിൽപ്പുണ്ട്.&lt;br&gt;
ഓടി വന്ന് മാറത്തണയ്ക്കാൻ&lt;br&gt;
പാകത്തിന്, ഇമചിമ്മാതെയെപ്പോഴും&lt;br&gt;
നിന്നെക്കുറിച്ച് ചിന്തിച്ചിരിക്കുന്നു&lt;br&gt;
ഞാനിവിടെ.&lt;/p&gt;
&lt;p&gt;നിന്റെ ബോധങ്ങളിലും അബോധങ്ങളിലും&lt;br&gt;
ഞാൻ നിറഞ്ഞ് നിൽക്കുമ്പോൾ,&lt;br&gt;
ഇരുട്ടിലും ഭയത്തിലും ക്രോധത്തിലും&lt;br&gt;
നീയെന്നെക്കുറിച്ചോർത്ത് സ്വച്ഛമാകുക.&lt;/p&gt;
&lt;p&gt;ക്ലേശങ്ങൾ കനൽപോൽ പെയ്യുമ്പോൾ&lt;br&gt;
മുറുകെപ്പിടിക്കാം ഞാൻ നിന്നെ,&lt;br&gt;
മൂർദ്ധാവിൽ ഉമ്മവെച്ച് നനവ് നൽകാം&lt;br&gt;
ഞാനന്നേരം.&lt;/p&gt;
&lt;p&gt;പിരിയില്ല ഞാനിനി ഒരിക്കലും&lt;br&gt;
നിൻ ചിരാതിലെ തിരിനാളമായും&lt;br&gt;
ഉരുകി നിന്നുള്ളിലെ തുടിപ്പായും&lt;br&gt;
നിലനിൽക്കാം ജൻമാന്തരങ്ങളോളം &lt;br&gt;
ഞാനിനി.&lt;/p&gt;
&lt;p&gt;പതറാതെ നീ സധൈര്യം ചരിക്കുക&lt;br&gt;
നിതാന്തമീ യാത്രയിൽ, ഓർക്കുക സദാ&lt;br&gt;
ഞാനെന്ന നിൻ നിലാവെളിച്ചത്തെ.&lt;/p&gt;</description></item><item><title>What I Use</title><link>https://www.binovarghese.com/blog/2021/what-i-use-2021/</link><pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/what-i-use-2021/</guid><description>&lt;p&gt;A list of apps, tools, and essentials that I use for my work and daily life. This post is inspired by this website &lt;a href="https://uses.tech/"&gt;uses.tech&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/home/workstation.jpg"&gt;&lt;figcaption&gt;
 &lt;p&gt;
 &lt;a href="https://binovarghese.com/desk/2023/06/workstation/"&gt;Workstation&lt;/a&gt;&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id="gadgets"&gt;&lt;strong&gt;Gadgets&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Dell Latitude 5530 laptop with a &lt;a href="https://www.logitech.com/en-sg/products/combos/mk240-minimalist-keyboard-mouse.920-008202.html"&gt;Logitech MK240&lt;/a&gt; Wireless Keyboard. I have a &lt;a href="https://zebronics.com/products/zeb-ns2000?variant=34853176508549"&gt;ZEB-NS2000 laptop stand&lt;/a&gt; and use Dell 22&amp;quot; monitor.&lt;/li&gt;
&lt;li&gt;Lenova Ideapad 320 as secondary laptop.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sennheiser-hearing.com/en-IN/p/hd-250bt/"&gt;Sennheiser HD250BT&lt;/a&gt; for daily use with &lt;a href="https://www.ikea.com/in/en/p/moejlighet-headset-tablet-stand-black-80434278/"&gt;IKEA MOJLIGHET&lt;/a&gt; Headphone Stand.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.philips.co.in/c-p/SPA8000B_94/multimedia-speaker-5.1"&gt;Philips Multimedia Speaker 5.1&lt;/a&gt; for music.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/All-new-Kindle-Paperwhite-Waterproof-Storage/dp/B07CXG6C9W"&gt;Kindle Paperwhite&lt;/a&gt; for daily reading.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="software"&gt;&lt;strong&gt;Software&lt;/strong&gt;&lt;/h4&gt;
&lt;h5 id="apps"&gt;Apps&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;I run Windows 11.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt; is my current favourite editor.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tonsky/FiraCode"&gt;FiraCode&lt;/a&gt; is my programming font.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mozilla.org/en-US/firefox/developer/"&gt;Firefox Developer&lt;/a&gt; and &lt;a href="https://brave.com/"&gt;Brave&lt;/a&gt; are the browsers I use most.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt; is for creating blog cards, posters and birthday cards.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://.keep.google.com/"&gt;Google Keep&lt;/a&gt; for all my scribbles.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.notion.so/"&gt;Notion&lt;/a&gt; for my notes and writings.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getpocket.com/"&gt;Pocket&lt;/a&gt; for saving and revisting the links realted to code, reading and other stuffs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="services"&gt;Services&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; for versioning.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt; for all my static sites hosting.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.typingclub.com/"&gt;Typing club&lt;/a&gt; for learning typing.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://olam.in/"&gt;Olam&lt;/a&gt; for malayalam dictionary.
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: You can read about my workstation setup &lt;a href="https://www.binovarghese.com/desk/2023/06/workstation/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>വിഷു ആശംസകൾ</title><link>https://www.binovarghese.com/ml-musings/2021/kerala-election-2021/</link><pubDate>Wed, 14 Apr 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/kerala-election-2021/</guid><description>&lt;p&gt;കണിക്കൊന്നപ്പോലെയുള്ള ചിരികൾ ഉണ്ടാവട്ടെ ഇനി നമുക്കിടയിൽ.&lt;/p&gt;
&lt;p&gt;വിഷു ആശംസകൾ ✨&lt;/p&gt;</description></item><item><title>Automate login using Selenium in Python</title><link>https://www.binovarghese.com/blog/2021/auto-login-to-websites-python-selenium/</link><pubDate>Sun, 04 Apr 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/auto-login-to-websites-python-selenium/</guid><description>&lt;p&gt;As we all know repeating tasks are boring. Sometimes we need to open same websites everyday for same purpose like opening the GitHub for checking our projects, Gmail for reading the mails, etc. To avoid this repeating and boring task, we can make an application which do this every day for us.&lt;/p&gt;
&lt;p&gt;Here we are trying to login to GitHub and using the same method we can use for other websites also.&lt;/p&gt;
&lt;p&gt;For automatic login to any website we can use &lt;a href="https://www.selenium.dev/documentation/en/"&gt;Selenium WebDriver&lt;/a&gt; and Python.&lt;/p&gt;
&lt;p&gt;Selenium WebDriver is a browser-controlling library, it supports all major browsers and is available for different programming languages including Python. In this, we will use the &lt;a href="https://pypi.org/project/selenium/"&gt;Python bindings&lt;/a&gt; for Selenium WebDriver.&lt;/p&gt;
&lt;h4 id="step-1--install-selenium-and-the-drivers"&gt;Step 1 : Install Selenium and the drivers&lt;/h4&gt;
&lt;p&gt;We need to install Selenium first, run the below command for installing it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install -U selenium
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The next step is install the driver specific for our browser. I am using Firefox and requires &lt;a href="https://github.com/mozilla/geckodriver/releases"&gt;geckodriver&lt;/a&gt;, you can choose your own from this &lt;a href="https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/#download-the-driver"&gt;link&lt;/a&gt;. After downloading the driver, unzip it and put it in your application root folder.&lt;/p&gt;
&lt;h4 id="step-2--create-python-script-and-initialize-webdriver"&gt;Step 2 : Create Python script and initialize WebDriver&lt;/h4&gt;
&lt;p&gt;After that, create a new Python script and initialize the WebDriver with below code.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from selenium import webdriver
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from selenium.webdriver.support.ui import WebDriverWait
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#Site Credinitials
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;username = &amp;#39;test@gmail.com&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;password = &amp;#39;pass&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#Initialize Firefox driver
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver = webdriver.Firefox()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="step-3--input-login-credentials"&gt;Step 3 : Input login credentials&lt;/h4&gt;
&lt;p&gt;Since we are going to make an app which is automating the GitHub login and we need to inspect the login page as shown below.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/github-login-console.png"
 alt="GitHub Login Console"&gt;&lt;figcaption&gt;
 &lt;p&gt;GitHub Login Console&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;From the developer tools, we can see that the username/email input filed has login_field id, where the password input field has the ‘password’ id, also the name of the submit button is &lt;code&gt;‘commit’&lt;/code&gt;. The below code will extract these elements, fill in the credentials, and clicks the button.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# go to github login page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver.get(&amp;#34;https://github.com/login&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# find username field and send the username itself to the input field
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver.find_element_by_id(&amp;#34;login_field&amp;#34;).send_keys(username)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# find password input field and insert password also
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver.find_element_by_id(&amp;#34;password&amp;#34;).send_keys(password)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# click the login button
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver.find_element_by_name(&amp;#34;commit&amp;#34;).click()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The find_element_by_id() will extract the HTML element id and the send_keys() method stimulates keypresses, so the above code will open the Firefox instance and type the username and password, and then click the submit button by using the click() method.&lt;/p&gt;
&lt;h4 id="step-4--validating-credentials-and-login-to-the-website"&gt;Step 4 : Validating credentials and login to the website&lt;/h4&gt;
&lt;p&gt;After inputting the credentials, we need to find out whether our login is successful or not, for a simple method, we will look at some error message upon the login. Of course, the id and the error messages will be different for every website.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/github-error-message.png"
 alt="GitHub Error Message"&gt;&lt;figcaption&gt;
 &lt;p&gt;GitHub Error Message&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;As the above image shows we can see a new HTML div element with the class &lt;code&gt;'flash-error'&lt;/code&gt; that has the text of &amp;lsquo;Incorrect username or password.&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;The below code is responsible for waiting for the page to be loaded with WebDriverWait(), and checks for the error:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# wait the ready state to be complete
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WebDriverWait(driver=driver, timeout=10).until(
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; lambda x: x.execute_script(&amp;#34;return document.readyState === &amp;#39;complete&amp;#39;&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;website_error_message = &amp;#39;Incorrect username or password.&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# get the errors (if there are)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;errors = driver.find_elements_by_class_name(&amp;#34;flash-error&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# if we find that error message within errors, then login is failed
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if any(website_error_message in e.text for e in errors):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; print(&amp;#34;Error : Login failed&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;else:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; print(&amp;#34;Success : Login successful&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We use WebDriverWait to wait until the document is finished loading, the &lt;code&gt;execute_script()&lt;/code&gt; method executes Javascript in the context of the browser, the JS code &lt;code&gt;return document.readyState.complete'&lt;/code&gt; returns &lt;code&gt;True&lt;/code&gt; when the page is loaded, and &lt;code&gt;False&lt;/code&gt; otherwise.&lt;/p&gt;
&lt;p&gt;After that we can close the driver:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# close the driver
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;driver.close()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="conclusion"&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;With the above code now we can automatically to the website of your choice. Note that the login process will differ from one website to another, but the above will give a guideline to automate the login process of your target website.&lt;/p&gt;</description></item><item><title>രാത്രിമഞ്ഞകൾ</title><link>https://www.binovarghese.com/ml/2021/mar/yellow-nights/</link><pubDate>Wed, 31 Mar 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/mar/yellow-nights/</guid><description>&lt;p&gt;വൈകുന്നേരങ്ങളിലെ വിജനമായ&lt;br&gt;
തെരുവിൽ ഞാൻ&lt;br&gt;
പൊടുന്നുടനെയുള്ള തിരിവിൽ&lt;br&gt;
കണ്ടുമുട്ടുന്ന പൂമരങ്ങളുണ്ട്.&lt;/p&gt;
&lt;p&gt;മഞ്ഞവെളിച്ചത്തിൽ&lt;br&gt;
പൂത്തുനിൽക്കുന്ന ചുമന്നപൂക്കൾ.&lt;br&gt;
നിമിഷാർദ്ധംകൊണ്ട് ഞാൻ&lt;br&gt;
ഓർമ്മകളുടെ കാറ്റിൽ&lt;br&gt;
ആടിയുലഞ്ഞ് പോകുന്നു.&lt;/p&gt;
&lt;p&gt;നാം നടന്ന വഴികൾ,&lt;br&gt;
നീ ചൂടിയ പൂക്കൾ,&lt;br&gt;
നമ്മുടെ രാത്രിമഞ്ഞകൾ.&lt;/p&gt;
&lt;p&gt;നീയോർമ്മകളാൽ ആളിയ&lt;br&gt;
ഞാൻ, നിലാവിൽ നിന്നിൽ&lt;br&gt;
ചേരാതെ മരണപ്പെട്ടയെൻ&lt;br&gt;
ചുംബനങ്ങളിലൊന്ന്&lt;br&gt;
പങ്കുവെച്ചു ആ ചുമന്നപൂവിൽ.&lt;/p&gt;
&lt;p&gt;യാത്ര തുടരുന്നു ഞാൻ,&lt;br&gt;
ചുമന്നപൂക്കൾ ബാക്കിനിൽക്കെ&lt;br&gt;
നിൻ മഞ്ഞവെളിച്ചത്തിലേക്ക്.&lt;/p&gt;</description></item><item><title>കൂട്ട്</title><link>https://www.binovarghese.com/ml/2021/mar/book-koottu/</link><pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/mar/book-koottu/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2021/book-koottu.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;അന്നൊരു വൈകുന്നേരത്തെ ധ്യാനപ്രസംഗത്തിലാണ് ആ കപ്പൂച്ചിൻ ശാന്തമായി എന്നിലേക്ക് നടന്നുവന്നത്. പതിഞ്ഞ സ്വരത്തിൽ പകർന്നുതന്ന ചിന്തകൾകൊണ്ട് എൻറെ കണ്ണുകളെയും ഹൃദയത്തെയും ആദ്യമായി ഒരു വൈദികൻ കണ്ണീരിലാഴ്ത്തി.&lt;/p&gt;
&lt;p&gt;അങ്ങനെയാണ് ബോബി ജോസ് കട്ടിക്കാട് എന്ന കപ്പൂച്ചിനെ ആദ്യമായി ഞാൻ കേൾക്കുന്നതും കാണുന്നതും. അതിനുശേഷം ഒരു നിയോഗം പോലെ ഈ പുസ്തകം എന്നെ തേടി വരികയായിരുന്നു - കൂട്ട്.&lt;/p&gt;
&lt;p&gt;സ്നേഹത്തെക്കുറിച്ചും സൗഹൃദത്തെക്കുറിച്ച് പ്രണയത്തെക്കുറിച്ചും ഇത്രമേൽ സന്തോഷിപ്പിക്കുകയും കരയിപ്പിക്കുകയും,
അതിനുമപ്പറം ചിന്തിപ്പിക്കുകയും ചെയ്ത് വേറൊരു പുസ്തകം ഞാനിതുവരെ വായിച്ചിട്ടില്ല.&lt;/p&gt;
&lt;p&gt;ജീവിതം ഒരുവനോട് കാട്ടാവുന്ന ഏറ്റവും വലിയ കനിവ് ആത്മസൗഹൃദത്തിൻറെ കൂട്ടാണെന്ന് ഇതിന്റെ താളുകൾ നിങ്ങളോട് ഉറക്കെ പറയും. സൗഹൃദത്തിൻറെ നാനാവശങ്ങൾ ധ്യാനിക്കുവാനും സ്നേഹിക്കപ്പെടാതെ പോയ എൻറെ സ്നേഹമെയെന്ന് ഓർത്തു വിലപിക്കാനും പ്രണയത്തിന്റെ വാൾ ഹൃദയത്തിൽ താഴ്ത്തുവാനും ഈ പുസ്തകങ്ങൾ നിങ്ങൾക്ക് വഴി പറഞ്ഞു തരും.&lt;/p&gt;
&lt;p&gt;ഈ പുസ്തകത്തിൽ ഇങ്ങനെ പറയുന്നു, ‘കൂടുതൽ സ്നേഹിച്ചതു കൊണ്ട് കൂടുതലായ പാളിച്ചകൾക്ക് പരിഹാരം ചെയ്യുക എന്നൊരു വഴിയെ ഇനി ഭൂമിയുടെ മുൻപിലുള്ളു. ഒരേയൊരു കല്‌പന - സ്നേഹം. അങ്ങനെയെങ്കിൽ ഒരേയൊരു പാപമേയുള്ളൂ - സ്നേഹലഘനം.&amp;rsquo; ഇത്രനാൾ ഞാൻ ചെയ്തതെല്ലാം സ്നേഹപൂർവ്വമായിരുന്നോയെന്ന് സ്വയം ചോദിക്കുവാനുള്ള വെളിച്ചമിത് പകരും.&lt;/p&gt;
&lt;p&gt;കൂട്ടിന്റെ നിലാവെട്ടം വീണ ചെറുകുറിപ്പുകൾ നിറഞ്ഞ ഈ പുസ്തകം വായിക്കുമ്പോൾ നാം അസീസിയിലെ ഫ്രാൻസിസ് തൊട്ട് മാഗിവരെയുള്ളവരുടെ കഥകളാൽ ജ്ഞാനസ്നാനപ്പെടും. ആമുഖത്തിൽ പറയുന്നതുപോലെ ഒരിക്കൽ മുങ്ങിനിവർന്ന നദിയിലല്ല വീണ്ടും മുങ്ങുന്നതെന്ന് ഓർമ്മിപ്പിച്ചുകൊണ്ടായിരിക്കും ഇതിലെ ഓരോ പുറവും നമ്മുടെ വേരുകളെ നനക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;വായിച്ചു തീർത്തിട്ടും, ഇടക്കിടെ എടുത്ത് പിന്നെയും പിന്നെയും വായിച്ച് സ്വയം ധ്യാനത്തിലാഴാൻ ഇതിനോളം നല്ലൊരു സൗഹൃദമില്ല.&lt;/p&gt;
&lt;p&gt;കപ്പൂച്ചിയന്റെ സൗഹൃദത്തിന്റെ പുസ്തകത്തിന് നിറയെ സ്നേഹം നേരുന്നു.&lt;/p&gt;</description></item><item><title>ചിരഞ്ജീവി</title><link>https://www.binovarghese.com/ml/2021/mar/remember-me-after-death/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/mar/remember-me-after-death/</guid><description>&lt;p&gt;ഞാൻ മരിക്കുമ്പോൾ നിങ്ങൾ കരയരുത്.&lt;br&gt;
ജീവിതത്തിൽ നിന്ന് വീണു പോയവനെന്ന്&lt;br&gt;
എന്നെക്കുറിച്ച് വിലപിക്കാൻ പാടില്ല&lt;/p&gt;
&lt;p&gt;മരണത്തിനപ്പുറമള്ള താഴ്‌വരകളിൽ വീണ്ടും&lt;br&gt;
കണ്ട്മുട്ടാമെന്ന് ഞാൻ വാക്ക് തരുന്നില്ല.&lt;br&gt;
മരുഭൂമിയിലെ മഴയായോ, ചിത്രശലഭമായോ ഞാൻ&lt;br&gt;
പുനർജനിക്കുമെന്ന് കരുതുന്നില്ല.&lt;/p&gt;
&lt;p&gt;ഒന്നുമാത്രം നിങ്ങൾ ഓർത്ത്കൊള്ളക,&lt;br&gt;
ഞാൻ പകർന്ന് തന്ന എൻറെ സ്നേഹം.&lt;/p&gt;
&lt;p&gt;അവ നിങ്ങൾ മറ്റുള്ളവരിലേക്ക് പകരുക,&lt;br&gt;
അങ്ങനെ ഞാനൊരു ചിരഞ്ജീവിയാകട്ടെ.&lt;/p&gt;</description></item><item><title>സ്വപ്നസഞ്ചാരി</title><link>https://www.binovarghese.com/ml/2021/mar/be-an-artist/</link><pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/mar/be-an-artist/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2021/be-an-artist1.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;സ്വപ്നങ്ങൾ തേടി ഒരു നീണ്ട യാത്രയുടെ തുടക്കത്തിലാണ് ഞാൻ. ഏതൊരു സ്വപ്നമോഹിയെപ്പോലെയും പാതി വഴി വീണു പോകാൻ സാധ്യതയുള്ള അനന്തമായ യാത്ര.&lt;/p&gt;
&lt;p&gt;കലാകാരൻ. മരണമരെ കലാകരനായി നിലകൊള്ളക. അതാണെന്റെ യാത്രാ ലക്ഷ്യം. &amp;lsquo;Til death, we do art.&amp;rsquo; മരണംവരെ ഞങ്ങൾ കലകൾ ചെയ്യും. ഇടക്കെവിടെയോ വായിച്ചത് ഉള്ളിൽ ഇപ്പോഴും കിടപ്പുണ്ട്.&lt;/p&gt;
&lt;p&gt;ചെറുപ്പത്തിൽ അറിയാതെ ആദ്യം കൂടിയത് വരകളാണ്. ഇടയ്ക്കെവിടെയോ പ്രതിഭയുടെ മിന്നലാട്ടങ്ങൾ ഉള്ളിൽ കാണിച്ചിട്ട് , പൊടുന്നുനെ എനിക്ക് പിടിതരാതെ മറഞ്ഞുകളഞ്ഞു പ്രിയപ്പെട്ട വരകൾ.&lt;/p&gt;
&lt;p&gt;പക്ഷേ ബാല്യത്തിൽ വരകളോടുകൂടിയ വായന മാത്രം എങ്ങും പോയില്ല വായിക്കുമ്പോൾ മാത്രം എനിക്ക് എന്തെന്നില്ലാത്ത ശാന്തതയും സന്തോഷവും ഞാനറിഞ്ഞിരുന്നു. എന്തിന് വേണ്ടിയെന്ന് പോലുമറിയാതെ ഞാൻ വായിക്കാൻ തുടങ്ങി.&lt;/p&gt;
&lt;p&gt;ബാലരമയിൽ തുടങ്ങിയ ആ യാത്ര ഷെർലോക്ക് ഹോംസിലോട്ടും കോട്ടയം പുഷ്പനാഥിലോട്ടും അത് വഴി വാൻ ഗോഗിലോട്ടും മൈക്കലാഞ്ചിലയോട്ടും &lt;a href="https://www.binovarghese.com/ml/2021/sep/mammootty-70/"&gt;മമ്മൂട്ടിയിലോട്ടും&lt;/a&gt; അവിടുന്ന് കൗണ്ട് ഓഫ് മോണ്ടി ക്രിസ്റ്റോയിലോട്ടും ബഷീറിലോട്ടും &lt;a href="https://www.binovarghese.com/ml/2021/mar/book-koottu/"&gt;ബോബി ജോസിലോട്ടും&lt;/a&gt; ഇങ്ങനെ വളർന്ന് പന്തലിച്ചു കൊണ്ടേയിരുന്നു. &lt;a href="https://www.binovarghese.com/common/ml-library/"&gt;പുസ്തകങ്ങളും&lt;/a&gt; സിനിമകളും ചിത്രങ്ങളുമെല്ലാം എന്നിൽ പുതിയൊരു പ്രകാശം തന്നു.&lt;/p&gt;
&lt;p&gt;പിയത്തയും അന്ത്യഅത്താഴവും എന്നെ അൽഭുതപ്പെടുത്തിയപ്പോൾ ബാല്യകാലസഖിയെന്നെ വേദനിപ്പിച്ചു. അതേസമയം ഒരു വടക്കൻ വീരഗാഥയെന്നെ വിസ്മയിപ്പിച്ചു.&lt;/p&gt;
&lt;p&gt;ഒരു കലാകാരനാകാനുള്ള ശ്രമത്തിന്റെ ഭാഗമായി ഇടക്ക് നഷ്ടപ്പെട്ടുപോയ വരകളെ തിരിച്ചുപിടിക്കാൻ പലപ്പോഴും ഞാൻ ശ്രമിച്ചുകൊണ്ടിരുന്നു, അപ്പന്റെ വരകളെന്തോ ഉള്ളിലോട്ട് വഴങ്ങിയില്ല.&lt;/p&gt;
&lt;p&gt;വായന മാത്രം കൂടെ നിന്നു, അങ്ങനെ വായിച്ച് വായിച്ച് ഉള്ളിൽ കൂടിയവയെല്ലാം വാക്കുകളായി കടലാസ്സിൽ പുനർജ്ജനിക്കാൻ ശ്രമിച്ചു പലപ്പോഴും. എന്താണ് എഴുതേണ്ടതെന്നും എങ്ങനെയാണ് എഴുതേണ്ടതെന്നും അറിയാതെ പലപ്പോഴും ഞാൻ വരികൾ കോറിയിട്ടു പലയിടത്തും.&lt;/p&gt;
&lt;p&gt;ജീവിത വഴിത്താരകളിലൂടെ പ്രവാസകാലത്തിൽ വെറുതെ എഴുതിയ ഒരു കഥ, ഏറെക്കുറെ എന്റെ തന്നെ കഥ, മാതൃഭൂമി വെബ്സൈറ്റിൽ വന്നത് അന്നോളം തോന്നിയിട്ടില്ലാത്ത ആത്മവിശ്വാസം ഉള്ളിൽ നിറച്ചു. എന്തുകൊണ്ട് ഇനിയും എഴുതിക്കൂട്ടാ എന്നുള്ള ചിന്തയാണ് വിസ്ബി റ്റെയിൽസ് എന്ന ഇൻസ്റ്റഗ്രാം അക്കൗണ്ടും പിന്നീടുള്ള എന്റെ ബ്ലോഗിനും കാരണം.&lt;/p&gt;
&lt;p&gt;കുറെ &lt;a href="https://www.binovarghese.com/ml-musings/"&gt;കുത്തിക്കുറിക്കലിന്&lt;/a&gt; ശേഷം അങ്ങനെ ഞാൻ അറിയാതെ എന്റെ സ്വപ്നത്തിലേക്കുള്ള വഴിയായി മാറി എന്റെ എഴുത്തുകൾ. പിന്നീട് എഴുതിയതെക്കെയും ആ സ്വപ്നം നേടാനുള്ള ആഗ്രഹത്തിന്റെ ചെറിയ ശ്രമങ്ങളായി മാറി. കഥകളും കവിതകളുമായി ഞാൻ എന്നെതന്നെ എഴുതുകയാണ് ഇപ്പോഴും.&lt;/p&gt;
&lt;p&gt;ഇന്നോളം ഞാൻ എഴുതിയതൊക്കെയും എനിക്ക് വേണ്ടിയായിരുന്നു. എനിക്ക് ഞാൻ തന്ന സമ്മാനങ്ങൾ, സന്തോഷത്തിന്റെ പൊതിക്കെട്ടുകൾ. ഞാനൊരു കലാകരനാകുമെന്ന് എന്നോട് തന്നെ പറയാൻ ഞാൻ കണ്ട്പിടിച്ച മാർഗ്ഗം. നിങ്ങളിൽ ചിലർ എൻറെ ചില കുറിപ്പുകൾ നല്ലതെന്ന് പറയുമ്പോൾ ഞാനത് ഒന്നുകൂടെയെന്നെ ഓർമ്മിപ്പിച്ചു.&lt;/p&gt;
&lt;p&gt;എന്റെ യാത്ര ഞാൻ തുടരുവാണ്, ഇനിയുമെനിക്കെന്നെ കണ്ടെത്തുവാനുണ്ട്. എന്റെ സ്വപ്നങ്ങളിലേക്കുള്ള ദൂരം കുറയുമ്പോൾ ഒരുപക്ഷേ പുസ്തകകെട്ടുകൾക്കിടയിൽ നിങ്ങളെന്റെ പേര് തിരയുമാരിക്കാം. ചിലപ്പോൾ ഈ എഴുത്തുകളും പാതിവഴി എന്നിൽ നിന്നും യാത്ര പറഞ്ഞ് പോകാം. പക്ഷേ ഞാനെന്നെ ഇനിയും ഉരച്ച് മിനുക്കാൻ നോക്കി കൊണ്ടേയിരിക്കും. പുതിയ മാർഗ്ഗം കണ്ടെത്തുവാൻ ശ്രമിച്ച് കൊണ്ടേയിരിക്കും, ഒരുപക്ഷേ ഒരു കലാകാരന്റെ വെളിച്ചമെന്റെ ഉള്ളിലുണ്ടെങ്കിലോ ?!&lt;/p&gt;
&lt;p&gt;അറിയാം, തോറ്റു പോയവരാണ് ഈ യാത്രയിൽ കൂടുതലും. എങ്കിലും അനുഗ്രഹിക്കുക എന്നെ,
സഫലമാകട്ടെയീ സ്വപ്നയാത്ര.&lt;/p&gt;</description></item><item><title>പ്രതീക്ഷ</title><link>https://www.binovarghese.com/ml-musings/2021/dont-lose-hope/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2021/dont-lose-hope/</guid><description>&lt;p&gt;ഇരുട്ടിൽ നിന്ന് ഞാൻ പൊട്ടിക്കരഞ്ഞപ്പോൾ,
കഴുത്തിൽ വെളിച്ചത്തിന്റെ വെള്ളിനൂല് അണിഞ്ഞവൾ പറഞ്ഞു.&lt;/p&gt;
&lt;p&gt;പ്രതീക്ഷ കൈവിടരുത്.&lt;/p&gt;
&lt;p&gt;ഞാൻ പിന്നെയും ഇരുട്ടിലൂടെയും തണുപ്പിലൂടെയും യാത്ര തുടങ്ങി.&lt;/p&gt;</description></item><item><title>ധ്യാനം</title><link>https://www.binovarghese.com/ml/2021/feb/into-the-sea-for-self/</link><pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/feb/into-the-sea-for-self/</guid><description>&lt;p&gt;എൻറെ ഉൾക്കാഴ്ചകൾ&lt;br&gt;
നഷ്ടമാകുമ്പോൾ,&lt;br&gt;
ഋതുക്കളുടെ കാറ്റുവീശുന്ന,&lt;br&gt;
വെളുത്ത പാറക്കൂട്ടങ്ങൾ&lt;br&gt;
അതിരുകാക്കുന്ന കടൽക്കരയിൽ&lt;br&gt;
ഞാനെത്തി നിൽക്കാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;തിരകളില്ലാത്ത നിശബ്ദമായ&lt;br&gt;
കടൽപ്പരിപ്പിലേക്ക് നോക്കിനിൽക്കെ&lt;br&gt;
വെള്ളി വിരിച്ചത്പോൽ&lt;br&gt;
കടലാഴങ്ങളിലേക്ക് വഴി തെളിയാറുണ്ട്.&lt;br&gt;
ഞാനായിത്തീരാൻ ഇനിയുമറിയാനുണ്ട്&lt;br&gt;
ഞാനെന്നെ, &lt;br&gt;
ഉള്ളിലെ ആഴിയിലേക്ക്&lt;br&gt;
യാത്ര തിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ആഴങ്ങളുടെ നൈർമല്യത്തിലേക്ക്&lt;br&gt;
നടന്നു നീങ്ങി ഞാൻ&lt;br&gt;
ധ്യാനത്തിലാഴുമ്പോൾ കടലെന്നെ&lt;br&gt;
ശാന്തമായി മൂടുന്നു. &lt;br&gt;
ഉള്ളിലൊരു മന്ത്രം മാത്രമിനി&lt;br&gt;
&amp;lsquo;സ്വയമറിയുക.&amp;rsquo;&lt;/p&gt;
&lt;p&gt;ആഴിയുടെ മൗനത്തിൽ നിന്ന്&lt;br&gt;
ജ്ഞാനസ്നാനത്തിന്റെ &lt;br&gt;
ഈറനുമായി ഞാൻ&lt;br&gt;
കടലേറി വരുന്നതും കാത്ത്&lt;br&gt;
കാറ്റിപ്പോഴും കാത്തിരിക്കുന്നു.&lt;/p&gt;
&lt;p&gt;വരുന്നു ഞാൻ.&lt;/p&gt;</description></item><item><title>ഇടിമുഴക്കമാകുക</title><link>https://www.binovarghese.com/ml/2021/feb/be-the-sound/</link><pubDate>Tue, 16 Feb 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/feb/be-the-sound/</guid><description>&lt;p&gt;ഇനിയെങ്ങനെ എനിക്ക്&lt;br&gt;
നിശ്ബദനാകാൻ കഴിയും ?!&lt;/p&gt;
&lt;p&gt;വീടില്ലാത്തവന്റെ വഴികളിൽ,&lt;br&gt;
വിശന്ന് മരിച്ചവന്റെ നാട്ടിൽ,&lt;br&gt;
കർഷകരുടെ കണ്ണീർകൊണ്ട്&lt;br&gt;
കോട്ടകൾ പണിതവർക്കിടയിൽ,&lt;br&gt;
ശബ്ദമില്ലാത്ത ദൈവങ്ങൾക്ക് വേണ്ടി&lt;br&gt;
നിശ്ബദമരണമേറ്റവരുടെ ഇടയിൽ,&lt;br&gt;
ഇനിയുമെങ്ങനെ നമുക്ക്&lt;br&gt;
നിശ്ബദരാകാൻ കഴിയും ??&lt;/p&gt;
&lt;p&gt;ഉറക്കെ ഉയരുക നാം&lt;br&gt;
ഇനിയൊന്ന് മാത്രം ലക്ഷ്യം&lt;br&gt;
നിശ്ബദരാക്കപ്പെട്ടവരുടെ&lt;br&gt;
ഇടിമുഴക്കമാകുക നമ്മൾ.&lt;/p&gt;</description></item><item><title>വൃക്ഷമാകുക</title><link>https://www.binovarghese.com/ml/2021/feb/become-a-tree/</link><pubDate>Sat, 13 Feb 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/feb/become-a-tree/</guid><description>&lt;p&gt;കാട് തേടിയുള്ള&lt;br&gt;
യാത്രകളിൽ നാം&lt;br&gt;
പരസ്‌പരം കണ്ടുമുട്ടുന്നതുവരെ&lt;br&gt;
പാതകൾ&lt;br&gt;
അവസാനിക്കാതെയിരിക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;വിജനമായ തെരുവിൽ&lt;br&gt;
നാം കാണുന്ന നിമിഷം&lt;br&gt;
നമ്മൾ ഒന്നുചേർന്നൊരു&lt;br&gt;
ആൽമരങ്ങളാകട്ടെ.&lt;br&gt;
പാതയോരത്ത് തണലായും&lt;br&gt;
കിളികൾക്ക് കൂടായും&lt;br&gt;
തേടിവരുന്നവർക്ക്&lt;br&gt;
ബോധോദയവുമായി&lt;br&gt;
ഞാനും നീയുമിനി&lt;br&gt;
അനന്തകോടി ജൻമം&lt;br&gt;
തളിർത്തു നിൽക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ കാട് തേടിയുള്ള&lt;br&gt;
യാത്രകൾക്കവസാനം&lt;br&gt;
നാമൊരു വൃക്ഷമായി&lt;br&gt;
രൂപപ്പെടട്ടെ.&lt;/p&gt;</description></item><item><title>മഴകൊണ്ട് പൊള്ളലേക്കുമ്പോൾ</title><link>https://www.binovarghese.com/ml/2021/feb/burning-love/</link><pubDate>Tue, 02 Feb 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2021/feb/burning-love/</guid><description>&lt;p&gt;മഴകൊണ്ട് പൊള്ളലേക്കുന്ന&lt;br&gt;
ചില നേരങ്ങളുണ്ട് ഭൂവിൽ.&lt;br&gt;
തണുപ്പായി പെയ്തിരുന്നവൾ&lt;br&gt;
പൊടുന്നുനെ കാലചക്രത്തിൽപ്പെട്ട്&lt;br&gt;
താപം പ്രവഹിക്കുന്ന&lt;br&gt;
നിമിഷങ്ങളാണവ.&lt;/p&gt;
&lt;p&gt;നിശ്ബദമായി മിഴിയടച്ചവ&lt;br&gt;
സ്വീകരിക്കുകയെന്നല്ലാതെ&lt;br&gt;
യാതൊന്നും ചെയ്യാനില്ലാത്ത&lt;br&gt;
ശപിക്കപ്പെട്ട സമയം.&lt;/p&gt;
&lt;p&gt;യാത്രകളുടെയും ഓർമ്മകളുടെയും&lt;br&gt;
മനോഹാരിത ദൗര്‍ഭാഗ്യംകൊണ്ട്&lt;br&gt;
വേദനകളാകുന്ന കാലം.&lt;/p&gt;
&lt;p&gt;പക്ഷേ ഞാനിനിയും വേദനിച്ചേട്ടെ,&lt;br&gt;
എരിഞ്ഞ് പെയ്യുക നീ,&lt;br&gt;
എന്നിലോട്ട് തന്നെ.&lt;/p&gt;
&lt;p&gt;ചൂട് തോരുവോളം ഞാൻ&lt;br&gt;
ഇടനെഞ്ചിൽ കിടത്താം നിന്നെ,&lt;br&gt;
ഒടുവിൽ ശാന്തമായി&lt;br&gt;
ഉണരുക നീ.&lt;/p&gt;
&lt;p&gt;തണുത്ത മഴയായി&lt;br&gt;
വീണ്ടും പൊഴിയാൻ.&lt;/p&gt;</description></item><item><title>Lightbi Theme Parameters</title><link>https://www.binovarghese.com/blog/2021/lightbi-theme-parameters/</link><pubDate>Sun, 17 Jan 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/lightbi-theme-parameters/</guid><description>&lt;p&gt;Below is a list of configurable parameters in the &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;Lightbi theme&lt;/a&gt;, along with descriptions to help you customize your site effectively. You can be adjust the below parameters in your &lt;code&gt;hugo.toml&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id="main-parameters"&gt;Main Parameters&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;homepageLayout&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String (&lt;code&gt;&amp;quot;profile&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;blog&amp;quot;&lt;/code&gt; )&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: To configure the theme for either profile or blog mode. Set&lt;code&gt;homepageLayout = &amp;quot;profile&amp;quot;&lt;/code&gt; for profile mode and &lt;code&gt;homepageLayout = &amp;quot;blog&amp;quot;&lt;/code&gt; for blog mode.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;previewCardImagePlacement&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String (&lt;code&gt;&amp;quot;top&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;middle&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;bottom&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt; )&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Determines where the preview image appears on post cards in lists or summaries. &lt;code&gt;&amp;quot;top&amp;quot;&lt;/code&gt; places the image above the text, &amp;ldquo;middle&amp;rdquo;: Centers the image within the text area, &lt;code&gt;&amp;quot;bottom&amp;quot;&lt;/code&gt; places below the text, and &lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt; hides the preview image entirely.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="profile-mode-parameters"&gt;Profile Mode Parameters&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;profileShortbio&lt;/code&gt;&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: A short description or introduction about yourself. Displayed prominently on the home screen when homepageLayout is set to &lt;code&gt;&amp;quot;profile&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;profilePhoto&lt;/code&gt;&lt;/strong&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Path to your profile image used on the homepage in profile mode. Image should be placed in the &lt;code&gt;assets/img&lt;/code&gt; folder (e.g., assets/img/profile/home-profile-pic.jpg).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="other-parameters"&gt;Other Parameters&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;readingTime&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean (&lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: When set to &lt;code&gt;true&lt;/code&gt;, displays an estimated reading time for each post. This helps readers gauge how long it will take to read the content.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;wordCount&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Enables or disables the word count display for each post. Useful for readers interested in post length.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;hideAuthor&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Controls the visibility of the author information on each post. Set to &lt;code&gt;false&lt;/code&gt; to display the author section or &lt;code&gt;true&lt;/code&gt; to hide it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;tagSubtitle&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Here you can enter the heading for your tag page.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;hidePostImage&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Controls the visibility of the featured image on individual post pages. Set to &lt;code&gt;true&lt;/code&gt; to hide post images or &lt;code&gt;false&lt;/code&gt; to show them.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;useHLJS&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Enables Highlight.js, a JavaScript library for syntax highlighting in code blocks. Set to &lt;code&gt;true&lt;/code&gt; to use Highlight.js for syntax highlighting.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;socialShare&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Adds social sharing buttons to posts, allowing readers to share content on various social media platforms.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;showRelatedPosts&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: When enabled, displays related posts at the bottom of each post to encourage further reading.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;gcse&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Enables Google Custom Search Engine integration for site search functionality. Requires a configured search engine ID.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Lastmod&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Controls whether the &amp;ldquo;Last Modified&amp;rdquo; date is shown on posts, which can be helpful for showing recent updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;rss&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Enables RSS feed generation for the site, making it easy for users to subscribe to your content.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;pagerSize&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Integer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Sets the number of posts displayed per page on list or archive pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;description&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: String&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: A short description of your website that may appear in the metadata or be used for SEO.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;lunrSearch&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: Boolean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt;: Enables Lunr.js search, a client-side search engine, allowing users to search content directly on the site.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These parameters allow for easy customization and control over how your Hugo theme behaves and displays content.&lt;/p&gt;</description></item><item><title>Lightbi - Hugo Theme</title><link>https://www.binovarghese.com/blog/2021/lightbi-blog-theme/</link><pubDate>Sat, 16 Jan 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/lightbi-blog-theme/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/lightbi-home-screen.png"
 alt="Lightbi profile and blog home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Lightbi profile and blog home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Lightbi is a minimal and clean blog theme for Hugo, which is forked from &lt;a href="https://themes.gohugo.io/beautifulhugo/"&gt;Beautiful Hugo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When I created my &lt;a href="https://www.binovarghese.com/ml/"&gt;Malayalam blog&lt;/a&gt; last year in Hugo, I searched for so many themes with the simple card design. But I couldn’t able to find something that matches the design in my mind. So I thought I can take a good theme and modify it the way I want. After that, I found Beautiful Hugo and forked that to develop Lightbi.&lt;/p&gt;
&lt;p&gt;This is a simple personal blog I made with Hugo. It has a blog homepage, content page, an about page, and a 404 page. If you want to learn how to make your own Hugo blog, you can read &lt;a href="https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/"&gt;my blog post&lt;/a&gt; where I show you the steps.&lt;/p&gt;
&lt;h3 id="demo"&gt;Demo&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;😎&lt;a href="https://Lightbi-hugo-theme.netlify.app/"&gt;Lightbi Profile Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🪶&lt;a href="https://lighbi-blog-mode.netlify.app/en/"&gt;Lightbi Blog Mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="screenshots"&gt;Screenshots&lt;/h3&gt;
&lt;p&gt;You can find the screenshots of the theme below:&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_9edd8a0011560de7.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_569581ab298fca41.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_1bd2ce0e92e76e6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_5b0d6ad3142988e2.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_ef8191e5024709ac.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_ff74c770d3220582.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b19997c0b7fba0c.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c73136e6161bd17b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c89038d2ffec25e3.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b3c7bef4d21ec76.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="751"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_361c1973d9ab1b7d.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_f145185c50b3215b.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_32e06e8485ae6e39.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_9f23f33995ca0bfe.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_abf7e3c131ccd922.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1055"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_e9ae99d3b9d6e98f.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_45e72548a92164ba.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_6486ded5ad8a0cde.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c0fd087353c79ecb.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_5305c76b2a1c20f7.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="426"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_4a89079a8dc7225b.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_262a262ddeeb53b8.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_2e5ea18640bebfe0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_211a596b398fb738.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_7348d00e520f7be3.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1112"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_86c8916f517b3b8c.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_afaa955bf82df935.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_25e328bbdb03ecab.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_d730d5a7c12de90f.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_dd1ae8226f1a8930.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;h3 id="features"&gt;Features&lt;/h3&gt;
&lt;p&gt;Below are the features of Lightbi theme.&lt;/p&gt;
&lt;h4 id="general"&gt;General&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Two Modes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profile&lt;/li&gt;
&lt;li&gt;Blog&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Two Main Content Sections:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blog&lt;/li&gt;
&lt;li&gt;Notes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Built with a &lt;strong&gt;mobile-first approach&lt;/strong&gt; for seamless viewing on any device.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Card-Based Theme&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Flexible image placement options:
&lt;ul&gt;
&lt;li&gt;Image at the top of the card&lt;/li&gt;
&lt;li&gt;Image in the middle of the card&lt;/li&gt;
&lt;li&gt;Image at the bottom of the card&lt;/li&gt;
&lt;li&gt;No image option&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Image Gallery&lt;/strong&gt;&lt;br&gt;
  You can add multiple images to your post and display them beautifully as a gallery.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Menu Location Indicator&lt;/strong&gt;:&lt;br&gt;
Clear visual cues for active menu items.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multilingual Support&lt;/strong&gt;:&lt;br&gt;
Includes a &lt;strong&gt;language selector&lt;/strong&gt; for easy switching between languages.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Taxonomies&lt;/strong&gt;:&lt;br&gt;
Organize content effectively with customizable tags and categories.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Search Functionality&lt;/strong&gt;:&lt;br&gt;
Integrated search option for quick content access.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Light/Dark Theme&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatic theme switching&lt;/strong&gt; based on browser preferences.&lt;/li&gt;
&lt;li&gt;Includes a manual &lt;strong&gt;theme-switch button&lt;/strong&gt; for user control.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Google Analytics Integration&lt;/strong&gt;:&lt;br&gt;
Track user activity with built-in support for Google Analytics.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SEO-Friendly&lt;/strong&gt;:&lt;br&gt;
Optimized for search engines to improve visibility.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Commit SHA in Footer&lt;/strong&gt;:&lt;br&gt;
Display the current &lt;strong&gt;commit SHA&lt;/strong&gt; for version tracking.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Self-Hosted Assets&lt;/strong&gt;:&lt;br&gt;
Compliant with &lt;strong&gt;GDPR / EU-DSGVO&lt;/strong&gt; regulations by hosting all assets locally.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bootstrap Icons&lt;/strong&gt;:&lt;br&gt;
Beautiful, lightweight icons integrated with &lt;strong&gt;Bootstrap Icons&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="page"&gt;Page&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Other Posts suggestion below a post.&lt;/li&gt;
&lt;li&gt;Social-Media Share buttons on posts.&lt;/li&gt;
&lt;li&gt;Syntax highlighting.&lt;/li&gt;
&lt;li&gt;Cover image for each post (with Responsive image support).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="configurations"&gt;Configurations&lt;/h3&gt;
&lt;h4 id="select-theme-mode"&gt;Select theme mode&lt;/h4&gt;
&lt;p&gt;To configure the theme for either profile or blog mode, add the following under the params section in your hugo.toml file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;homepageLayout = &amp;quot;profile&amp;quot;&lt;/code&gt; for profile mode&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;homepageLayout = &amp;quot;blog&amp;quot;&lt;/code&gt; for blog mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="card-based-theme"&gt;Card based theme.&lt;/h4&gt;
&lt;p&gt;To customize the image placement within a card, the Lightbi theme offers four flexible options.
To configure this, use the &lt;code&gt;previewCardImagePlacement&lt;/code&gt; parameter in the &lt;code&gt;hugo.toml&lt;/code&gt; file. Set it as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For the image at the top: &lt;code&gt;previewCardImagePlacement = &amp;quot;top&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For the image in the middle: &lt;code&gt;previewCardImagePlacement = &amp;quot;middle&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For the image at the bottom: &lt;code&gt;previewCardImagePlacement = &amp;quot;bottom&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For no image: &lt;code&gt;previewCardImagePlacement = &amp;quot;none&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details about parameters you can check &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-theme-parameters/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="other-links"&gt;Other links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🚹 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo-demo"&gt;Profile Demo repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📝 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo-blog-mode"&gt;Blog Demo repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐛 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/issues"&gt;Bug reports &amp;amp; Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;💡 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/discussions"&gt;Questions &amp;amp; feature requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/wiki"&gt;Lightbi wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🕸️ &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/wiki/Websites-built-with-Lightbi"&gt;Websites built with Lightbi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="screenshots-1"&gt;Screenshots&lt;/h4&gt;
&lt;p&gt;You can find the screenshots of the theme below:&lt;/p&gt;
&lt;h5 id="v1-gallery"&gt;V1 Gallery&lt;/h5&gt;
&lt;p&gt;The below screenshots are from the first version of Lightbi and keeping here just for reference.&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/1.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_9fa2b1b8307b882f.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_df7af6a576564815.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_5ef76d3634d3a14e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_f80d92fff689d7b8.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_f397d6b9e521cf4c.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_f80d92fff689d7b8.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/1_hu_ac5bd2cadd4db48f.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="427"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v1/1.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/2.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_2be48f8ee675f5d4.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_dc2ec2e621c86ec0.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_a8a1ff20e20dec2.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_f7a5cf846c2f9e7f.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_46147bcc11e880a2.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_f7a5cf846c2f9e7f.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/2_hu_dd8e9a2acbce28cb.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="447"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v1/2.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/3.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_4982c20522e17d44.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_5a0f0ef906a88bc7.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_4fea9bbfaeebf979.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_57d95c14939e3721.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_b5d8469931d1dda2.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_57d95c14939e3721.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/3_hu_85d5dee5d7f535f2.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="473"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v1/3.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/4.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_3079faf9e2bc0e15.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_eaccb70ecb2ca50b.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_7eb9ad8436ad570b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_27bf6333bc0a720c.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_5c5ed9a7e820ca08.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_27bf6333bc0a720c.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/4_hu_c31c8bacb27050c1.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="477"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v1/4.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/5.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_2dc9f8f23f0ba37f.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_2ae0ac4cd530a4b1.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_9f4dd82133aa0732.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_248e2135122a265a.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_95b71d387edd5d46.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_248e2135122a265a.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v1/5_hu_1eb6b648e693987d.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="399"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v1/5.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;p&gt;This theme is designed to help you build amazing websites with ease. I would love to hear your feedback and see your creations. Please share this theme with your network and let your friends know about it. Also, don&amp;rsquo;t forget to star this repo 🌟 and contribute with your pull requests.&lt;/p&gt;</description></item><item><title>Lightbi Hugo Theme</title><link>https://www.binovarghese.com/projects/themes/lightbi/</link><pubDate>Sat, 16 Jan 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/projects/themes/lightbi/</guid><description>&lt;p&gt;Lightbi is a modern, elegant Hugo theme focused on readability, performance, and content-first design. It offers a clean, minimal experience for personal blogs, digital gardens, and long form writing, with two homepage modes, Profile for personal introductions and Blog for content driven sites, plus responsive layouts and light/dark mode support.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/lightbi-home-screen.png"
 alt="Lightbi profile and blog home page"&gt;&lt;figcaption&gt;
 &lt;p&gt;Lightbi profile and blog home page&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="demo--github"&gt;Demo &amp;amp; GitHub&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;😎&lt;a href="https://Lightbi-hugo-theme.netlify.app/"&gt;Lightbi Profile Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🪶&lt;a href="https://lighbi-blog-mode.netlify.app/en/"&gt;Lightbi Blog Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📁&lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="screenshots"&gt;Screenshots&lt;/h3&gt;
&lt;p&gt;You can find the screenshots of the theme below:&lt;/p&gt;



&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_9edd8a0011560de7.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_569581ab298fca41.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_1bd2ce0e92e76e6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_5b0d6ad3142988e2.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_bb05d33099f342a2.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/1_hu_ef8191e5024709ac.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/1.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_ff74c770d3220582.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b19997c0b7fba0c.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c73136e6161bd17b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_c89038d2ffec25e3.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_e82fa5a2047625d6.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/2_hu_6b3c7bef4d21ec76.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="751"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/2.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_361c1973d9ab1b7d.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_f145185c50b3215b.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_32e06e8485ae6e39.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_9f23f33995ca0bfe.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_e48866bd89b89b91.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/3_hu_abf7e3c131ccd922.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1055"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/3.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_e9ae99d3b9d6e98f.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_45e72548a92164ba.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_6486ded5ad8a0cde.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c0fd087353c79ecb.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_c86d1b53cab2a247.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/4_hu_5305c76b2a1c20f7.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="426"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/4.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_4a89079a8dc7225b.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_262a262ddeeb53b8.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_2e5ea18640bebfe0.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_211a596b398fb738.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_af0f9a4a59dd628.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/5_hu_7348d00e520f7be3.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1112"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/5.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_86c8916f517b3b8c.webp 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_afaa955bf82df935.webp 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_25e328bbdb03ecab.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png"
 srcset="
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_d730d5a7c12de90f.png 400w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_8aa9ccab0c9b101c.png 700w,
 /img/blog/2021/lightbi-blog-theme/gallery-v2/6_hu_dd1ae8226f1a8930.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="750"
 class="img-fluid rounded mb-2"
 alt="/img/blog/2021/lightbi-blog-theme/gallery-v2/6.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;

&lt;h3 id="features"&gt;Features&lt;/h3&gt;
&lt;p&gt;Below are the features of Lightbi theme.&lt;/p&gt;
&lt;h4 id="general"&gt;General&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Two Modes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profile&lt;/li&gt;
&lt;li&gt;Blog&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Two Main Content Sections:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blog&lt;/li&gt;
&lt;li&gt;Notes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Built with a &lt;strong&gt;mobile-first approach&lt;/strong&gt; for seamless viewing on any device.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Card-Based Theme&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Flexible image placement options:
&lt;ul&gt;
&lt;li&gt;Image at the top of the card&lt;/li&gt;
&lt;li&gt;Image in the middle of the card&lt;/li&gt;
&lt;li&gt;Image at the bottom of the card&lt;/li&gt;
&lt;li&gt;No image option&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Image Gallery&lt;/strong&gt;&lt;br&gt;
  You can add multiple images to your post and display them beautifully as a gallery.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Menu Location Indicator&lt;/strong&gt;:&lt;br&gt;
Clear visual cues for active menu items.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multilingual Support&lt;/strong&gt;:&lt;br&gt;
Includes a &lt;strong&gt;language selector&lt;/strong&gt; for easy switching between languages.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Taxonomies&lt;/strong&gt;:&lt;br&gt;
Organize content effectively with customizable tags and categories.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Search Functionality&lt;/strong&gt;:&lt;br&gt;
Integrated search option for quick content access.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Light/Dark Theme&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatic theme switching&lt;/strong&gt; based on browser preferences.&lt;/li&gt;
&lt;li&gt;Includes a manual &lt;strong&gt;theme-switch button&lt;/strong&gt; for user control.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Google Analytics Integration&lt;/strong&gt;:&lt;br&gt;
Track user activity with built-in support for Google Analytics.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SEO-Friendly&lt;/strong&gt;:&lt;br&gt;
Optimized for search engines to improve visibility.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Commit SHA in Footer&lt;/strong&gt;:&lt;br&gt;
Display the current &lt;strong&gt;commit SHA&lt;/strong&gt; for version tracking.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Self-Hosted Assets&lt;/strong&gt;:&lt;br&gt;
Compliant with &lt;strong&gt;GDPR / EU-DSGVO&lt;/strong&gt; regulations by hosting all assets locally.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bootstrap Icons&lt;/strong&gt;:&lt;br&gt;
Beautiful, lightweight icons integrated with &lt;strong&gt;Bootstrap Icons&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="page"&gt;Page&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Other Posts suggestion below a post.&lt;/li&gt;
&lt;li&gt;Social-Media Share buttons on posts.&lt;/li&gt;
&lt;li&gt;Syntax highlighting.&lt;/li&gt;
&lt;li&gt;Cover image for each post (with Responsive image support).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="configurations"&gt;Configurations&lt;/h3&gt;
&lt;h4 id="select-theme-mode"&gt;Select theme mode&lt;/h4&gt;
&lt;p&gt;To configure the theme for either profile or blog mode, add the following under the params section in your hugo.toml file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;homepageLayout = &amp;quot;profile&amp;quot;&lt;/code&gt; for profile mode&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;homepageLayout = &amp;quot;blog&amp;quot;&lt;/code&gt; for blog mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="card-based-theme"&gt;Card based theme.&lt;/h4&gt;
&lt;p&gt;To customize the image placement within a card, the Lightbi theme offers four flexible options.
To configure this, use the &lt;code&gt;previewCardImagePlacement&lt;/code&gt; parameter in the &lt;code&gt;hugo.toml&lt;/code&gt; file. Set it as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For the image at the top: &lt;code&gt;previewCardImagePlacement = &amp;quot;top&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For the image in the middle: &lt;code&gt;previewCardImagePlacement = &amp;quot;middle&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For the image at the bottom: &lt;code&gt;previewCardImagePlacement = &amp;quot;bottom&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For no image: &lt;code&gt;previewCardImagePlacement = &amp;quot;none&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details about parameters you can check &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-theme-parameters/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="other-links"&gt;Other links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🚹 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo-demo"&gt;Profile Demo repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📝 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo-blog-mode"&gt;Blog Demo repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐛 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/issues"&gt;Bug reports &amp;amp; Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;💡 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/discussions"&gt;Questions &amp;amp; feature requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/wiki"&gt;Lightbi wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🕸️ &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo/wiki/Websites-built-with-Lightbi"&gt;Websites built with Lightbi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This theme is designed to help you build amazing websites with ease. I would love to hear your feedback and see your creations.&lt;/p&gt;</description></item><item><title>Build Your First Blog in Hugo</title><link>https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/</link><pubDate>Sat, 09 Jan 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/build-your-first-hugo-blog/</guid><description>&lt;h3 id="hugo"&gt;Hugo?&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; is a fast and static website generator written in the Go language. Websites built with Hugo can be hosted anywhere from GitHub Pages to Amazon S3 without any database or other language dependencies.&lt;/p&gt;
&lt;p&gt;I first started using Hugo for my Malayalam write-ups blog, Wizbi Tales (which has since been shut down and moved to this &lt;a href="https://www.binovarghese.com/ml/"&gt;website&lt;/a&gt;). Malayalam is a language spoken in Kerala, India. After overcoming the initial learning curve, I appreciated Hugo for its simplicity and performance. When I started this blog, I didn&amp;rsquo;t have to think twice about using it.&lt;/p&gt;
&lt;p&gt;Okay, Now let&amp;rsquo;s dive to the steps for creating a blog in Hugo. The below section shows how to install Hugo in Windows and develop a blog in it.&lt;/p&gt;
&lt;h4 id="create-your-directories"&gt;Create Your Directories&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Open Windows explorer&lt;/li&gt;
&lt;li&gt;Create a new folder &lt;code&gt;C:\Hugo&lt;/code&gt;, you can create anywhere the same.&lt;/li&gt;
&lt;li&gt;Create a subfolder in the Hugo folder &lt;code&gt;C:\Hugo\bin&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="install-hugo"&gt;Install Hugo&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Go to Hugo releases (&lt;a href="https://github.com/gohugoio/hugo/releases/"&gt;https://github.com/gohugoio/hugo/releases/&lt;/a&gt;) and download the latest Hugo executable.&lt;/li&gt;
&lt;li&gt;Extract all the contents to your &lt;code&gt;..\Hugo\bin&lt;/code&gt; folder which is created before.&lt;/li&gt;
&lt;li&gt;After that you need to open the command prompt and add &lt;code&gt;hugo.exe&lt;/code&gt; executable to your PATH variable, for that use the command &lt;code&gt;setx PATH &amp;quot;%PATH%;C:\Hugo\bin&amp;quot;&lt;/code&gt;. Remember to open the command prompt as an administrator.&lt;/li&gt;
&lt;li&gt;Else you can go directly to the Environment Variables from the start menu and add the &lt;code&gt;C:\Hugo\bin&lt;/code&gt; in your PATH variable.&lt;/li&gt;
&lt;li&gt;To check the installation is a success you can type &lt;code&gt;hugo help&lt;/code&gt; in your command prompt, you should see an output start like&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/hugo-help-command.png"
 alt="Hugo help in Command Prompt"&gt;&lt;figcaption&gt;
 &lt;p&gt;Hugo in Command Prompt&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id="create-a-hugo-site"&gt;Create a Hugo Site&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Go to your directory (let&amp;rsquo;s assume its as HugoSites) where you want to create the hugo site and run the command &lt;code&gt;hugo new site newblog&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/hugo-new-site-newblog.png"
 alt="create new blog"&gt;
&lt;/figure&gt;

&lt;ol start="2"&gt;
&lt;li&gt;In the HugoSite now you should have a directory like below:&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/hugo-folder.png"
 alt="Hugo Folder"&gt;
&lt;/figure&gt;

&lt;h4 id="pick-a-theme"&gt;Pick a Theme&lt;/h4&gt;
&lt;p&gt;In Hugo, there is no default theme so you should select your own from &lt;a href="https://themes.gohugo.io/"&gt;Hugo Themes&lt;/a&gt;. Here I am using my theme &lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme/"&gt;Lightbi&lt;/a&gt;, it&amp;rsquo;s my personal preference, you can choose whichever you want.&lt;/p&gt;
&lt;p&gt;You can go to the GitHub and download the &lt;a href="https://github.com/binokochumolvarghese/lightbi-hugo"&gt;theme&lt;/a&gt;, you may avoid the cloning from GitHub as you are sure you needed to tweak it later. So after downloading, unzip it into the theme folder &lt;code&gt;.\HugoSites\newblog\themes&lt;/code&gt; Change the folder name from &lt;code&gt;lightbi-hugo-main&lt;/code&gt; to &lt;code&gt;lightbi-hugo&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;After that copy the contents from the content folder from path &lt;code&gt;(..\themes\lightbi-hugo\exampleSite\content)&lt;/code&gt; paste it to the content folder into &lt;code&gt;\newblog\content\&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id="modify-configuration"&gt;Modify Configuration&lt;/h4&gt;
&lt;p&gt;In the &lt;code&gt;exampleSite&lt;/code&gt; folder there is also a config file named &lt;code&gt;hugo.toml&lt;/code&gt;, copy the same and paste it in the &lt;code&gt;newblog&lt;/code&gt; folder. There are a lot of parameters in the config file, but you don&amp;rsquo;t need to modify any of them now. If you need you can check in later.&lt;/p&gt;
&lt;p&gt;Make sure that the extracted folder name as &lt;code&gt;lightbi-hugo&lt;/code&gt; which should be same as the parameter &lt;code&gt;theme = &amp;quot;lightbi-hugo&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Your Hugo website is almost ready, to see the same in browser run &lt;code&gt;hugo server&lt;/code&gt; in command prompt. You can see the localhost link in the command prompt where your website is running, mostly it will run on &lt;code&gt;1313&lt;/code&gt; port.&lt;/p&gt;
&lt;p&gt;Open the browser and go to &lt;code&gt;http://localhost:1313/&lt;/code&gt;, to view the site live.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/hugo-blog-browser.png"
 alt="Hugo Live Site"&gt;
&lt;/figure&gt;

&lt;h4 id="create-a-post"&gt;Create a post&lt;/h4&gt;
&lt;p&gt;In the browser, you&amp;rsquo;ll see a list of blog posts copied from the &lt;code&gt;exampleSite&lt;/code&gt; content folder. You can edit the markdown files in the &lt;code&gt;..\\newblog\\content\\post&lt;/code&gt; directory or add a new one.&lt;/p&gt;
&lt;p&gt;By opening and editing any pre-existing file, you&amp;rsquo;ll see the changes reflected in your browser after saving it. Alternatively, create a new file within the &lt;code&gt;content&lt;/code&gt; folder to add new content.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/first-post-vs.png"
 alt="First post"&gt;
&lt;/figure&gt;

&lt;p&gt;After saving the document you can view the post in the website as below. You can add or edit your contents as per you requirment and Hugo will automatically update with the new content.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/first-post.png"
 alt="First post"&gt;
&lt;/figure&gt;

&lt;p&gt;For creating a new post, create a new markdown file with &lt;code&gt;.md&lt;/code&gt; extension and insert your contents in it. You can modify the title, subtiltle, date, etc from the &lt;a href="https://gohugo.io/content-management/front-matter/"&gt;Front Matter&lt;/a&gt;. By this way you can add more posts in your blog and create more content.&lt;/p&gt;
&lt;p&gt;If you want to modify your webiste user interface, modify the CSS files in the static folder. Also the templates for the webiste is built with the HTML files in the layout folder. Hugo using Go templates, you can check the details from &lt;a href="https://gohugo.io/templates/introduction/"&gt;here&lt;/a&gt; as it is nicely explained.&lt;/p&gt;
&lt;p&gt;Remember to change the structure of the website you have to edit the files in &lt;code&gt;layouts&lt;/code&gt; folder and to change the CSS and images you can go to assets folder.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/2020/jan/install-hugo/hugo-folder-structure.png"
 alt="hugo-folder-structure"&gt;
&lt;/figure&gt;

&lt;p&gt;Don&amp;rsquo;t bother about the looks now, make your content first, you can tweak the styles later.&lt;/p&gt;
&lt;h3 id="thank-you"&gt;Thank you&lt;/h3&gt;
&lt;p&gt;I hope this little tutorial give you some guidance in installing Hugo and creating a blog in it. After making some contents you can go the offical documentation of Hugo and learn more about the same.&lt;/p&gt;
&lt;p&gt;Keep coding.&lt;/p&gt;</description></item><item><title>Let's Start the Journey</title><link>https://www.binovarghese.com/blog/2021/lets-start/</link><pubDate>Sat, 02 Jan 2021 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blog/2021/lets-start/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/common/about-bino.jpeg"
 alt="Image of Bino"&gt;
&lt;/figure&gt;

&lt;p&gt;I hope this is just the beginning of a long journey.&lt;/p&gt;
&lt;p&gt;As a software developer, I have always learned new things from different sources such as blogs, tutorials, Stack Overflow, and the people around me. I am still in a never-ending learning stage, and I believe that by writing this blog, I can learn and code more. That&amp;rsquo;s why I started this blog.
Through this blog, I can also contribute to the software community by sharing the things I learn. I hope that this blog will be helpful to someone, even atleast to me.&lt;/p&gt;
&lt;p&gt;I welcome everyone to read my blog. I hope this journey lasts forever.&lt;/p&gt;</description></item><item><title>വീണ്ടും പ്രണയത്തിലാകാൻ</title><link>https://www.binovarghese.com/ml-musings/2020/forgetting-you-to-love/</link><pubDate>Thu, 22 Oct 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/forgetting-you-to-love/</guid><description>&lt;p&gt;ഇനി ഞാൻ നിന്നെ മറന്നുകൊള്ളട്ടെ ?&lt;/p&gt;
&lt;p&gt;വീണ്ടും കാണുന്നമാത്രയിൽ അതിഗാഡമായി
പിന്നെയും പ്രണയത്തിലാകാൻ!&lt;/p&gt;</description></item><item><title>മറവികൾ</title><link>https://www.binovarghese.com/ml-musings/2020/oblivion-short/</link><pubDate>Fri, 09 Oct 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/oblivion-short/</guid><description>&lt;p&gt;ഉറക്കമില്ലാത്തവൻ്റെ കട്ടിലിലാണ്
മറവികൾ ദാരുണമായി
കൊലചെയ്യപ്പെടുന്നത്,
പൊടുന്നുടനെയവൻ
ഓർമ്മകളാൽ വേട്ടയാടപ്പെടാൻ
തുടങ്ങുന്നു.&lt;/p&gt;</description></item><item><title>മറവികൾ കൊലചെയ്യപ്പെടുമ്പോൾ</title><link>https://www.binovarghese.com/ml/2020/oct/oblivion/</link><pubDate>Thu, 08 Oct 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/oct/oblivion/</guid><description>&lt;p&gt;ഉറക്കമില്ലാത്തവന്റെ കട്ടിലിലാണ്&lt;br&gt;
മറവികൾ ദാരുണമായി&lt;br&gt;
കൊലചെയ്യപ്പെട്ടത്, പൊടുന്നുടനെയവൻ&lt;br&gt;
ഓർമ്മകളാൽ വേട്ടയാടപ്പെടുന്നു.&lt;/p&gt;
&lt;p&gt;നായാട്ടുകാരന്റെ ഇരയെപ്പോലെ&lt;br&gt;
ഇരുട്ടിന്റെ കയങ്ങളിൽ,&lt;br&gt;
ഓർമ്മകളുടെ ഭാരവുമായിയവൻ&lt;br&gt;
മല്ലിട്ട് പിടയുവാൻ തുടങ്ങുന്നു.&lt;/p&gt;
&lt;p&gt;നേടിയ ഓർമ്മകളെല്ലാം&lt;br&gt;
മരണത്തിനവനെ &lt;br&gt;
ഏൽപ്പിച്ച് കൊടുക്കുവാൻ &lt;br&gt;
പതിയിരിക്കുന്ന രാത്രിയിൽ,&lt;br&gt;
വെളിച്ചം നഷ്ടമായെന്നവൻ&lt;br&gt;
സ്വയമറിയുന്നു.&lt;br&gt;
ദുഖമില്ലായുള്ളിൽ, അല്ലേലും&lt;br&gt;
ഒറ്റക്കായിപ്പോയവൻ എന്തിന്&lt;br&gt;
ദുഖിക്കണം? ശൂന്യതമാത്രം.&lt;/p&gt;
&lt;p&gt;അവന്റെ ഓർമ്മകൾ&lt;br&gt;
ഒറ്റുകാരെന്നറിഞ്ഞ ഇരുട്ടിലവൻ, &lt;br&gt;
കണ്ണുകൾ മുറുക്കിയടക്കുന്നു,&lt;br&gt;
സ്വയമൊരു മറവിയാകാൻ.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ മറവിയായി,&lt;br&gt;
ഓർമ്മകളെ കഴുവിലേറ്റിയവൻ&lt;br&gt;
പ്രതികാരം ചെയ്തു.&lt;/p&gt;</description></item><item><title>രഹസ്യങ്ങൾ</title><link>https://www.binovarghese.com/ml/2020/oct/my-dark-secrets/</link><pubDate>Fri, 02 Oct 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/oct/my-dark-secrets/</guid><description>&lt;p&gt;ഞാൻ നിന്നോട് മാത്രം&lt;br&gt;
പറയുവാനാഗ്രിഹിക്കുന്ന രഹസ്യങ്ങളുണ്ട്.&lt;/p&gt;
&lt;p&gt;ഉള്ളിലെ ഇരുട്ടിൽ ഞാൻ&lt;br&gt;
ഒളിപ്പിച്ചുവെച്ചേക്കുന്ന എൻ്റെ യാഥാർഥ്യങ്ങൾ.&lt;br&gt;
പറയാതിരിക്കുവാൻ വയ്യിനി.&lt;/p&gt;
&lt;p&gt;ഭയമില്ലാത്തവനെന്ന് സധാ പറയുന്ന ഞാൻ&lt;br&gt;
ഭീരുവാനുള്ളിലെന്നും, എൻ്റെ &lt;br&gt;
ഹൃദയകാഠിന്യമൊക്കെയും ഇടനെഞ്ചിന്റെ &lt;br&gt;
വേദനകളാണെന്നും ഞാൻ കുറ്റസമ്മതം&lt;br&gt;
നടത്തുന്നു.&lt;/p&gt;
&lt;p&gt;വെളിച്ചമെന്ന് സ്വയം പറയുന്ന ഞാൻ&lt;br&gt;
ഇരുട്ടിന്റെ ശൂന്യതയിൽ സ്വയം തിരയുകാണിന്നും.&lt;/p&gt;
&lt;p&gt;നേടിയ അറിവുകളൊക്കെയും അപൂർണമെന്ന് &lt;br&gt;
തിരിച്ചറിവിൽ നിസ്സഹായകനായി&lt;br&gt;
നിൽക്കുവാണ് ഞാൻ.&lt;/p&gt;
&lt;p&gt;വാശികളൊക്കെയും വേദനകളും, &lt;br&gt;
പ്രധിഷേധങ്ങളൊക്കെയും മുറിവുകളുമാരുന്നു.&lt;/p&gt;
&lt;p&gt;എല്ലാത്തിൽ നിന്നും മടങ്ങാനൊരു അർദ്ധ-&lt;br&gt;
നിമിഷം തോന്നുമെങ്കിലും&lt;br&gt;
ഉള്ളിലെവിടെയോ പ്രിതിക്ഷകൾ ബാക്കി&lt;br&gt;
നിൽക്കുന്നു.&lt;/p&gt;
&lt;p&gt;അതുമതിയോ എനിക്ക് ഇരുളിൽ നിന്നും&lt;br&gt;
വെളിച്ചത്തിലേക്ക് മടങ്ങാൻ.&lt;/p&gt;
&lt;p&gt;പറയുക നീ.&lt;/p&gt;</description></item><item><title>അനുജന്</title><link>https://www.binovarghese.com/ml/2020/sep/letter-to-brother/</link><pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/sep/letter-to-brother/</guid><description>&lt;p&gt;നിന്നെ തന്ന&lt;br&gt;
അച്ഛക്കും അമ്മക്കും,&lt;br&gt;
ഞാൻ ജ്യേഷ്ട്ടനായ&lt;br&gt;
അനർഘനിമിഷത്തിന്,&lt;br&gt;
നന്ദി.&lt;/p&gt;
&lt;p&gt;നില്ക്കാത്ത സ്നേഹത്തിന്,&lt;br&gt;
സദാ പകരുന്ന പ്രസരപ്പിന്,&lt;br&gt;
ഉള്ളിലെ നൻമക്ക് ,&lt;br&gt;
സ്നേഹം.&lt;/p&gt;
&lt;p&gt;എല്ലാത്തിനുമപ്പറം അമ്മയുടെ&lt;br&gt;
ഏറ്റവും പ്രിയപ്പെട്ട മകനായതിന്,&lt;br&gt;
അച്ഛയുടെ ആൾരൂപമായി&lt;br&gt;
നിലനിൽക്കുന്നതിന്,&lt;br&gt;
എന്റെ അനുജനായതിന്,&lt;br&gt;
ചുംബനം.&lt;/p&gt;</description></item><item><title>ചങ്ങാതി</title><link>https://www.binovarghese.com/ml-musings/2020/god-friend/</link><pubDate>Fri, 14 Aug 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/god-friend/</guid><description>&lt;p&gt;ഒറ്റക്കുള്ള ജീവിതം വല്ലാതെ വേദനിപ്പിച്ചത് കൊണ്ടാവാം ദൈവം ഭൂമിയിൽ ക്രിസ്തുവായും കൃഷ്ണനായും,
നീയായുമൊക്കെ പിന്നെയും പിന്നെയും അവതരിക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;ഒറ്റക്കായിപ്പോയവരുടെ ചങ്ങാതിയാകുക എന്നതല്ലാതെ വേറെയെന്താണ് ദൈവനിയോഗം.&lt;/p&gt;</description></item><item><title>നീലച്ചിറകുകൾ</title><link>https://www.binovarghese.com/ml-musings/2020/green-bottles/</link><pubDate>Fri, 14 Aug 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/green-bottles/</guid><description>&lt;p&gt;ഒഴിഞ്ഞ പച്ചകുപ്പി കാണുമ്പോൾ ഞാൻ ഓർക്കുന്നത് , വേരുകൾ പിറക്കാൻ ഞാൻ കാത്തിരുന്ന പച്ചയും മഞ്ഞയും കലർന്ന എൻ്റെ വള്ളിച്ചെടികളെയാണ്. അരികിലുള്ള നാല്മണിച്ചെടിയുടെ പൂക്കളെയാണ്.&lt;/p&gt;
&lt;p&gt;ഓരോ പ്രഭാതങ്ങളിലും എൻ്റെ സ്വപ്ങ്ങൾക്ക് നീലച്ചിറകുകൾ തുന്നിത്തരാൻ അവ എന്നെയും കാത്ത് ഇപ്പോഴും ആ ജനരികിലുണ്ട്.&lt;/p&gt;</description></item><item><title>ബുദ്ധൻ</title><link>https://www.binovarghese.com/ml/2020/aug/buddha/</link><pubDate>Tue, 11 Aug 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/aug/buddha/</guid><description>&lt;p&gt;അവളെ ചുംബിക്കുന്നതിന്റെ&lt;br&gt;
മൂന്നാമത്തെ നിമിഷത്തിൽ&lt;br&gt;
എന്റെ ഉള്ളിലാരോ&lt;br&gt;
ഇങ്ങനെ പറഞ്ഞു.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;ശംഖിന്റെ പുറം കൗതുകങ്ങളിൽ&lt;br&gt;
മനസ്സ് കുടുങ്ങരുത്.&lt;br&gt;
അതിൽ ഓംകാരമുണ്ട്,&lt;br&gt;
ധ്യാനിക്കുക. &amp;quot;&lt;/p&gt;
&lt;p&gt;ചുംബനത്തിനിടയിൽത്തന്നെ&lt;br&gt;
ഞാൻ കണ്ണ് തുറന്നു.&lt;br&gt;
അവൾ നിന്നടം വെളിച്ചം മാത്രം.&lt;/p&gt;
&lt;p&gt;അടുത്ത നിമിഷമെനിക്ക്&lt;br&gt;
മനസ്സിലായി, വെളിച്ചത്തെയാണ്&lt;br&gt;
ഞാൻ നുകർന്നത്.&lt;/p&gt;
&lt;p&gt;അങ്ങനെ അവളെന്ന വെളിച്ചം&lt;br&gt;
നിറഞ്ഞ ഞാൻ,&lt;br&gt;
ബുദ്ധനായി.&lt;/p&gt;</description></item><item><title>കോറോണകാലം</title><link>https://www.binovarghese.com/ml-musings/2020/covid-truths/</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/covid-truths/</guid><description>&lt;p&gt;ഈ കോറോണകാലത്ത് ആരാധനാലയങ്ങൾ അടച്ചിട്ടപ്പോൾ, ആചാരങ്ങളെ മാറ്റിവെച്ചപ്പോൾ നാം നമ്മോട് തന്നെ പറയുന്നൊരു സത്യമുണ്ട്.&lt;/p&gt;
&lt;p&gt;ദൈവങ്ങളേക്കാൾ മനുഷ്യർക്ക് ആവശ്യം മനുഷ്യരെത്തന്നെയാണെന്നുള്ള സത്യം. മറക്കാതെയിരിക്കട്ടെ നാം ഇനിയൊരിക്കലുമത്.&lt;/p&gt;</description></item><item><title>ചിറകുകൾ</title><link>https://www.binovarghese.com/ml-musings/2020/love-and-wings/</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/love-and-wings/</guid><description>&lt;p&gt;ചുംബിക്കുമ്പോൾ ചിറകുകൾ മുളക്കുന്നതാണ് പ്രണയമെന്ന് ഞാൻ പറയുമ്പോൾ നിങ്ങളെന്നെ കളിയാക്കികൊൾക.&lt;/p&gt;
&lt;p&gt;പക്ഷേ ഇത്രനാൾ പ്രണയിച്ചിട്ടും ചിറകുകൾ മുളക്കാത്ത നിങ്ങളെ ഓർത്താണ് എനിക്ക് വിഷമം.&lt;/p&gt;</description></item><item><title>റാന്തൽ</title><link>https://www.binovarghese.com/ml-musings/2020/light-and-me/</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/light-and-me/</guid><description>&lt;p&gt;ഞാൻ പോകുമ്പോൾ&lt;br&gt;
ഒരു റാന്തൽ കെടാതെ&lt;br&gt;
ഉമ്മറത്ത് തൂക്കിയിടാം.&lt;br&gt;
വൈകുന്നേരങ്ങളിൽ അത്&lt;br&gt;
കാണുമ്പോൾ നീ ഒറ്റക്കല്ലന്ന്&lt;br&gt;
ഓർത്ത്കൊള്ളുക.&lt;/p&gt;</description></item><item><title>നിനക്ക്</title><link>https://www.binovarghese.com/ml/2020/jun/birthday-letter/</link><pubDate>Thu, 25 Jun 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/jun/birthday-letter/</guid><description>&lt;p&gt;നിന്നെ കണ്ട അനർഘ നിമിഷത്തിന്, &lt;br&gt;
ആഴമുള്ള കണ്ണുകളുമായി മുന്നിൽ കൊണ്ടുനിർത്തിയ&lt;br&gt;
കാലത്തിന്റെ ഉർവ്വരതക്ക്,&lt;br&gt;
നിറഞ്ഞ പ്രണയത്തിന്, നന്ദി.&lt;/p&gt;
&lt;p&gt;എന്റെ ഏറ്റവും മികച്ച കേൾവിക്കാരിയായതിന്,&lt;br&gt;
വാക്കുകൾക്ക് ജീവൻ നൽകാൻ പ്രേരിപ്പിച്ചതിന്,&lt;br&gt;
ഇത്രമേൽ വിശ്വസിച്ചതിന്,&lt;br&gt;
നിന്റെ ഉൾക്കരുത്തിന്, സ്നേഹം.&lt;/p&gt;
&lt;p&gt;എല്ലാത്തിനുമപ്പുറം എന്റെ പ്രേമമായതിന്,&lt;br&gt;
മരണത്തിനപ്പുറവും ഒരുമിച്ച് നടക്കാമെന്ന്&lt;br&gt;
വാക്ക് തന്നതിന്,&lt;br&gt;
ഞാനായതിന്, ചുംബനം.&lt;/p&gt;</description></item><item><title>മഴ</title><link>https://www.binovarghese.com/ml/2020/may/rain/</link><pubDate>Fri, 29 May 2020 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/may/rain/</guid><description>&lt;p&gt;ഇനി നമ്മൾ കാണുമ്പോൾ&lt;br&gt;
ഏറെക്കാലത്തിന് ശേഷം&lt;br&gt;
പെയ്യാൻ കാത്തിരുന്ന&lt;br&gt;
മഴ നിറഞ്ഞ് പെയ്യുമാരിക്കും.&lt;/p&gt;
&lt;p&gt;അപ്പോളാ സ്‌കൂൾ വരാന്തയിൽ&lt;br&gt;
ഓടിക്കയറി നിൽക്കണം നമുക്ക്.&lt;br&gt;
നമ്മളെപ്പോലെ തന്നെ&lt;br&gt;
പുതിയ നിറങ്ങൾ വന്നിരിക്കുന്നു,&lt;br&gt;
പഴയാ കെട്ടിടത്തിന്.&lt;/p&gt;
&lt;p&gt;ഞാൻ മലയാളം ക്ലാസ്സിന്&lt;br&gt;
പോകുമ്പോളൊക്കെ&lt;br&gt;
നിൻ്റെ കണ്ണുകൾ ഈ&lt;br&gt;
ജനലവഴി, എന്നോട്&lt;br&gt;
എന്തോ പറയുമായിരുന്നു.&lt;/p&gt;
&lt;p&gt;മഴ തോർന്ന് നിൽക്കുമ്പോൾ&lt;br&gt;
പണ്ട് നമ്മൾ അകന്ന്&lt;br&gt;
നടന്നിരുന്ന,&lt;br&gt;
പള്ളിയുടെ അരികിലൂടെ&lt;br&gt;
ചേർന്ന് നടക്കാമിനി.&lt;/p&gt;
&lt;p&gt;ഇതുവഴി ഞാൻ എൻ്റെ&lt;br&gt;
കൂട്ടുകാരികളോട് മിണ്ടി&lt;br&gt;
നടന്നതിന്, നീയിന്നും&lt;br&gt;
പിണങ്ങാറുണ്ടെന്ന് പറഞ്ഞ്&lt;br&gt;
ചിരിച്ചു നമ്മൾ.&lt;/p&gt;
&lt;p&gt;മഴ പിന്നെയും ആർത്ത്&lt;br&gt;
പെയ്യുന്നു, ഈ വഴിയിലിന്ന്&lt;br&gt;
നമ്മൾ മാത്രം.&lt;br&gt;
കൈയ്യ്ചേർത്ത് പിടിക്ക,&lt;br&gt;
മഴയിലാകെ നനഞ്ഞ്&lt;br&gt;
നടന്ന് തുടങ്ങാം നമുക്കിനി.&lt;/p&gt;</description></item><item><title>സമ്മാനം</title><link>https://www.binovarghese.com/ml/2020/may/gifts/</link><pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/may/gifts/</guid><description>&lt;p&gt;നീ ചോദിച്ചത്ര ചുംബനങ്ങൾ&lt;br&gt;
നിറച്ച് ഞാനൊരു കവിതയെഴുതാം.&lt;br&gt;
എന്നിട്ട് എൻ്റെ ചുവന്നബുക്കിൽ&lt;br&gt;
ഞാനത് സൂക്ഷിച്ച് വെയ്ക്കാം.&lt;/p&gt;
&lt;p&gt;കടലുമാകാശവും താണ്ടി&lt;br&gt;
ഞാൻ വരുന്നതും കാത്ത്&lt;br&gt;
നീയിരിപ്പുണ്ടെന്ന് എനിക്കറിയാം.&lt;/p&gt;
&lt;p&gt;അന്ന് നമ്മൾ കണ്ടുമുട്ടുമ്പോൾ&lt;br&gt;
ചുംബനങ്ങൾ നിറച്ച കവിത&lt;br&gt;
ഞാൻ നിനക്ക് സമ്മാനം തരും.&lt;br&gt;
ആരും കാണാതെ അത് നീ&lt;br&gt;
നിൻ്റെ ഹൃദയത്തിൽ&lt;br&gt;
സൂക്ഷിച്ച് വെയ്ക്കുക.&lt;/p&gt;
&lt;p&gt;ഇത്രനാൾ ഞാൻ എഴുതിയതെല്ലാം&lt;br&gt;
നീയാരുന്നുവെന്ന്,&lt;br&gt;
ആ കവിത നിന്നോട്&lt;br&gt;
രഹ്യസം ചൊല്ലും&lt;/p&gt;
&lt;p&gt;അതറിയുമ്പോൾ നീയെന്നെയൊന്ന്&lt;br&gt;
അമർത്തി കെട്ടിപിടിക്കുക,&lt;br&gt;
നമ്മുടെ വേദനകളുടെ&lt;br&gt;
ഭാരം അലിഞ്ഞ് ഇല്ലാതെയാക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;ചുംബനങ്ങൾ പങ്ക് വെച്ചുകൊണ്ട്&lt;br&gt;
നാം ഇത്രനാൾ കാത്തിരുന്ന&lt;br&gt;
യാത്ര തുടങ്ങാം നമ്മുക്കിനി.&lt;/p&gt;</description></item><item><title>നിങ്ങൾ</title><link>https://www.binovarghese.com/ml/2020/apr/you-peoples/</link><pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/apr/you-peoples/</guid><description>&lt;p&gt;പുതിയ കുറിപ്പുകൾ ഒന്നുമില്ലേയെന്ന്&lt;br&gt;
കുട്ടുകാർ ഇടക്കിടെ ചോദിക്കും.&lt;/p&gt;
&lt;p&gt;ജീവിതഭാരങ്ങളിൽ&lt;br&gt;
വരികൾ മറന്ന്പോയ&lt;br&gt;
കവിതയാണ് ഞാനെന്ന്പ്പറഞ്ഞ്&lt;br&gt;
വെറുതെ പരിഭവിക്കും.&lt;/p&gt;
&lt;p&gt;പക്ഷേയാ ചോദ്യങ്ങൾ&lt;br&gt;
ഇരുട്ടമുറിയുടെ വാതുക്കൽ&lt;br&gt;
തട്ടണ റാന്തൽപ്പോലെയാണ്.&lt;br&gt;
വെളിച്ചമകലെയല്ലെന്ന്&lt;br&gt;
സദാ ഓർമിപ്പിക്കും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ ഞാൻ വീണ്ടും&lt;br&gt;
എൻ്റെ കറുത്തപ്പേനയെടുത്ത്&lt;br&gt;
നിങ്ങളുടെ പേരുകൾ&lt;br&gt;
നിരത്തിയെഴുതും.&lt;/p&gt;
&lt;p&gt;അതുമതി&lt;br&gt;
ഘനീഭവിച്ചു നിന്നുപോയ&lt;br&gt;
ഞാനൊരു നിറഞ്ഞ&lt;br&gt;
മഴയായി പെയ്യാൻ.&lt;/p&gt;</description></item><item><title>ഉള്ളറകൾ</title><link>https://www.binovarghese.com/ml/2020/apr/brokern-heart/</link><pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/apr/brokern-heart/</guid><description>&lt;p&gt;നിങ്ങളെ സ്നേഹിച്ചതുകൊണ്ട്മാത്രം&lt;br&gt;
ഹൃദയം തകർന്നവരുടെ&lt;br&gt;
ഉള്ളിലോട്ട് വീണിട്ടുണ്ടോ ?&lt;/p&gt;
&lt;p&gt;അവരുടെ വേദനകളുടെ &lt;br&gt;
ഉപ്പുവെള്ളത്തിൽ മുങ്ങിചാകാതെ &lt;br&gt;
സൂക്ഷിക്കണം.&lt;br&gt;
ഉള്ളിലെ ദുഃഖങ്ങളിൽപ്പെട്ട് &lt;br&gt;
ഞെരിഞ്ഞമർന്ന് പോകാതെ&lt;br&gt;
നോക്കുകയും വേണം.&lt;/p&gt;
&lt;p&gt;പിന്നെയും അടിയിലോട്ട് &lt;br&gt;
ചെല്ലുമ്പോൾ&lt;br&gt;
അവിടെ ജീവൻ്റെ&lt;br&gt;
തുടിപ്പും മയവും കാണാം,&lt;br&gt;
സ്നേഹത്തിൻ്റെ ഈർപ്പമുള്ളയിടം.&lt;/p&gt;
&lt;p&gt;അതിൽ തൊട്ട് നോക്കുക,&lt;br&gt;
ചോര പൊടിയുന്നുണ്ടാവും&lt;br&gt;
ആ അറകളിൽ.&lt;br&gt;
സൂക്ഷിച്ച് നോക്കിയാൽ&lt;br&gt;
നിങ്ങളുടെ പേര് കാണാമവിടെ.&lt;/p&gt;
&lt;p&gt;ഓരോ തവണ നിങ്ങൾ&lt;br&gt;
വേദനിപ്പിക്കുമ്പോളും&lt;br&gt;
അവിടെയാണവർ ചുംബിക്കുന്നത്.&lt;br&gt;
ആ ചുംബനങ്ങളിലാണ്&lt;br&gt;
നിങ്ങളോടുള്ള സ്നേഹം&lt;br&gt;
പിന്നെയും പിന്നെയും പൂക്കുന്നത്.&lt;/p&gt;</description></item><item><title>പുതുശബ്ദമാകുക</title><link>https://www.binovarghese.com/ml-musings/2020/hope-on-covid/</link><pubDate>Sat, 04 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/hope-on-covid/</guid><description>&lt;p&gt;ആളൊഴിഞ്ഞ നടപ്പാതകളും നിശബ്ദ്ധമായ കളിക്കളങ്ങളും തിരക്കില്ലാത്ത വീഥികളും ഈ കോറോണക്കാലത്ത് എന്നെ ഭയപ്പെടുത്തുന്നു.&lt;/p&gt;
&lt;p&gt;പക്ഷേ അപ്പോൾത്തന്നെ എതിർവശത്തെ ഫ്ലാറ്റിൻ്റെ ബാൽക്കണിയിൽ നിന്ന് കുട്ടികളുടെ ആരവങ്ങൾ ഉയരുമ്പോൾ, എല്ലാ ആപത്തുകാലങ്ങളെപ്പോലെ ഈ കോറോണക്കാലവും നാം കീഴടക്കുമെന്ന് അവർ പറയുന്നുണ്ടെന്ന് തോന്നുന്നു.&lt;/p&gt;
&lt;p&gt;പ്രീതിക്ഷയുടെ പുതുശബ്ദമാകുക നമ്മൾ പരസ്‌പരം.&lt;/p&gt;</description></item><item><title>മുറിവുകൾ</title><link>https://www.binovarghese.com/ml-musings/2019/wounds-and-smell-by-you/</link><pubDate>Fri, 03 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2019/wounds-and-smell-by-you/</guid><description>&lt;p&gt;നീ തന്ന മുറിവുകളിൽ&lt;br&gt;
പൂക്കൾ വിരിയുമ്പോഴും,&lt;br&gt;
നിന്റെ ഗന്ധമായിരിക്കും.&lt;/p&gt;</description></item><item><title>മുറിവുകൾ</title><link>https://www.binovarghese.com/ml-musings/2020/go-forward-warrior/</link><pubDate>Fri, 03 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/go-forward-warrior/</guid><description>&lt;p&gt;നീ നിൻ്റെ മുറിവുകളിൽ സൂക്ഷിച്ച് നോക്കുക, അവിടെ നിനക്ക് നിന്നിലെ യോദ്ധാവിനെ കാണാൻ കഴിയും.&lt;/p&gt;
&lt;p&gt;നീ അവയിൽ ചുംബിക്കുക, ഇനിയും നിനക്ക് മുന്നോട്ട് കുതിക്കാനുള്ള കരുത്ത് തരും അവ.&lt;/p&gt;
&lt;p&gt;കണ്ണുകൾ ഉയർത്തി നീ മുന്നോട്ട് പോകുക.&lt;/p&gt;</description></item><item><title>സ്നേഹിക്കുക</title><link>https://www.binovarghese.com/ml/2020/apr/we-have-to-love/</link><pubDate>Fri, 03 Apr 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/apr/we-have-to-love/</guid><description>&lt;p&gt;ഒരുനാൾ ഞാൻ മരണം പൂകും&lt;br&gt;
പരിഭവം പറയാതെയിരിക്കുകയന്ന്,&lt;br&gt;
അതിനാൽ സ്നേഹിക്കുക നാം&lt;br&gt;
ആഴത്തിൽ വീണ്ടുമാഴത്തിൽ.&lt;/p&gt;
&lt;p&gt;സമയമേറെയുണ്ടെന്ന് നിനക്കാതെ&lt;br&gt;
കൈകോർത്ത് നടക്കാം&lt;br&gt;
ഈ വനങ്ങളിൽ, ഒരുമിച്ചൊഴുകാം&lt;br&gt;
ഈ പുഴകളിൽ ഈ പൂക്കളിൽ.&lt;/p&gt;
&lt;p&gt;രാവിലുറങ്ങുമ്പോഴും &lt;br&gt;
പുലരിയിലുണരുമ്പോളും&lt;br&gt;
കണ്ണിലാഴത്തിൽ കോർത്തിടാം&lt;br&gt;
ചുംബനങ്ങൾ. &lt;br&gt;
പങ്കുവെക്കാം പ്രിയമുള്ളതൊക്കെയും&lt;br&gt;
നമ്മളെ നാം പങ്ക് വെച്ചപോൽ.&lt;/p&gt;
&lt;p&gt;ഒരുനാൾ മരണം കയറിവരും&lt;br&gt;
ഒരുമിച്ച് പാടാം നാമന്നേരവും.&lt;br&gt;
പിരിയുമ്പോൾ ഓർക്കുക&lt;br&gt;
സ്നേഹിക്കുന്നു നാം പരസ്‌പരം&lt;br&gt;
ആഴത്തിൽ വീണ്ടുമാഴത്തിൽ.&lt;/p&gt;</description></item><item><title>ചോദ്യങ്ങൾ</title><link>https://www.binovarghese.com/ml-musings/2020/love-myself/</link><pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/love-myself/</guid><description>&lt;p&gt;ഏറ്റവും ഇഷ്ടമുള്ളതെന്താണ് ?&lt;/p&gt;
&lt;p&gt;എൻ്റെ ഏകാന്തതകൾ, എൻ്റെ ചെടികൾ.&lt;br&gt;
എൻ്റെ നിറങ്ങൾ, എൻ്റെ വരികൾ.&lt;br&gt;
എൻ്റെ തവിട്ട് നിറമുള്ള കണ്ണുകൾ,&lt;br&gt;
എന്നെത്തന്നെ.&lt;/p&gt;</description></item><item><title>പുനർജ്ജനിക്കാറുമുണ്ട്</title><link>https://www.binovarghese.com/ml-musings/2020/memories-and-rebirth/</link><pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/memories-and-rebirth/</guid><description>&lt;p&gt;ഓർമ്മകളിൽ ഇപ്പോഴും ഞാൻ വീണ്ടും വീണ്ടും വേദനിക്കാറുണ്ട്, നീറി നീറി മരിക്കാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;പക്ഷേ പിന്നെയും പിന്നെയും പുനർജ്ജനിക്കാറുമുണ്ട്.&lt;/p&gt;</description></item><item><title>ഏകാന്തതകൾ</title><link>https://www.binovarghese.com/ml/2020/mar/solitude/</link><pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/mar/solitude/</guid><description>&lt;p&gt;ഞാൻ ഏകനായിരിക്കുന്ന മുറി,&lt;br&gt;
ഫാനിൻ്റെ ഇരമ്പലുകൾ.&lt;br&gt;
മേശമേൽ എന്നെ നോക്കി വെറുതെയിരിക്കുന്ന&lt;br&gt;
ലാപ്ടോപ്പും മൊബൈയിലും&lt;br&gt;
അതിൽ കണ്ട് തീരാൻ കഴിയാത്രത്ത&lt;br&gt;
സിനിമകളും പാട്ടുകളും.&lt;/p&gt;
&lt;p&gt;പച്ചകുപ്പിയിലിരിക്കുന്ന വള്ളിച്ചെടികൾ,&lt;br&gt;
ഞാൻ അല്ലാതെയുള്ള ജീവൻ്റെ&lt;br&gt;
ഏക കണികളാണ് അവ.&lt;br&gt;
ആവി പറക്കുന്ന കട്ടൻചായയും പുസ്തകങ്ങളും,&lt;br&gt;
അതിൽ വായിച്ച തീരാത്ത കഥകളും&lt;br&gt;
കണ്ടിട്ടില്ലാത്ത അറിവുകളും.&lt;/p&gt;
&lt;p&gt;എല്ലാ യാത്രക്കും കൂടെ വരുന്ന&lt;br&gt;
നീലബാഗും വാച്ചും.&lt;br&gt;
ജീവിതത്തിന്റെ നേർകാഴ്ചകളുടെ പേഴ്സ്സും,&lt;br&gt;
ഓർമ്മപ്പെടുത്തലുകളുടെ കട്ടിലും അലമാരയും.&lt;/p&gt;
&lt;p&gt;ഇവയെല്ലാം എനിക്ക് കൂട്ടിനുണ്ടെങ്കിലും&lt;br&gt;
എനിക്കിഷ്ട്ടം എൻ്റെ ഏകാന്തതകളെയാണ്.&lt;br&gt;
അവയ്ക്ക് മാത്രം ഞാനൊന്നും&lt;br&gt;
കൊടുത്തതായി ഓർമ്മയില്ല,&lt;br&gt;
എങ്കിലും അവ ഇപ്പോഴും കൂടെ വരുന്നു.&lt;/p&gt;
&lt;p&gt;ഓരോ തവണ വരുമ്പോഴും അവ&lt;br&gt;
പൊതിഞ്ഞ് കൊണ്ടുവന്നതാണ്&lt;br&gt;
ഈ വരികളും വർണങ്ങളും,&lt;br&gt;
പിന്നെ കുറച്ച് വെളിച്ചവും.&lt;/p&gt;
&lt;p&gt;വെളിച്ചം ഞാനെടുത്ത എൻ്റെ&lt;br&gt;
നാല് ചുവരിന്മേൽ തേച്ച് വെക്കാറുണ്ട്.&lt;br&gt;
കണ്ണിൽ ഇരുട്ട് നിറയുമ്പോൾ&lt;br&gt;
അകക്കണ്ണിന് വഴി കാണാൻ.&lt;/p&gt;
&lt;p&gt;വരികൾ ഇവിടെ ഞാൻ&lt;br&gt;
നിങ്ങൾക്ക് വെച്ചിട്ട് പോകുന്നു.&lt;br&gt;
ചിലപ്പോൾ അവ &lt;br&gt;
ഏകാന്തതൾക്ക് വഴിയൊരുക്കും.&lt;br&gt;
മുന്നോട്ടുള്ള യാത്രക്ക് അവ നിങ്ങൾക്ക്&lt;br&gt;
വെളിച്ചം സമ്മാനം തരും.&lt;/p&gt;
&lt;p&gt;വെളിച്ചം പുഞ്ചിരികൾ തരും,&lt;br&gt;
സ്വയമറിഞ്ഞതിൻ്റെ പുഞ്ചിരികൾ.&lt;/p&gt;</description></item><item><title>അടുക്കള</title><link>https://www.binovarghese.com/ml-musings/2020/kitchen-and-mother/</link><pubDate>Sat, 14 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/kitchen-and-mother/</guid><description>&lt;p&gt;ലോകം കാണാൻ ഇറങ്ങുമ്പോൾ&lt;br&gt;
അടുക്കളയിൽ അമ്മയുണ്ടെന്ന് &lt;br&gt;
മറന്ന് പോകരുത് നീ. &lt;br&gt;
അവരുടെ ലോകം നീ മാത്രമായി&lt;br&gt;
ചുരുങ്ങിയത് ഓർത്ത് കൊള്ളുക.&lt;/p&gt;</description></item><item><title>വളപ്പൊട്ടുകൾ</title><link>https://www.binovarghese.com/ml/2020/mar/brokken-bangles/</link><pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/mar/brokken-bangles/</guid><description>&lt;p&gt;ബാല്യത്തിലാണ് ജീവിതത്തിൽ അദ്യമായി ചെപ്പടിവിദ്യകൾ പഠിച്ചത്. വെയിലും മഴയും ഒരുമിച്ച് വന്നാൽ കുറുക്കൻ്റെ കല്യാണമാണെന്ന് തിരിച്ചറിയാനും, ഒറ്റ മൈനയെ കണ്ടാൽ ദുഃഖസൂചനയാണെന്ന് മനസിലാക്കാനും, ദൈവത്തിന് ഫോൺ നമ്പർ ഉണ്ടെന്നും തുടങ്ങി പല വിദ്യകളും പലരിൽ നിന്നും സ്വായത്തമാക്കിയത് ബാല്യത്തിലെ സുന്ദരദിവസങ്ങളിൽ നിന്നാണ്.&lt;/p&gt;
&lt;p&gt;അതിൽ പ്രധാനപ്പെട്ട അറിവായിരുന്നു വളപ്പൊട്ടുകൾ കൊണ്ട് മറ്റുള്ളവരുടെ സ്നേഹമളക്കാൻ പഠിച്ചത്. സ്നേഹമളക്കുന്ന സംഗതി വളരെ വല്യ കാര്യമാണെങ്ങിലും സംഭവം നിസ്സാരമായി ചെയ്യാവുന്നതാണ്. അമ്പലപ്പറമ്പിൽ നിന്നും ഫാഷൻ സ്‌റ്റോറിൽ നിന്നും കിട്ടുന്ന തിളങ്ങുന്ന കുപ്പിവളകളാണ് ഇതിന് വേണ്ടത്, വേറെയൊന്നും വേണ്ടതാനും.&lt;/p&gt;
&lt;p&gt;പുതിയത് വാങ്ങി വിദ്യ പരീക്ഷിക്കാനുള്ള വകയൊന്നും ഇല്ലായിരുന്നത് കൊണ്ട് പൊട്ടിയ വളമുറികളാണ് മിക്കവാറും ഉപയോഗിക്കുന്നത്. ഓർമ്മയിൽ ആദ്യമായി വളമുറി കൊണ്ട് സ്നേഹമളക്കുന്ന വിദ്യ പറഞ്ഞു തന്നത് കൊച്ചേച്ചിയാരുന്നു. നിൻ്റെ കയ്യൊന്ന് നീട്ടിക്കെ, എന്നിട് നീ ഒരാളെ മനസ്സിൽ ഓർക്ക്. അയാൾക്ക് നിന്നോട് എത്ര സ്നേഹമുണ്ടന്ന് ഞാൻ പറയാം, എന്ന പറഞ്ഞ എൻ്റെ കൈയ്യ് നീട്ടിപ്പിടിപ്പിച്ചു ഒരു ദിവസം.&lt;/p&gt;
&lt;p&gt;എന്നിട്ട് എൻ്റെ കൈവെള്ളയിലോട്ട് ഒരു തിളങ്ങുന്ന ചുമന്ന വളമുറിയുടെ രണ്ടറ്റവും പിടിച്ച് ചേച്ചി നടക്കോട്ട് പൊട്ടിച്ചു. അത്ഭുതം, ഒരു വലിയ തരി വളപ്പൊട്ട് അടർന്ന് എന്റെയുള്ളം കൈയ്യിലോട്ട് വീണു. നീ ഓർത്ത ആളിന് നിന്നോട് നല്ല സ്നേഹമുണ്ടല്ലോ. ആരാടാ എന്ന് കൊച്ചേച്ചി ചിരിച്ചോണ്ട് ചോദിച്ചു. ഞാൻ ഓർത്തത് എന്നെത്തന്നേയാണ്, എനിക്കറിയണമെല്ലോ എനിക്ക് എന്നോട് എന്തോരും സ്നേഹമുണ്ടന്ന്, ഞാൻ പറഞ്ഞു. ആരും സ്നേഹിക്കാൻ ഇല്ലേലും നമ്മൾ നമ്മളേ തന്നെ സ്നേഹിക്കണം എന്നാണ് അന്നുമിന്നും ഞാൻ കരുതുന്നത്.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ അങ്ങനെയാണ് മറ്റുള്ളവരുടെ സ്നേഹമളക്കുന്നത്. വലിയ വളമുറിക്ഷണമാണ് കൈയ്യിൽ വീഴുന്നതെങ്കിൽ കുന്നോളം സ്നേഹവും ചെറിയ വളമുറിക്ഷണമാണേൽ കുന്നിക്കുരുവോളും സ്നേഹവും. ഇനി വളകഷ്ണം വീണില്ലെല്ലോ സ്നേഹമില്ലതാനും. പരുപാടി എനിക്ക് ഇഷ്ട്ടായി.&lt;/p&gt;
&lt;p&gt;അന്ന് ആദ്യം പോയി സ്നേഹമളന്നത് കുഞ്ഞിപ്പെങ്ങളുടെ കൈയ്യിലാരുന്നു എന്ന് തോന്നുന്നു. പിന്നീട് പലപ്പോഴും എന്നെയോർക്കാൻ പറഞ്ഞ് ആ ചെപ്പടിവിദ്യ കൊണ്ട് ഞാൻ പലരുടെയും സ്നേഹമളന്നു. ഞാൻ കൊടുത്ത സ്നേഹത്തെക്കാൾ വലുപ്പമുണ്ടായിരുന്നു അന്ന് കിട്ടിയ വർണ്ണപ്പൊട്ടുകൾക്ക് ഒക്കെയും.&lt;/p&gt;
&lt;p&gt;ബാല്യവും കൗമാരവും കടന്ന് പോയെങ്കിലും ദൈവത്തിന്റെ ഫോൺ നമ്പർ കിട്ടുന്നില്ലായെന്ന് തിരിച്ചറിഞ്ഞെങ്കിലും ഈ ചെപ്പടിവിദ്യ മാത്രം കൂടെക്കൂട്ടി. ഇടക്കിടെ സ്നേഹിക്കുന്നവരുടെ സ്നേഹമളക്കാല്ലോ. ഇപ്പോഴും ഞാൻ എൻ്റെ പ്രിയപ്പെട്ടവരെ ഓർത്ത് അവർക്ക് എന്നോടുള്ള സ്നേഹമളക്കാറുണ്ട്. കിട്ടുന്ന വളപ്പൊട്ടുകൾ ചിലപ്പോൾ സന്തോഷവും മറ്റ് ചിലപ്പോൾ ദുഃഖവും തരാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;എങ്കിലും അവരുടെ സ്നേഹത്തേക്കാൾ വലിയ സ്നേഹം എൻ്റെയുള്ളിൽ പൊട്ടിച്ചിടാനാണ് ഞാൻ ഇപ്പോഴും ശ്രെമിക്കുന്നത്. ഞാൻ എന്നെ തന്നെ സ്നേഹിക്കുന്ന പോലെ, വലിയ ചുമന്ന വളമുറിക്ഷണങ്ങൾ അവരോടുള്ള എൻ്റെ സ്നേഹമായി മനസ്സിൽ നിറയട്ടെ.&lt;/p&gt;</description></item><item><title>അവർ എൻ്റെ ആരുമല്ല</title><link>https://www.binovarghese.com/ml/2020/mar/fight-for-god/</link><pubDate>Mon, 09 Mar 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/mar/fight-for-god/</guid><description>&lt;p&gt;പള്ളിയിൽ അന്നേരം മണി മുഴങ്ങുന്നുണ്ടാരുന്നു. ആരും കേൾക്കാനില്ലാതെ മണികൾ ഉറക്കെ ശബ്ദിച്ചകൊണ്ടിരുന്നു. കേൾക്കണ്ടവർ പുറത്തു പള്ളിയുടെ വാതുക്കൽ നില്പുണ്ടാരുന്നു. ആകത്തിരിക്കുന്ന ദൈവം ആരുടേതാണെന്ന് തർക്കിച്ചും പരസ്പരം പോരടിച്ചും അവർ പള്ളിയുടെ മുറ്റത്ത് കടിപിടി കൂടുകയാരുന്നു.&lt;/p&gt;
&lt;p&gt;അത് കണ്ട് ദൈവം കരഞ്ഞകൊണ്ട് പള്ളിമണികൾ കൂട്ടിയടിച്ചു. ഇല്ലാ, അവർ കേൾക്കുന്നില്ല. ദൈവത്തിൻ്റെ ശബ്ദമവർ കേൾക്കുന്നില്ല. അവർ അന്നേരവും പള്ളിയുടെ കവാടങ്ങൾ കുത്തിത്തുറന്ന് അവകാശം സ്ഥാപിക്കുവാനും, കൈയ്കരുത്ത് കൊണ്ട് പരസ്പരം ശക്തിപ്രകടനം നടത്തുവാനുള്ള വ്യഗ്രതയിലാരുന്നു. പള്ളിയുടെ സ്വത്തിനും അധികാരത്തിനുമായി അവർ കാണിക്കുന്ന തെരുവ്നാടകങ്ങൾ കണ്ട് മനസ്സ് മടുത്ത ദൈവം വേദനയോടു കൂടി പള്ളി വാതിൽ തുറന്നിറങ്ങിപ്പോയി.&lt;/p&gt;
&lt;p&gt;പള്ളി ഒറ്റക്ക് സ്വന്തമാക്കിയാലും തന്നെ പങ്കുവെക്കാതെ എങ്ങനെയവർക്ക് മനുഷ്യരായി തുടരുവാൻ കഴിയും. ദൈവവത്തിന് ഉത്തരമില്ലായിരുന്നു. ഹൃദയത്തിൽ സ്നേഹമില്ലാത്ത തൻ്റെ വിശ്വാസികളെന്ന് സ്വയം വിളിക്കുന്ന അവരെയോർത്ത് ദൈവം വിതുമ്പിക്കരഞ്ഞു.&lt;/p&gt;
&lt;p&gt;നടന്ന് പോകുന്ന വഴി പള്ളി സെമിത്തെരിയുടെ മതിലിൽ എഴുതിയിരിക്കുന്നത് കണ്ട ദൈവം തലകുനിച്ചു. അത് ഇങ്ങനെയാരുന്നു,&lt;/p&gt;
&lt;p&gt;&amp;ldquo;ഞാൻ നിങ്ങളെ സ്നേഹിച്ചിരിക്കുന്നത് പോലെ നിങ്ങളും തമ്മിൽ തമ്മിൽ സ്നേഹിക്കണം എന്നുള്ളതാണ് എൻ്റെ കല്‌പന, യോഹന്നാൻ 15 : 12.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;അപ്പോഴും പുറകിൽ എൻ്റെ പള്ളി, എൻ്റെ പള്ളി എന്ന് പരസ്പരം പറഞ്ഞ് പോരടിക്കുന്ന ശബ്ദം കേട്ട ദൈവം തിരിഞ്ഞ് നോക്കാതെ പറയുന്നുണ്ടാരുന്നു, അവർ എൻ്റെയാരും അല്ല, ഞാൻ അവരെ അറിയുന്നില്ല.&lt;/p&gt;</description></item><item><title>നിന്നെയോർക്കുന്നതല്ലേ...</title><link>https://www.binovarghese.com/ml/2020/feb/remembering-you/</link><pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/feb/remembering-you/</guid><description>&lt;p&gt;ഇന്നീ തണുപ്പത്ത് ഒറ്റക്കിരിക്കുമ്പോൾ നീയെന്റെ തോളിൽ തല ചേർക്കുന്നത് എനിക്കറിയാൻ കഴിയുന്നുണ്ട്. കറുത്ത ആകാശത്തേക്ക് വിരൽച്ചൂണ്ടി ആ ഒറ്റനക്ഷത്രം ഏതാണെന്ന് നീ ചോദിക്കുമ്പോൾ, അത് നമ്മുടെ പ്രണയനക്ഷത്രമാണെന്ന് ഞാൻ പറയും. അത് കേൾക്കുമ്പോൾ തന്നെ എന്തൊരു തള്ളാ മനുഷ്യാ നിങ്ങളെന്ന് പറഞ്ഞു &lt;a href="https://www.binovarghese.com/ml/2019/sep/you-are-my-love/"&gt;നീ&lt;/a&gt; കളിയാക്കി ചിരിക്കുമെന്നും എനിക്കറിയാം.&lt;/p&gt;
&lt;p&gt;മുഖത്തേക്ക് വീശിയ തണുത്തകാറ്റ് എന്നെ എന്നിലേക്കുത്തന്നെ ഉണർത്തിയപ്പോൾ പതിയെ എഴുന്നേറ്റ ഞാൻ ആ വാകമരച്ചുവടിലേക്ക് നടന്നു. നിനക്ക് ഞാൻ തരുമെന്ന് പ്രണയമുദ്രയാണ് ചുമന്ന ഗുൽമോഹർപ്പൂക്കൾ. നീ ഓർക്കുന്നുണ്ടാവും, നിന്റെ അഴിഞ്ഞമുടി വകഞ്ഞ് മാറ്റി ഞാൻ ആ കഴുത്തിൽ വാകപ്പൂവിൻ്റെ ചുമപ്പ് ചാർത്തുമെന്ന് പറഞ്ഞത്. വഴിയരികെ മങ്ങിയ വെളിച്ചത്തിൽ നിൽക്കുന്ന ചെമ്പകമരത്തിൻ്റെ നീണ്ട ശിഖരങ്ങളിലുള്ള വെളുത്ത ചെമ്പകപ്പൂക്കൾ കണ്ടപ്പോൾ, ഞാനും നീയും പങ്ക് വെച്ച നമ്മുടെ നീഗുഡ രഹസ്യങ്ങളെപ്പറ്റി ഞാനോർത്തു.&lt;/p&gt;
&lt;p&gt;നിരനിരയായി കല്ലുകൾ വിരിച്ച പാതയിക്കൂടെ ഞാൻ നടന്ന് നീങ്ങുമ്പോൾ കണ്ണുനീർ കൊണ്ട് നാം പരസ്പരം നനച്ചതും ആശ്വസിപ്പിച്ചതും എന്റെ ഉള്ളിൽ നിറയുന്നുണ്ടാരുന്നു. വഴിയുടെ ഇരുവശവും നിന്ന്കൊണ്ട് എനിക്ക് കവാടമൊരുക്കിയ വേപ്പിൻ മരങ്ങളെ ഞാൻ അത്ഭുതത്തോടെ നോക്കി. കണ്ണുനീർ കൊണ്ട് കഴുകുമ്പോളാണ് പ്രണയത്തിന് വിശുദ്ധി കുടുന്നതെന്ന് ചേർന്ന് നടക്കുന്ന നമ്മളോട് അവ പറയുണ്ടന്ന് തോന്നിയെനിക്ക്. അപ്പോൾ അവയുടെ അപ്പുറമൊരു തൂവെള്ള വെളിച്ചം നില്പുണ്ടാരുന്നു, അത് ലക്ഷ്യമാക്കി ഞാൻ നടന്നപ്പോൾ ഓർത്തു ഇന്നു വൈകുന്നേരം ഈ കഥകളെല്ലാം നിന്നോട് പറയണമെന്ന്.&lt;/p&gt;
&lt;p&gt;ഇങ്ങനെ നീയരികിൽ ഇല്ലാത്തപ്പോഴൊക്കെ നിന്നെയോർക്കുന്നതല്ലേ പ്രണയം.&lt;/p&gt;</description></item><item><title>പ്രണയനക്ഷത്രം</title><link>https://www.binovarghese.com/ml-musings/2020/valentine/</link><pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2020/valentine/</guid><description>&lt;p&gt;ഇന്നീ തണുപ്പത്ത് ഒറ്റക്കിരിക്കുമ്പോൾ നീയെന്റെ തോളിൽ തല ചേർക്കുന്നത് എനിക്കറിയാൻ കഴിയുന്നുണ്ട്. കറുത്ത ആകാശത്തേക്ക് വിരൽച്ചൂണ്ടി ആ ഒറ്റനക്ഷത്രം ഏതാണെന്ന് നീ ചോദിക്കുമ്പോൾ, അത് നമ്മുടെ പ്രണയനക്ഷത്രമാണെന്ന് ഞാൻ പറയും. അത് കേൾക്കുമ്പോൾ തന്നെ എന്തൊരു തള്ളാ മനുഷ്യാ നിങ്ങളെന്ന് പറഞ്ഞു നീ കളിയാക്കി ചിരിക്കുമെന്നും എനിക്കറിയാം.&lt;/p&gt;
&lt;p&gt;ഇങ്ങനെ നീയരികിൽ ഇല്ലാത്തപ്പോഴൊക്കെ നിന്നെയോർക്കുന്നതല്ലേ പ്രണയം.&lt;/p&gt;</description></item><item><title>ആരാണ് ഞാൻ</title><link>https://www.binovarghese.com/ml/2020/feb/who-am-i/</link><pubDate>Fri, 07 Feb 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/feb/who-am-i/</guid><description>&lt;p&gt;ആരാണ് ഞാൻ?! ജീവതത്തിൽ ഏറ്റവും കൂടുതൽ സ്വയം ചോദിച്ച ചോദ്യമാണിത്. എന്നിട്ടുമതിന് വ്യക്തമായ ഒരുത്തരം കണ്ടത്തുവാൻ കഴിഞ്ഞിട്ടല്ല ഇതുവരെ.&lt;/p&gt;
&lt;p&gt;ബാല്യത്തിൽ ഈ ചോദ്യത്തിന് ഉത്തരം ലളിതമായിരുന്നു. ആരാണെന്നുള്ള ചോദ്യത്തിന് എൻ്റെ പേര് പറയുക. ആഹാ..! ലളിതം സുന്ദരം. കൗമാരത്തിൽ മാതാപിതാക്കളും കുടുംബപ്പേരും ചേർന്ന് ആ ഉത്തരത്തിൽ. ഉത്തരത്തിന് വ്യക്‌തത കൂടിയിരിക്കുന്നു എന്ന് ഞാൻ സ്വയം കരുതി.&lt;/p&gt;
&lt;p&gt;പലതും തിരിച്ചറിഞ്ഞ തുടങ്ങുന്ന യൗവനത്തിൽ ഈ ചോദ്യം സ്വയം ചോദിച്ച തുടങ്ങിയപ്പോൾ ഉത്തരത്തിന് വ്യക്‌തത കുറയുന്നു എന്ന് തോന്നി തുടങ്ങിയത്. ആരാണ് ഞാൻ?! ആരാണെന്ന് ചോദിച്ചാൽ ഞാൻ തന്നെ. അല്ലാതെയാരാ. അപ്പോഴും ചോദ്യത്തിന് ഉത്തരമായില്ല. ഞാനാരാണ്.&lt;/p&gt;
&lt;p&gt;അന്വേഷിക്കുക, അതാണേല്ലോ ഉത്തരം കണ്ടത്താനുള്ള വഴി. മുട്ടുവീൻ തുറക്കപ്പെടും എന്നാണല്ലോ !! അന്വേഷമാരംഭിച്ചു.&lt;/p&gt;
&lt;p&gt;എവിടെ നിന്ന് തുടങ്ങണമെന്ന് തെല്ലും സംശയമില്ലാരുന്നു. എന്നിൽ നിന്ന് തന്നെ. നിശബ്തദയാമങ്ങളിൽ ഹൃദയത്തിന്റെ അടിത്തട്ടിൽ തിരയാൻ തുടങ്ങി. അവിടെ നിന്ന് അച്ചടിച്ച പുസ്തകങ്ങളിലോട്ട് തിരച്ചിൽ നീണ്ടു. അവിടെ നിന്നും മനസിലാക്കാൻ സാധിച്ചില്ല. ഈ ചോദ്യമാവർത്തിക്കാൻ പറ്റിയ ഗുരുമുഖങ്ങളൊന്നും കണ്ടെത്താൻ കഴിഞ്ഞതുമില്ല.&lt;/p&gt;
&lt;p&gt;തിരച്ചിൽ തുടർന്നു, മുൻപൊട്ട് പോകുക എന്നുള്ളത് മാത്രമാണ് ഹൃദയത്തിൽ മുഴങ്ങുന്ന ശബ്ദം. എവിടെയേലും ഉത്തരം കാണാതെയിരിക്കില്ല. അത് കൊണ്ട് തന്നെ ഞാൻ ചുറ്റിലും ഇപ്പോഴും തിരയുന്നുണ്ട്, എവിടെയേലും എൻ്റെ ചോദ്യത്തിന് ഉത്തരമേ ഒളിഞ്ഞിരിപ്പുണ്ടോന്ന്.&lt;/p&gt;
&lt;p&gt;അറിയില്ല, ചില ചോദ്യങ്ങൾക്ക് ഉത്തരം കിട്ടാൻ സമയം എടുക്കാറുണ്ടല്ലോ. ഒറ്റ വാക്കിലുള്ള ചോദ്യത്തിന് അർത്ഥവ്യാപ്തി വലുതായി വലുതായി വരുന്നു. ഞാനാരാണ് ?! എൻ്റെ സ്വത്വമെന്താണ് ?! എൻ്റെ നിയോഗങ്ങൾ എന്താണ് ?! ഉത്തരങ്ങളുടെ വെളിച്ചം എനിക്കറിയുവാൻ കഴിയുമോ?!&lt;/p&gt;
&lt;p&gt;ഇതേ ചോദ്യങ്ങൾ തന്നെ ചോദിച്ചവരാണ് ബോധമണ്ഡലങ്ങളുടെ പടവുകൾ കയറി ബുദ്ധനായതും ഭ്രാന്തനായതുമെന്ന് തോന്നിപ്പോകുന്നു. ഈ ചോദ്യത്തിന് അവസാനം ഞാൻ എന്തായിത്തീരുമ്മാരിക്കും?!! ബുദ്ധനോ ഭ്രാന്തനോ !! ആരായാലും ഒരു ചെറുപുഞ്ചിരി ബാക്കിയുണ്ടാവണം അവസാനം. തിരിച്ചറിവുകളുടെ പുഞ്ചിരി.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2020/jan/in-search-of-me/"&gt;ആരാണ് ഞാൻ&lt;/a&gt;, ചോദ്യം തുടരട്ടെ.&lt;/p&gt;</description></item><item><title>എന്നെ തിരയുന്ന ഞാൻ</title><link>https://www.binovarghese.com/ml/2020/jan/in-search-of-me/</link><pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/jan/in-search-of-me/</guid><description>&lt;p&gt;ഇടക്കിടെ എനിക്ക് എന്നോട് വല്ലാതെ ഇഷ്ടം തോന്നാറുണ്ട്. എവിടെയാണ് എന്നെ തിരയേണ്ടത് എന്നത് ഓർത്ത് ഞാൻ എന്നെ തന്നെ അത്രമേൽ അത്ഭുതപ്പെടുത്താറുണ്ട്.&lt;/p&gt;
&lt;p&gt;തണുപ്പത്ത് പുൽത്തകിടിൽ കിടന്ന് കൊണ്ട് അവിടെ ഇവിടെ നക്ഷത്രങ്ങൾ ചിതറികിടക്കണ ആകാശത്തേക്ക് നോക്കുമ്പോഴും അതിന് കീഴെ നിറയെ ശിഖരങ്ങളുള്ള പേരറിയാ മരത്തിന് മുകളിലോട്ട് നോക്കുമ്പോഴും ഞാൻ എന്നെക്കുറിച്ച് ഓർക്കാറുണ്ട്, ഈ അരണ്ട വെളിച്ചത്തിൻ്റെയും ഇരുട്ടിൻ്റെയും ഇടയിൽ ഞാൻ ഏകനാണ്.&lt;/p&gt;
&lt;p&gt;മുകളിലെ ആകാശത്തിൻ്റെ അതേ നിലാവിലിൻ കീഴിൽ താഴേ എൻ്റെ പ്രിയപ്പെട്ടവരുണ്ടാകും. ആ സ്നേഹത്തിൻ്റെ ഇടയിലും ഞാനൊറ്റക്ക് എന്തോ തിരയുന്നുണ്ട്. ആൾക്കൂട്ടത്തിന് നടുവിൽ ഒറ്റക്കിരുന്ന് ഞാൻ തിരയുന്നത് എന്നെതന്നേയാണെന്ന് തോന്നുന്നു. മുഖത്തടിക്കുന്ന തണുത്ത കാറ്റ് എന്നെയെന്തോ ഓർമ്മപ്പെടുത്താൻ ശ്രമിക്കുന്നത് പോലെ. ഈ തണുപ്പും പുൽത്തകിടും, കാടും കുന്നും കടന്ന് എനിക്ക് പോകനുണ്ടന്നാണോ ?!&lt;/p&gt;
&lt;p&gt;കടന്ന് വന്ന നീണ്ട വർഷങ്ങൾ പോരാതെയായിരിക്കുന്നു. ഏറെ യാത്ര ചെയ്തു എന്ന തോന്നലുള്ള എൻ്റെ ഉള്ളിൽ ആരോ മന്ത്രിക്കുന്നു, &amp;lsquo;യാത്രകൾ ആരംഭിച്ചിട്ടേയുള്ള..ഇനി ഏറെ ദൂരം പോകാനുണ്ട്.&amp;rsquo; മൗനമന്ത്രങ്ങൾ.&lt;/p&gt;
&lt;p&gt;തണുപ്പേറി വരുന്നു, ഇട്ടിരിക്കുന്ന കമ്പിളിത്തുണ്ണിക്ക് ഉള്ളിലെ തണുപ്പ് മാറ്റാൻ കഴിയുന്നില്ല. സമയം വൈകുന്നു, ചുറ്റുമിരുട്ട് നിറയാൻ തുടങ്ങിയിരിക്കുന്നു. ഒരുതരി വെട്ടം വേണം, മുന്നാട്ടുള്ള യാത്രകളിൽ വെളിച്ചം വേണം. സ്വയം വെളിച്ചമാകുക.&lt;/p&gt;
&lt;p&gt;ആരോ കണ്ണുകളോട് പറയുന്നു, ഞാൻ തേടുന്നത് &lt;a href="https://www.binovarghese.com/ml/2020/feb/who-am-i/"&gt;എന്നെത്തന്നെയാണ്&lt;/a&gt;. എന്നിലെ മായാജാലങ്ങളെയാണ്. മിഴി പൂട്ടി ഞാൻ തിരയുന്നത് ഉള്ളിലെ മന്ത്രശക്തികളെയാണ്. എന്നിലെ മായാജാലക്കാരൻ എനിക്കായി കാത്തിരിക്കുന്നു. തിരിച്ചറിവുകൾ.&lt;/p&gt;
&lt;p&gt;മിഴി തുറന്ന ഞാൻ നടത്തമാരംഭിച്ചു, എൻ്റെ ഉള്ളിലോട് തന്നെ. എന്നെ തിരഞ്ഞകൊണ്ടുള്ള യാത്രകൾ ഇവിടെ തുടങ്ങുന്നു. എന്നിൽ ആരംഭിച്ച എന്നിൽത്തന്നെ അവസാനിക്കുന്ന യാത്ര.&lt;/p&gt;</description></item><item><title>മുറിവുകളും ചിറകുകളും</title><link>https://www.binovarghese.com/ml/2020/jan/wounds-and-wings/</link><pubDate>Fri, 10 Jan 2020 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2020/jan/wounds-and-wings/</guid><description>&lt;p&gt;എന്നിൽ ഏറ്റവും പ്രിയപ്പെട്ടത് എന്താണ് നിനക്ക് ?&lt;/p&gt;
&lt;p&gt;നിൻ്റെ മുറിവുകൾ !&lt;/p&gt;
&lt;p&gt;അതെന്താ ??&lt;/p&gt;
&lt;p&gt;ആ മുറിവുകളിൽ പൂക്കൾ വിരിയുന്നത് കൊണ്ട്. അത്രമേൽ കരുത്ത് നിറഞ്ഞതും സന്തോഷം പകരുന്നതുമായിട്ട് വേറെ ഒന്നും ഞാൻ ഇന്നോളും കണ്ടിട്ടില്ല !&lt;/p&gt;
&lt;p&gt;എനിക്ക് എന്താണ് നിന്നിൽ ഏറ്റവും പ്രിയമുള്ളത് എന്നറിയുമോ?!, നിൻ്റെ ചിറകുകൾ !&lt;/p&gt;
&lt;p&gt;അതെന്താ ??&lt;/p&gt;
&lt;p&gt;ഒരുമിച്ച് ഉയരെപ്പറക്കാൻ ഇത്രമേൽ പ്രേരിപ്പിച്ചിട്ടില്ല മറ്റൊന്നും. അത് പകർന്ന സ്നേഹവും ഊർജ്ജവും മറ്റ് ഒന്നിനും തരാൻ കഴിഞ്ഞിട്ടില്ല ഇന്നുവരെ.&lt;/p&gt;</description></item><item><title>വിട</title><link>https://www.binovarghese.com/ml-musings/2019/goodbye-2019/</link><pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2019/goodbye-2019/</guid><description>&lt;p&gt;പ്രിയപ്പെട്ട 2019 ന്&lt;/p&gt;
&lt;p&gt;വിട പറയുന്നു ഞാൻ, ഇനി നീ എന്റെ ഓർമ്മകളിൽ ജീവിക്കുക. നീ തന്ന ചിറകുകൾക്കും മുറിവുകൾക്കും നിറയെ സ്നേഹം ഞാൻ പകരം തരുന്നു.&lt;/p&gt;
&lt;p&gt;ഇനിയൊരു കണ്ടമുട്ടൽ ഇല്ലറിഞ്ഞ് കൊണ്ട് തന്നെ എല്ലാത്തിനും ഒരു ചുംബനം തന്ന് കൊണ്ട് ഞാൻ യാത്ര പറയുന്നു.&lt;/p&gt;</description></item><item><title>വിൺസുതൻ ജാതനായി - ഭാഗം 2</title><link>https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights-2/</link><pubDate>Tue, 24 Dec 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights-2/</guid><description>&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights/"&gt;ഒന്നാം ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;മുൻ നിശ്ചയിച്ച ഉറപ്പിച്ച അടുത്ത വീടുകൾ ലക്ഷ്യമാക്കി ഞങ്ങൾ നടന്ന നീങ്ങും, ഇതേ ആവേശത്തോടെ ഞങ്ങൾ അടുത്തടുത്ത വീടുകൾ കയറി പാട്ടും കൊട്ടും തുടരും. ഓരോ വീട്ടിൽ പാടി കഴിയുമ്പോളും നിലക്കാത്ത ഊർജ്ജവും സന്തോഷവും ഞങ്ങളുടെ ഓരോരുത്തരുടെ കണ്ണിൽ മിന്നിനിൽപ്പുണ്ടാവും.&lt;/p&gt;
&lt;p&gt;കൊട്ടും പാട്ടുമായി ഈ വഴികളിലൂടെ ഞങ്ങൾ പോകുമ്പോൾ, ഞങ്ങൾ കരോൾസംഘം ആരാണെന്ന് അറിയിക്കുവാൻ രണ്ട് വശവും കാരാഴ്മ പള്ളിയെന്നും ബാക്കി രണ്ട വശവും ക്രിസ്തുമസ് പുതുവത്സരാശംസകൾ എന്നും വെള്ളയിൽ ചുമന്ന് നിറത്തിൽ എഴുതിയ ചതുരത്തിൽ ഉള്ള പെട്ടിവിളക്കും (പുൽക്കൂട് ) തലയിൽ വെച്ച് പള്ളിയുടെ തൊട്ടപ്പുറത്ത് താമസിക്കുന്ന ചേട്ടനും, മുളക്കമ്പേൽ പച്ചയും ചുമപ്പും മഞ്ഞയും തുടങ്ങിയ വർണ്ണപേപ്പർ ഒട്ടിച്ച് ഉണ്ടാക്കിയ നക്ഷത്രവും കൈയിൽ പിടിച്ചോണ്ട് പ്രായമായ കൊച്ചേട്ടനും നടന്ന നീങ്ങും ഞങ്ങളക്ക് പുറകെ. കൂലിയെക്കാൾ ഏറേ പള്ളിയെ ചേർന്ന് നിന്ന് സ്നേഹിക്കുന്ന ഇവരാണ് വിളക്കും പുൽക്കൂടും എടുക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;ഇനിയും പാടാൻ ഉള്ളത് നേഴ്സ്അമ്മച്ചിയുടെ വീടാണ്. എല്ലാ വർഷവും മുടങ്ങാതെ ഞങ്ങൾക്ക് വെള്ളകേക്കും ചുക്ക്കാപ്പിയും തരുന്ന വീടുകളിലൊന്ന്. വെളുത്ത സാരി ഉടുത്ത് വെളുത്ത മെലിഞ്ഞ നീളം കുറഞ്ഞ അമ്മച്ചി നിറഞ്ഞ ചിരിയോട് കൂടെ ഞങ്ങളെ സ്വീകരിക്കും. കൈയ്യടിയും ആർപ്പവിളിയും നിറഞ്ഞ പാട്ടുകളക്ക് ഒടുവിൽ വിസിലടിച്ച പാട്ട് അവസാനിപ്പിച്ച ഞങ്ങൾ വീട്ടീന്ന് ഇറങ്ങാൻ തുടങ്ങും. അപ്പോൾ അമ്മച്ചി വിളിക്കും - &amp;ldquo;എടാ മക്കളെ ആരും പോകരുത്, കാപ്പിയുണ്ട്&amp;rsquo;. അവിടെ കാപ്പിയുണ്ടന്ന് അറിഞ്ഞുകൊണ്ട് തന്നെയാണ് ഞങ്ങൾ പിള്ളേർ പതിയെ ഇറങ്ങാൻ ഭാവിക്കുന്നത്. അമ്മച്ചി പുറകീന്ന് വിളിക്കുന്നത് കേട്ടിട്ട് വന്ന് കാപ്പി കുടിക്കുന്നത് ഒരു രസം.&lt;/p&gt;
&lt;p&gt;കഴിക്കാൻ തരുന്ന വീട്ടിൽ ഒരു &amp;lsquo;സന്തോഷ സൂചകം &amp;rsquo; പാടാതെ ഞങ്ങൾ ആരും തിരികെ പോകാറില്ല. വർഷങ്ങളായി തുടരുന്ന പതിവാണത്.&lt;/p&gt;
&lt;p&gt;&amp;quot; സന്തോഷസൂചകമായി തന്നത് സ്വീകരിച്ച,&lt;br&gt;
ബാലകരാം ഞങ്ങളിതാ പോകുന്നു&amp;hellip;&lt;br&gt;
ഞങ്ങൾ പോകുന്നു&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;കയ്യിൽ കാപ്പിയും വായിൽ കേക്കുമായി കുറച്ചുപേർ അത് പാടുമ്പോൾ, ചിലർ അവിടുത്തെ വരാന്തയിലെ അരമതിലിൽ വിശ്രമത്തിലാകും. ഇതിനിടയിൽ തലമുതിർന്നവർ ഇരുട്ടിലൊന്ന് പോയി സന്തോഷം പങ്ക് വെച്ചിട്ട് വരും. സന്തോഷ സൂചകത്തിൻ്റെ പാട്ട് കഴിഞ്ഞ അടുത്ത വർഷവും കാപ്പി തരണേ എന്ന പറഞ്ഞകൊണ്ട് അവിടുന്ന് ഇറങ്ങി അടുത്ത വീടുകളിലോട്ടുള്ള നടത്തമാരിമ്പിക്കും.&lt;/p&gt;
&lt;p&gt;കരോൾ തുടങ്ങുമ്പോൾ പല തിരക്കുകൾ കൊണ്ട് വരാൻ കഴിയാഞ്ഞ പലരും പിന്നീട് പതിയെ പതിയെ ഈ വഴികളിൽ വെച്ച് വന്ന ചേരും. നടക്കാൻ വയ്യാത്ത ചില അച്ചായന്മാർ സ്കൂട്ടറിൽ ഞങ്ങളെ അനുഗമിക്കും. ഇങ്ങനെ ഇങ്ങനെ ഞങ്ങളുടെ ഗായകസംഘം മുന്നോട്ട് നീങ്ങും, ഇടക്ക് ഇടവവീടുകളിലെ കേക്കും കാപ്പിയും, കപ്പയും കാച്ചിലും കാന്താരിചമ്മന്തിയും ഞങ്ങളുടെ പാട്ടിന് ഉണർവേകികൊണ്ടിരിക്കും.&lt;/p&gt;
&lt;p&gt;പ്രധാനറോഡിൽ നിന്ന് ഇടവഴികളിലൂടെയും പാടവരത്തിലൂടെയും ഞങ്ങൾ പെട്രോൾമാക്സിൻ്റെ അരണ്ടവെളിച്ചത്തിന് പുറകെ നടക്കും. പോകും വഴി പല വീടുകളിലും രണ്ടും മുന്നും നക്ഷത്രവിളക്കുകൾ മിന്നികത്തുന്നുണ്ടാവും, മുറ്റത്തെ ചെറുമരങ്ങളിൽ പലവർണങ്ങൾ ഉള്ള ചെറിയ എൽ.ഇ.ഡി ബൾബുകൾ തൂക്കിയിട്ട നാടൻ ക്രിസ്തുമസ് ട്രീ തൊട്ട്, വരാന്തയിൽ വെച്ചിരിക്കിന്നു വലിയ റെഡിമേഡ് ട്രീകൾ കൊണ്ടുള്ള ആഘോഷങ്ങൾ ഈ യാത്രയിൽ കാണാം. അവിടെയെല്ലാം ഞങ്ങളെ സ്വീകരിക്കാൻ മടിക്കാത്ത എല്ലാ വീടുകളിലും ക്രിസ്തുമസിൻ്റെ സന്ദേശമറിയിക്കും ഞങ്ങൾ. ഇടുങ്ങിയ വഴികളിലൂടെ ഇരുട്ടിൽ നടക്കുമ്പോൾ ഒരു രണ്ടുവരി പാട്ട് ഉയരും കുട്ടത്തിൽ നിന്ന്,&lt;/p&gt;
&lt;p&gt;&amp;ldquo;ഈ വഴി വളരെ ഇടുക്കവും ഞെരുക്കവും,&lt;br&gt;
ആരിത് കടന്നീടുമേ&amp;hellip;&amp;hellip;&amp;rdquo;&lt;br&gt;
മാലോകരെ കേൾക്കുവിൻ മാമാറിയാമ്മിൻ സുതൻ&lt;br&gt;
മണ്ണിടത്തിൽ ഇന്ന് ഉദിച്ചത്.&amp;quot;&lt;/p&gt;
&lt;p&gt;സമയം പന്ത്രണ്ട് മണി കഴിഞ്ഞിരിക്കുന്നു. സമയം കടന്ന് പോകുന്നത് അറിയാത്ത നടത്തമാണ് ക്രിസ്തുമസ് കാരോളിൻ്റെ നടത്തം. ഇനി ചെല്ലാനുള്ള വീടുകളിലെ അംഗങ്ങൾ ഉറങ്ങി കാണും. കാരാഴ്മപ്പള്ളിയുടെ കരോൾ അവരുടെ വീട്ടിൽ കയറാതെ പോയാൽ നാളെ വഴിയിൽ തടഞ്ഞ നിർത്തി അവർ പരിഭവം പറയും. അവരുടെ വീടുകളിൽ കയറുമ്പോൾ ഡ്രം കൊട്ടി തുടങ്ങും, എന്നിട്ടും വീടിൻ്റെ വാതിൽ തുറന്നിലേൽ, കൊട്ട് നിർത്തി ജനലിന്റെ അടുത്തുനിന്ന് ഉറക്കെ വിളിച്ച പറയും, &amp;lsquo;കാരാഴ്മപ്പള്ളിയിൽ നിന്നാണേയെന്ന്&amp;rsquo;. അത് കേൾക്കുമ്പോൾ ഏത് വാതിലും തുറക്കും, വാതിൽ തുറന്ന് ഞങ്ങളുടെ പാട്ടും കൊട്ടും സന്തോഷവും അവർ സ്വികരിക്കും.&lt;/p&gt;
&lt;p&gt;സമയം വൈകി വരുന്നു, ഒരു മണിയാകുമ്പോൾ ഇന്നത്തെ കരോൾ തീരണം. ഇനി കുറച്ച വീടുകൾ മാത്രം ബാക്കി, ഈ രാത്രി മുഴുവൻ നടക്കാൻ തയ്യാറായാണ് ഞങ്ങൾ എല്ലാവരും മുന്നോട് പോകുന്നത്. അത്രമേൽ വലിയ ഒരു വികാരമാണ് ക്രിസ്മസ് കരോൾ.&lt;/p&gt;
&lt;p&gt;ആവേശവും ആഹ്ളാദവും കുറയാത്ത നടത്തത്തിലും കൊട്ടിലും, വീടുകൾ കയറി ഞങ്ങൾ പാടും. അവസാനം അന്നത്തെ കരോൾ, കവലിയിലെ കന്യകമറിയാമിൻ്റെ കുരിശുംതൊട്ടിലിൽ നിർത്താൻ സമയമാകും. ഉണ്ണിയേശുവിനെ കയ്യിൽ പിടിച്ചോണ്ട് നിക്കുന്ന മേരിമാതാവിൻ്റെ ചിത്രത്തിന് മുൻപിൽ ആ പാട്ട് ഞങ്ങൾ പാടും.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;സുതനെ തിരുസുതനെ കന്യകയിൻ മകനേ&amp;hellip;&lt;br&gt;
ഉണർവിൻ ഉറവിടമേ മന്നവമഖിലേശാ.. &amp;quot;&lt;/p&gt;
&lt;p&gt;വിസിലടിച്ചു, പാട്ട് നിർത്തും.&lt;/p&gt;
&lt;p&gt;മനസ്സിൽ സന്തോഷം മാത്രം തീർന്നില്ല. ഇനിയുമുണ്ട് കരോൾ ദിനങ്ങൾ, അവ ഒരിക്കലൂം അവസാനിക്കരുതേ എന്ന് ഓർത്തുകൊണ്ടും അതിനെ നിറഞ്ഞ സ്നേഹിച്ചുകൊണ്ടും അന്ന് ഞങ്ങൾ പിരിയും. ഡ്രമ്മും ബാക്കി സാധനങ്ങളും അടുത്തുള്ള ഇടവകവീട്ടിൽ ഏൽപ്പിച്ചിട്ടുണ്ടാവും അപ്പോൾ.&lt;/p&gt;
&lt;p&gt;പാടി ഇടറിയ ശബ്ദവുമായി തിരിച്ച് നടക്കുമ്പോൾ ഡ്രമ്മിൻ്റെ ശബ്ദമിങ്ങനെ ചെവിയിൽ മൂളുന്നുണ്ടാവും, മനസ്സിൽ അന്നേരം ആരോ ഉറക്കെപ്പാടുന്നുണ്ടാവും,&lt;/p&gt;
&lt;p&gt;&amp;ldquo;ഇന്നിതാ വിൺസുതൻ ജാതനായി&lt;br&gt;
കന്യാമേരി തൻ കണ്മണിയായി.&amp;rdquo;&lt;/p&gt;</description></item><item><title>വിൺസുതൻ ജാതനായി - ഭാഗം 1</title><link>https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights/</link><pubDate>Tue, 24 Dec 2019 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights/</guid><description>&lt;p&gt;&amp;ldquo;ഇന്നിതാ വിൺസുതൻ ജാതനായി&lt;br&gt;
കന്യാമേരി തൻ കണ്മണിയായി.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;വർഷങ്ങൾ പഴക്കമുള്ള ആ പാട്ട് കഴിഞ്ഞ വിസിലടിച്ചപ്പോൾ ഞങ്ങൾ കരോൾ ഗായകസംഘം നിശബ്ദമായി. ക്രിസ്മസ് കാരോളിന് പാട്ടും കൊട്ടും ആരംഭിക്കുന്നതും അവസാനിക്കുന്നതും ഈ വിസിലടിയോടെയാണ് അന്നും ഇന്നും.&lt;/p&gt;
&lt;p&gt;ഒരു നിമിഷം ഞങ്ങൾ പ്രാർത്ഥിച്ചു, സമയം ഏഴര കഴിഞ്ഞു, പതിവ് പോലെ ഇത്തവണയും വൈകി. അതും പറഞ്ഞ ഞങ്ങൾ &lt;a href="https://www.binovarghese.com/ml/2019/oct/church/"&gt;കാരാഴ്മപ്പള്ളിയിൽ&lt;/a&gt; നിന്ന് പുറത്തോട്ടിറങ്ങി. ആകാശത്ത് നിലാവുണ്ട്, അതിൻ്റെ പ്രകാശത്തിൽ നിറഞ്ഞനിൽക്കുന്നു തൂവെള്ളയാറന്ന പള്ളി, ഏറ്റവും മുകളിലെ കുരിശിന് പുറകിലാ ആകാശത്തിൽ നക്ഷത്രങ്ങൾ മിന്നുന്നു, പെട്ടെന്ന് ഡ്രംമ്മിൻ്റെ ശബ്ദമയർന്നു.&lt;/p&gt;
&lt;p&gt;പള്ളിയുടെ കരോൾ ഇറങ്ങാൻ പോകുന്നു, അത് ഓർത്തപ്പോൾ തന്നെ നെഞ്ചിൽ പതിവുള്ള ഇടിപ്പ് നിറയുന്നു. ക്രിസ്തുമസ് രാത്രികളിൽ കരോൾ സംഘത്തിൻ്റെ ശബ്ദം കേൾക്കുമ്പോൾ മാത്രം ഉണ്ടാകുന്ന സുഖമുള്ള തുടിപ്പ്.&lt;/p&gt;
&lt;p&gt;പുറത്ത് നേരിയ മഞ്ഞ് പൊഴിയുന്നു. ഉള്ളിൽ അതിലേറെ തണുപ്പും സന്തോഷവും വഹിച്ചുകൊണ്ട് ഞങ്ങൾ പത്തുമുപ്പത് ആളുകൾ അടങ്ങുന്ന സംഘം നടന്ന തുടങ്ങി. വഴിയിൽ നിറയെ ഇരുട്ട്. അങ്ങ്ഇങ്ങായി റോഡിന് ഇരുവശവും നിൽക്കുന്ന ഇലക്ട്രിക്ക് പോസ്റ്റിൽ നിന്ന് വരുന്ന ബൾബിൻ്റെ വെളിച്ചത്തിന് ഇരുട്ടിനെ പൂർണമായും മാറ്റാൻ കഴിയുന്നില്ല.&lt;/p&gt;
&lt;p&gt;ആ ഇരുട്ടിൽ ഞങ്ങൾക്ക് വഴികാട്ടാൻ ഒരു നീണ്ട മനുഷ്യൻ മുന്നേ നടക്കുന്നുണ്ട്. വെള്ളത്തോർത്തും തലയിൽചുറ്റിവെച്ച് അതിൽ പെട്രോൾമാക്സുമായി നരച്ച ചുമന്ന ഷർട്ടുമിട്ട് മുണ്ടും മടക്കിക്കുത്തി അയാൾ ഒരു വഴികാട്ടിയെപ്പോലെ നടന്ന് നീങ്ങുന്നു. പണ്ട് ഒരു വാൽനക്ഷത്രം വഴികാട്ടിയത് പോലെ.&lt;/p&gt;
&lt;p&gt;ഞങ്ങൾ ചെറുപ്പക്കാരും കുട്ടികളും മുൻപിലും മുതിർന്ന അച്ചായന്മാർ പുറകിലുമായി ആ വെട്ടത്തിന് പുറകെ റോഡിലോട്ട് ഇറങ്ങി നടന്നുതുടങ്ങി. ഞങ്ങളുടെ മുഖത്ത് ആവേശം നിറഞ്ഞു നിന്നിരുന്നു, കഴിഞ്ഞ ഒരു വർഷം മുഴുവൻ കാത്തിരുന്ന ദിനങ്ങളാണ് ഇനിയുള്ളത്. അതിൻ്റെ മുഴുവൻ ആവേശത്തിമിർപ്പിൽ മുൻപോട്ട് വന്ന ഞങ്ങൾ വിസിലടിച്ച ഒരു കൈയ്യ് ആകാശത്തേക്ക് ചൂണ്ടി ഉറക്കെപ്പാടിത്തുടങ്ങി.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;താരാഗണം സ്തുതിപാടും രാവിൽ&lt;br&gt;
ദുതഗണം സ്തുതിപാടും രാവിൽ&lt;br&gt;
ഭൂജാതനായിന്ന്&amp;hellip;ഉണ്ണി ഭൂജാതനായിന്ന്.&lt;/p&gt;
&lt;p&gt;മഞ്ഞ് പെയ്യും രാവിലിന്ന് മാലാഖമാർ&amp;hellip;..&amp;rdquo;&lt;/p&gt;
&lt;p&gt;ബാക്കിയുള്ളവർ അത് ഏറ്റുപാടുന്നതിനോടൊപ്പം ഡ്രമ്മും സൈഡ്ഡ്രമ്മും ശബ്ദമുയർത്തും. ഡ്രമ്മിൻ്റെ തുകലിൽ നിന്ന് വരുന്ന ധും ധും ശബ്‌ദത്തോടെപ്പം സൈഡ്ഡ്രമ്മിൻ്റെ ചിലങ്ങുന്ന കൊട്ടും ചിഞ്ചിലത്തിൻ്റെ ചിലച്ചില് ശബ്ദവും ഞങ്ങളുടെ ഇടയിൽ നിറഞ്ഞു.&lt;/p&gt;
&lt;p&gt;ആദ്യത്തെ നാലുവരി കഴിയുമ്പോൾ തമ്പേറിൻ്റെ ശബ്ദം തെല്ലൊന്ന് നിൽക്കും, അടുത്ത വരി പാടിതുടങ്ങുമ്പോൾ അവ പിന്നെയും കൂട്ടിയടികൊണ്ട് ശബ്ദമുയർത്തും, താളത്തിൽ അർപ്പവിളിച്ചും പാടിയും ഞങ്ങൾ മുന്നോട്ട് നടക്കും. ഈ വർഷത്തെ മുഴുവൻ സന്തോഷവും ചുമന്ന ഉടുപ്പുമിട്ട്, നരച്ചനീണ്ട താടിയുമായി കൂടെയുണ്ട്. മിട്ടായിയുടെ സമ്മാനക്കെട്ട് മുറുക്കെ പിടിച്ച് വടിയും കുത്തി തുള്ളികളിച്ചുകൊണ്ടാണ് ഞങ്ങളുടെ സന്തോഷം സാന്താക്ലോസ് ആയി നടക്കുന്നത്.&lt;/p&gt;
&lt;p&gt;റോഡിലൂടെയുള്ള ഞങ്ങളുടെ വരവും കാത്തിരിക്കുന്ന വീടുകളിലേക്ക് പതിയെ നടന്ന് കയറുമ്പോൾ മിന്നുന്ന നക്ഷത്രവിളക്കുകൾക്ക് അരികിലാ വരാന്തയിൽ അവിടുത്തെ കുടുംബം നില്പുണ്ടാവും. ആ വീടിൻ്റെ ഗൃഹനാഥൻ ഏറ്റവും മുന്നിലായി മുതിർന്ന ആൺകുട്ടിയുമായി നിൽകുമ്പോൾ അമ്മയുടെ പുറകിൽ ക്രിസ്തുമസ് പപ്പയെ പേടിച്ച ഇളയ ആൺകുട്ടി മറഞ്ഞനിൽക്കുന്നത് കാണാം. പേടിച്ചാണേലും സാന്ത തരുന്ന മിട്ടായി അവൻ എത്തി വാങ്ങിക്കാറുണ്ട്. ഞങ്ങളെയും നോക്കികൊണ്ട് പ്രായമായ അമ്മച്ചി സ്വീകരണമുറിയിൽ ഇരിന്നു കൊണ്ട് അവരുടെ പഴയ കരോൾ ഓർക്കുന്നുണ്ടാവും അപ്പോൾ.&lt;/p&gt;
&lt;p&gt;ഡ്രമ്മടിച്ച കയറുന്ന ഞങ്ങൾ വിസിലടിയോടെ കൂടെ കോട്ട നിർത്തുമ്പോൾ കരോൾ പാട്ട് തുടങ്ങും.&lt;/p&gt;
&lt;p&gt;“പുളകം കൊണ്ടാടിടുന്നീ നേരത്തെല്ലാം&lt;br&gt;
പുൽക്കൂട്ടിൽ ഉണ്ണിയുടെ കിടപ്പക്കണ്ട്.&amp;quot;&lt;/p&gt;
&lt;p&gt;ആദ്യത്തെ രണ്ടുവരി ഞങ്ങൾ ഗായകസംഘം പാടി കഴിയുമ്പോൾ അടുത്ത വരിയുടെ കൂടെതന്നെ ഡ്രമ്മിൻ്റെ ശബ്ദമുയരും. പിന്നീട് അവിടയൊരു ആഘോഷമാണ്. പാട്ടിന്റെ താളത്തിൽ കൊട്ടിയടിച്ചോണ്ട് ഉയരുന്ന തമ്പേറിനൊപ്പം ഞങ്ങൾ വട്ടം ചേർന്ന് ഒരു കൈയ്യുർത്തി ഉയർന്ന് പാടും,&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;മലയിൽ നിന്ന് ഓടിയെത്തി ഇടയരെല്ലാം നല്ല&lt;br&gt;
ചുവടുവെച്ച് ചുവടുവെച്ച് നടനമാടി.&lt;/p&gt;
&lt;p&gt;മനസ്സിന്റെ കാലിത്തൊട്ടിൽ കിളിപ്പറന്നേ &lt;br&gt;
മനുജൻ്റെ പുതുമണ്ണിൽ ഒളിപ്പരന്നേ&amp;hellip;&lt;br&gt;
പശുതൊട്ടിൽ ഒരുക്കിയ പുതിയസ്വർഗം&lt;br&gt;
നല്ല കണിക്കൊന്ന മലർവാടി വിരിഞ്ഞത്പോൽ.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;ഓരോ വരിയും ആവേശത്തോടെ എല്ലാവരും ചേർന്ന് പാടുന്നതിനൊപ്പം വട്ടത്തിൽ തോൾചേർന്ന് തുള്ളിച്ചാടും ഞങ്ങളിൽ ചിലർ.. ആ ഇരുട്ടിൽ തമ്പേറിൻ്റെയും ചിഞ്ചിലത്തിൻ്റെയും ശബ്ദത്തോടപ്പം ഞങ്ങളുടെ ചുറ്റും ഒഴുകുന്നത് സന്തോഷം മാത്രമാകും. ഇതെല്ലാം കണ്ട പുറകിൽ ഞങ്ങൾക്ക് ഒപ്പം ഉറക്കെപ്പാടിയും താളത്തിൽ കയ്യടിച്ചും തലമുതിർന്നവർ നില്പുണ്ടാവും. ഈ സമയങ്ങളിൽ ഉള്ളിൽ നിറയുന്ന സന്തോഷം ദൈവീകമായിരിക്കാം.&lt;/p&gt;
&lt;p&gt;ആ പാട്ടും കൊട്ടും കഴിയുമ്പോൾ ക്രിസ്തുമസ് ആശംസകൾ അറിയിച്ചോണ്ട് ഞങ്ങൾ ആ വീട്ടീന്നിറങ്ങും. അത് വരെ പേടിച്ച നിന്ന് ഇളയകുട്ടി ഞങ്ങളെ നോക്കി പുഞ്ചിരിക്കുന്നുണ്ടാകും അപ്പോൾ.&lt;/p&gt;
&lt;p&gt;തുടരും&amp;hellip;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2019/dec/christmas-carol-nights-2/"&gt;ബാക്കി ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ഘടികാരങ്ങൾ നിലച്ചിരുന്നെങ്കിൽ</title><link>https://www.binovarghese.com/ml/2019/dec/if-the-time-freeze/</link><pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/dec/if-the-time-freeze/</guid><description>&lt;p&gt;ഘടികാരങ്ങൾ നിലച്ചിരുന്നെങ്കിൽ എന്ന് നീ എപ്പോളെങ്കിലും ആഗ്രഹിച്ചിട്ടുണ്ടോ ?&lt;/p&gt;
&lt;p&gt;ഉണ്ട്.&lt;/p&gt;
&lt;p&gt;എപ്പോളായിരുന്നു ?!!&lt;/p&gt;
&lt;p&gt;അന്ന് നമ്മൾ ആദ്യമായി ചുംബിച്ചപ്പോൾ.&lt;/p&gt;
&lt;p&gt;ആ കതവിൻ മറവിൽ വെച്ചല്ലാരുന്നോ ?&lt;/p&gt;
&lt;p&gt;അതെ. ആ ചുംബനത്തിൻ്റെ തണുപ്പിൽത്തന്നെ ഞാൻ നിന്ന് പോയിരുന്നെങ്കിലെന്ന് പലവട്ടം ആശിച്ചിട്ടുണ്ട്.&lt;/p&gt;
&lt;p&gt;ഞാനും.&lt;/p&gt;</description></item><item><title>കാറ്റും ഇലയും</title><link>https://www.binovarghese.com/ml/2019/dec/wind-and-leaves/</link><pubDate>Fri, 13 Dec 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/dec/wind-and-leaves/</guid><description>&lt;p&gt;നമ്മൾ എന്നും ഇരിക്കാറുള്ള മരച്ചുവട്ടിൽ, അന്ന് കാറ്റ് ഇലയോട് എന്തോ സ്വകാര്യം പറയുന്നുണ്ടാരുന്നു.&lt;/p&gt;
&lt;p&gt;എന്താണെന്ന് അറിയാൻ ഞാൻ ചെവി കൂർപ്പിക്കുന്നതുകണ്ട് കാറ്റ് പറഞ്ഞു, &amp;ldquo;നീ ഇവിടെ വന്ന അവളോട് പറയുന്നത് തന്നെ&amp;rdquo;. ഹാ! പ്രണയം, ഞാൻ പുഞ്ചിരിച്ചു. കാറ്റിന് ഇലയോട്, എനിക്ക് നിന്നോട്, നിനക്ക് എന്നോട്, ഹാ! പ്രണയം.&lt;/p&gt;
&lt;p&gt;പതിയെ ഞാൻ തിരിച്ചു നടന്നപ്പോൾ ഓർത്തു, നിൻ്റെ മരച്ചുവട്ടിലെ തിരി അണയാത്തത്തിൻ്റെ കാരണം.&lt;/p&gt;
&lt;p&gt;കാറ്റിന് ഇലയോട്, എനിക്ക് നിന്നോട്, നിനക്ക് എന്നോട്, ഹാ! പ്രണയം.&lt;/p&gt;</description></item><item><title>മഴമരങ്ങൾ നാം</title><link>https://www.binovarghese.com/ml/2019/dec/turn-ourself-into-a-beautiful-poem/</link><pubDate>Fri, 06 Dec 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/dec/turn-ourself-into-a-beautiful-poem/</guid><description>&lt;p&gt;അന്ന് നിലാവത്ത് എന്നെ മടിയിൽ കിടത്തി പറഞ്ഞത് ഓർമ്മയുണ്ടോ ഇയാക്ക് ?!&lt;/p&gt;
&lt;p&gt;എന്തായിരുന്നു ?!&lt;/p&gt;
&lt;p&gt;എൻ്റെ കണ്ണുകൾ ഓരോന്നും മുത്തുകളായിരുന്നേൽ അവ താൻ കോർത്തെടുത്തേനെയെന്ന് !!. ഓരോ രാത്രിയിലും ഞാനത് ഓർക്കാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;എനിക്ക് ഓർമ്മയുണ്ട് പെണ്ണേ.
അത് എഴുതിയ കവി അകാലത്തിൽ വിട്ട്പോയി.&lt;/p&gt;
&lt;p&gt;അയ്യോ..മരിച്ച പോയോ ??&lt;/p&gt;
&lt;p&gt;അതേ..പക്ഷേ ആ വരികൾ, മരണം വേർപെടുത്തിയെങ്കിലും ഇങ്ങനെ ചുറ്റിലും പെയ്ത് നനക്കുന്നുണ്ടല്ലോ.&lt;/p&gt;
&lt;p&gt;എന്നാൽ താൻ പറയുന്നത്പോലെ നമുക്കും ഒരു കവിതയായല്ലോ?!. മഴ തോരുമ്പോളും നിറഞ്ഞ പെയ്യുന്ന മരങ്ങളെപ്പോലെ പരസ്പരം ഹൃദയങ്ങളെ നനക്കാല്ലോ!&lt;/p&gt;</description></item><item><title>ഓറഞ്ച്മീനുകളുടെ ഓർമ്മകൾ - ഭാഗം 2</title><link>https://www.binovarghese.com/ml/2019/nov/childhood-fishing-part2/</link><pubDate>Fri, 15 Nov 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/nov/childhood-fishing-part2/</guid><description>&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2019/nov/childhood-fishing/"&gt;ഒന്നാം ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ഇടക്ക് ഓറഞ്ച് നിറത്തിലുള്ള മീനുകളെ കണ്ടാൽ ആവേശത്തോടെ ചിലപ്പോൾ തോർത്തു പെട്ടെന്ന് പൊക്കിയെടുക്കും. അത് നിമിത്തം വെള്ളം കലങ്ങിമറിയുകയും ചെയ്യും, മീൻ ചാടി പോകുകകയും ചെയ്യും. ഇങ്ങനെയൊക്കെയാണേലും തോറ്റു കൊടുക്കാൻ ഞങ്ങളാരും തയ്യാറായിരുന്നില്ല. പിന്നെയും കാത്തിരിക്കും, ഇത്തവണ കൂടുതൽ ക്ഷമയോടെ ബുദ്ധിപൂർവം നീങ്ങും. അല്ലെങ്കിൽ കരയിൽ ഇരിക്കുന്ന ചേച്ചിമാർ ആരേലും പറയും അടങ്ങിയിരുന്ന മീൻ വരുന്നത് നോക്കി പിടിക്കാൻ.അത്കൊണ്ട് തന്നെ പിന്നീട് മീനുകൾ പൂർണമായും തോർത്തിൻ്റെ നടുക്ക് എത്തുന്നതുംകാത്ത് നിൽക്കും. മീനുകയറിയാൽത്തന്നെ പെട്ടന്ന് തോർത്തു പൊക്കിയെടുക്കാതെ രണ്ടുപേരും സാവകാശം അടുപ്പിച്ചു ഒറ്റപ്പോക്ക്. അതിൽ മീനുകൾ കുടുങ്ങിയിരിക്കും.&lt;/p&gt;
&lt;p&gt;മീനുണ്ടെന്ന് കണ്ടാൽ ആരേലും ഒരാൾ തോർത്തും കയ്യിൽ പിടിച്ചോണ്ട് ഒലിച്ചിറങ്ങുന്ന വെള്ളത്തോടെ കരയിൽ കയറി തോർത്ത് നിലത്തുവിരിക്കും. അതിൽ മീൻകുഞ്ഞുങ്ങൾ കിടന്ന് പിടയുന്നുണ്ടാവും, കുറച്ച വലുത് ചാടിനോക്കും. ഞങ്ങൾ പെട്ടന്നു തന്നെ അവയെ പിടിച്ച് വെള്ളം നിറച്ച കുപ്പിയിലാക്കും. വളരെ സൂക്ഷിച്ചാണ് തോർത്തിൽ നിന്നെടുക്കന്നത്, അമർത്തി പിടിച്ചാൽ അവ ചത്ത പോകും. പരിശ്രമങ്ങൾ എല്ലാം വെറുതെയാകും.&lt;/p&gt;
&lt;p&gt;കളിയും തമാശയുമായും, എടക്ക് ആളുമാറിയും മീൻപിടിത്തും തുടരും , അന്നത്തെ ആവേശം കഴിയുമ്പോൾ വെള്ളത്തിന്ന് കയറും. പിന്നീട് ഓരോരുത്തരും കിട്ടിയ മീനേ വീതംവെച്ച് അവരവരുടെ കുപ്പിയിലാക്കി വീട്ടിലേക്ക് നടക്കും. ഒന്നോരണ്ടോ ചെറുമീനുകളുമായി ഞാൻ വീട്ടിലെത്തുമ്പോൾ തന്നെ രണ്ട്‍ കല്ലും കുറച്ഛ് പായലും അടിയിൽ മണ്ണുമിട്ട് ആ ചെല്ലുകുപ്പി ഒരു ചെറു അക്വേറിയമാക്കി മാറ്റും.&lt;/p&gt;
&lt;p&gt;എന്നിട് അത് നിറഞ്ഞ കൗതകത്തോടെ ഞാൻ ആ ജനലിന്റെ അരികിൽവെയ്ക്കും. മേശയുടെയരികിൽ കസേരയിട്ട് ആ ചില്ലുകുപ്പി നോക്കിരിയുമ്പോൾ നമ്മൾ എന്തോ നേടിയ ഭാവമാണ് മനസ്സിൽ, ചെറിയ കാര്യങ്ങൾപ്പോലും വലിയ സന്തോഷം തന്നിരുന്നു &lt;a href="https://www.binovarghese.com/ml/2020/mar/brokken-bangles/"&gt;കുട്ടിക്കാലം&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;വീതി കുറഞ്ഞ കുപ്പിയായാത് കൊണ്ട് അവ ഇങ്ങനെ മുകളിലോട്ടും താഴോട്ടും നീന്തി കൊണ്ടേയിരിക്കും, നമുക്ക് കാണാൻ രസമുണ്ടെലും അവക്ക് മടുക്കുമാരിക്കും ചിലപ്പോൾ, അറിയില്ലലോ! ചോദിക്കാനും പറ്റില്ല. അപ്പോൾ ഓർക്കും വൈകുന്നേരം അവക്ക് വിശക്കുമാരിക്കുമെലോ?! അതിന് കഴിക്കാൻ വെള്ളത്തിൽ ഒന്നുമില്ലതാനും. അവക്ക് തീറ്റകൊടുക്കാൻ അന്ന് ഒറ്റവഴിയെഒള്ളു. അമ്മ ചോറ് വെച്ചിരിക്കുന്ന കലത്തിൽ നിന്ന് മൂന്നാല് തരി ചോറെടുക്കുക, അത് വെള്ളത്തിൽ ഇട്ട്കൊടുക്കുക. ചിലപ്പോൾ അന്നേരം അവ വന്ന് ഒന്നോരണ്ടോ കൊത്ത് കൊത്തും, ചോറ് വെള്ളത്തിലോട്ട് താഴ്ന്നപോകുകയും ചെയ്യും.&lt;/p&gt;
&lt;p&gt;വിശക്കുമ്പോൾ അവ അത് കഴിക്കുമെന്ന വിശ്വാസത്തിൽ ഞാൻ ഉറങ്ങാൻ പോകും. പിറ്റേന്ന് രാവിലെ വന്ന ആ മീന്കുഞ്ഞുങ്ങളെ വീണ്ടും നോക്കും, ഹാ എന്ത് രസം. അവയുടെ നീന്തൽ കണ്ട് ഞാൻ സ്വയം ആനന്ദിലാകാറുണ്ട്. പക്ഷേ ചേലുള്ള ആ കാഴ്ച്ചയ്ക്ക് പലപ്പോഴും മൂന്നാല് ദിനമേ ആയുസുള്ളൂ. പിന്നീട് ഒരു ദിവസം രാവിലെ ആ ഓറഞ്ച് നിറത്തിലുള്ള മീനുകൾ ചത്ത് പൊങ്ങികിടപ്പുണ്ടാരിക്കും, വെള്ളവും കലങ്ങിയിട്ടുണ്ടാവും. മലന്ന് പൊങ്ങിക്കിടക്കുന്ന അവയെ തട്ടി ജീവൻവെപ്പിക്കാൻ ഒരു വിഫലശ്രമം നടത്താറുണ്ട് പലപ്പോഴും. ഇനി അവ നീന്തില്ലാന്നറിയുമ്പോൾ മനസ്സിൽ നിരാശ നിറയാറുണ്ട്. എവിടെയോ ഒരു ദുഃഖം നനക്കുമായിരുന്നു എന്റെ കുഞ്ഞുമനസ്സിനെ.&lt;/p&gt;
&lt;p&gt;ചില ഓർമകളുടെ സന്തോഷങ്ങൾക്ക് അവ തന്ന വേദനകളേക്കാൾ ശക്തിയുണ്ടാകാറുണ്ട് എന്ന ജീവിതത്തിൽ പിന്നീട് പലപ്പോഴും തോന്നിയിട്ടുണ്ട്. അത് കൊണ്ട് തന്നെ ഒഴിഞ്ഞ ചില്ല്കുപ്പിയുമായി അടുത്ത വൈകുന്നേരം ഞങ്ങൾ വീണ്ടും തൊട്ടിലോട്ട് നടക്കും. ഓറഞ്ച് നിറമുള്ള മീനുകളെ തപ്പി തോർത്തുമായി തോട്ടിലോട്ടിറങ്ങും.&lt;/p&gt;
&lt;p&gt;ചില കഥകൾക്കും ഓർമകൾക്കും അവസാനമില്ലന്ന് ഓർത്തുകൊണ്ട് ഞാൻ പതിയെ തിരിച്ചുനടന്നു. അവ തുടരട്ടെ.&lt;/p&gt;</description></item><item><title>ഓറഞ്ച്മീനുകളുടെ ഓർമ്മകൾ - ഭാഗം 1</title><link>https://www.binovarghese.com/ml/2019/nov/childhood-fishing/</link><pubDate>Fri, 08 Nov 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/nov/childhood-fishing/</guid><description>&lt;p&gt;ഏറെ നാളിനുശേഷമാണ് ഇന്ന് ആ തൊടിയിലേക്ക് നടന്ന് തുടങ്ങിയത്. അമ്മച്ചിയുടെ വീടിൻ്റെ പുറകുവശം വഴി തൊടിയിലേക്കുള്ള മൺപാത ചവിട്ടി ഞാൻ പതിയെ നടന്നു. വേലിക്കിരുവശവും നിൽക്കുന്ന മരച്ചുവട്ടിൽ കരിയിലകൾ ചിതറികിടക്കുന്നു. പോയകാല വസന്തത്തിൻ്റെ സ്‌മൃതികൾ.&lt;/p&gt;
&lt;p&gt;ആ നടത്തത്തിൻ്റെ ഒടുവിൽ ഞാൻ ആ തോടിൻ്റെ അരികിലിലെത്തി. ഇരുവശവും വെളുത്ത മണ്ണാണ്, പഞ്ചാരത്തരികൾ പോലെയുള്ള വെളുത്ത പൂഴിമണ്ണ് നിറഞ്ഞ പ്രേദശമാണിത്. അവിടെ നിന്ന് കൊണ്ട് പോയകാല ഓർമ്മകളെ ഞാൻ വെറുതെ വീണ്ടെടുത്തു.&lt;/p&gt;
&lt;p&gt;ഒരു വെള്ളത്തോർത്തും ചില്ല്കുപ്പിയുമായി ഞങ്ങൾ നാലോ അഞ്ചോപേർ അടങ്ങുന്ന ചെറുസംഘം ഇടക്കിടെ ആ തോട്ടിൽ വരുമായിരുന്നു. ചേച്ചിമാർതൊട്ട് കൂട്ടുകാർവരെ ആ സംഘത്തിലുണ്ടാകുറുണ്ട്. വെള്ളത്തിൽ കളിക്കുന്നതിൽ ഉപരി തോട്ടിലെ ചെറുമീനുളെ പിടിക്കുകയെന്നതായിരുന്നു ഞങ്ങളുടെ പ്രധാനയുദേശം.&lt;/p&gt;
&lt;p&gt;ധാരാളം ചെറുമീനുകൾ വസിച്ചിരുന്ന തോടായിരുന്നുഅത്. അങ്ങ് ദൂരെ എവിടെനിന്നോ വരുന്ന പുഴയുടെ കൈവഴികൾ കൃഷിയാവ്യശത്തിനായി പണ്ടുള്ളവർ വെട്ടിയ ഒരു വലിയ തോടുണ്ടായിരുന്നു കുറച്ച മാറി. അതിൻ്റെ ചെറുവഴിയായിരുന്നു ഞങ്ങളുടെ കുഞ്ഞൻ തോട്. തോടിനിരുവശവും നിറയെ കൈതകാടാരുന്നു, അവയുടെ നീണ്ട പച്ചഇലകളുടെ അരിക് മുഴുവൻ വെളുത്ത ചെറിയ ചെറിയ മുള്ളകൾ നിറഞ്ഞതായിരുന്നു. അവ ദേഹത്തു കോളുമെന്ന പേടികാരണം, അപ്പുറത്തേ പറമ്പിലോട്ട് കയറുവാൻ കൈതകാട് വെട്ടിത്തെളിച്ച കുറച്ചസ്ഥലത്താണ് ഞങ്ങളുടെ മീൻപിടുത്തം.&lt;/p&gt;
&lt;p&gt;നാലഞ്ചുപേർ പലപ്പോഴും കുട്ടത്തിൽ കാണുമെങ്കിലും, ആരേലും രണ്ടുപേർ മാത്രമേ തോട്ടിലിങ്ങാറുള്ളു. അതിനുള്ള സ്ഥലമേ കൈതക്കാട് ഒഴിഞ്ഞൊള്ളൂ. കുട്ടിനിക്കർ നനായതെയിരിക്കാൻ അത് തുടയിലോട് മടക്കികയറ്റിവെച്ച ഞങ്ങൾ തോട്ടിലോട്ടിറങ്ങും. വളരെ പതുക്കെയാണ് ഇറങ്ങുന്നത്, പുഴിമണ്ണ് തെളിഞ്ഞ കാണുന്ന തോട്ടിൽ വെള്ളം പെട്ടെന്ന്തന്നെ കലങ്ങും. വെളളംകലങ്ങിയാൽ മീനുകൾ വരുന്നത് കാണാൻ കഴിയില്ല. അത് ഒഴിവാക്കാൻ തന്ത്രശാലികളെപ്പോലെ മുട്ടറ്റം മാത്രം വെള്ളമുള്ള തോട്ടിൽ ഞങ്ങളിറങ്ങും.&lt;/p&gt;
&lt;p&gt;ഒരാൾക്ക് കാലകത്തി നിൽക്കാൻ മാത്രം വീതിയുള്ള തോട്ടിൽ ഞങ്ങൾ രണ്ടുപ്പേർ തോർത്തും പിടിച്ചോണ്ട് നേർക്ക് നേർ നിൽക്കും, എന്നിട്ട് തോർത്ത് പതിയെ വെള്ളത്തിയോട്ട് താഴ്ത്തിയിട്ട് അനങ്ങാതെ അവക്കുവേണ്ടി കാത്തുനിൽക്കും. ഇടക്കത് സംഭവിക്കും, പല കൂട്ടമായി ചെറുമീനുകൾ വരും. എൻ്റെ ചെറുവിരലിൻറെ നീളമേ കാണൂപലതിനും. അതിലും തീരെ പൊടിയാണേൽ വിട്ടകളയും, അതാണ് ഞങ്ങളുടെ ഇടയിലെ നിയമം.&lt;/p&gt;
&lt;p&gt;പേരറിയാത്ത കറുത്ത മീൻകുഞ്ഞുങ്ങൾ തുടങ്ങി പലവിധമുണ്ട്. ചാരനിറമുള്ള തലയിൽ മുക്കത്തി പോലെ തിളങ്ങുന്ന പൊട്ടുള്ള മുക്കുത്തിമീൻ, പേരുപ്പോലെ തന്നെ മനുഷ്യന്റെ തുപ്പൽ തിന്നുന്ന തുപ്പലുതീനി, അങ്ങനെ പലതും. കുട്ടത്തിൽ വാൽമാക്രികുഞ്ഞുകളും കാണും. പക്ഷേ ഞങ്ങളുടെ നോട്ടം മൊത്തം ഓറഞ്ച് നിറത്തിലുള്ള സുന്ദരൻ ചെറുമീനിലാണ്. കുട്ടത്തിൽ കാണാനും പിടിക്കാനും ബുദ്ധിമുട്ട്ഉള്ളയിനം. ഇവയിൽ ഏതാണേലും ചെറുവാലുമടിച്ച നീന്തി വരുന്നത് കാണാൻ രസമാണ്. കുട്ടിക്കാലത്തു വല്ലാതെ സന്തോഷം പകർന്ന തന്നിരുന്നു ആ കാഴ്ച്ച.&lt;/p&gt;
&lt;p&gt;മിക്കപ്പോഴും ഒഴുക്കിനെതിരെ നിൽക്കുന്ന ഞാനായിരിക്കും മീന്കുട്ടങ്ങളെ ആദ്യം കാണുന്നത് . അഞ്ചോ പത്തോ ഉള്ള പല കുട്ടങ്ങളായിട്ടായിരിക്കും ഇവ വരുന്നത്. ഒരേനിരയിൽ വരുന്ന ഇവ ഒരു ചെറിയ അനക്കം കേട്ടാൽത്തന്നെ ഞൊടിയിടകൊണ്ട് നാല്ഭാഗത്തോട്ടും വെട്ടിമാറം, അത് കാണുന്ന നമുക്ക് തോന്നും വെള്ളത്തിൽ ഒഴുകി വന്ന അവ പൂവ്‌പോലെ വിരിഞ്ഞുവെന്ന്. അത്കൊണ്ട് തന്നെ വെള്ളമനക്കാതെ ഞങ്ങൾ നിൽക്കും, തോർത്ത പിടിക്കുന്നവർ കൃത്യമായി ഒരുമിച്ച് പൊക്കിയെടുത്താൽ മാത്രമേ മീനുകളെ കിട്ടുകയുള്ളു. വീതികുറഞ്ഞ തോർത്തായത് കാരണം മീനുകൾ ഇരുവശത്തേക്കും ചാടി രക്ഷപെടാൻ സാധ്യതയേറെയാണ്. പലപ്പോഴും ഞങ്ങളെക്കാൾ മിടുക്കർ മീനുകളാരിക്കും. ആകാംഷയോടെ തോർത്തു പൊക്കിയെടുക്കുമ്പോൾ നിരാശയാരിക്കും ഫലം.&lt;/p&gt;
&lt;p&gt;തുടരും&amp;hellip;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/ml/2019/nov/childhood-fishing-part2/"&gt;ബാക്കി ഭാഗം വായിക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക&lt;/a&gt;&lt;/p&gt;</description></item><item><title>പുനർജനിക്കുക</title><link>https://www.binovarghese.com/ml/2019/nov/rebirth-through-love/</link><pubDate>Fri, 01 Nov 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/nov/rebirth-through-love/</guid><description>&lt;p&gt;എന്നിലെ മന്ത്രശക്തി മറയുന്നതിന്മുൻപ് ഒരിക്കൽകൂടി എനിക്ക് ചുംബിക്കണം നിന്നെ.&lt;/p&gt;
&lt;p&gt;പുലരുവോളം ആ കടൽക്കരയിൽ പരസ്പരം ചുണ്ടുകൾ കോർത്ത്കിടക്കണം നമുക്ക്. നിന്റെ കഴുത്തിൽ ഞാൻ എന്റെ പ്രണയത്തിന്റെ ശംഖ്മുദ്ര പതിപ്പിക്കുമ്പോൾ, നിന്നിലെ വന്യതകൾ എന്നിലേക്ക് ആവാഹിക്കുക നീ.&lt;/p&gt;
&lt;p&gt;കടൽക്കാറ്റും തിരമാലയുമായി നീ എന്നിലേക്ക് പറന്നുകയറുമ്പോൾ, നിന്റെ നക്ഷത്രക്കാടുകളിൽ മഴയായി പെയ്തിറങ്ങാം ഞാൻ. നിന്റെ കണ്ണുകളിലെ തിരതിളക്കത്തിന്റെ നിർവൃതിയിൽ, മൗനമന്ത്രങ്ങളുടെ കുമാരിയായ നിന്നിലൂടെ ഞാൻ പുനർജനിക്കും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ മരണത്തെ കീഴടക്കിയ മായാജാലക്കാരനാകും ഞാൻ. നിന്റെ മായാജാലക്കാരൻ.&lt;/p&gt;</description></item><item><title>പള്ളിയിൽപോകണം</title><link>https://www.binovarghese.com/ml/2019/oct/church/</link><pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/oct/church/</guid><description>&lt;p&gt;നാളെ എന്താ പരുപാടി?&lt;br&gt;
പള്ളിയിൽപോകണം.&lt;/p&gt;
&lt;p&gt;പള്ളിയിൽ പോയിട്ട്?&lt;br&gt;
എല്ലാരെയുമൊന്ന് കാണും. സുഖമാണോന്ന് ചോദിക്കും. പിന്നെ ഞങ്ങൾ കൂട്ടുകാർ എല്ലാകൂടെ ആ വരാന്തയിലിരുന്ന് ഒരോരോ കഥപറയും.&lt;/p&gt;
&lt;p&gt;എന്നിട്ട്?!&lt;br&gt;
ഞങ്ങൾ ചായക്കടയിൽ പോകും, ചൂട് ചായയും പഴംപ്പൊരിയും കഴിച്ചിട്ട് തിരിച്ച് വീട്ടിൽപോകും.&lt;/p&gt;
&lt;p&gt;അപ്പോൾ ദൈവത്തെ കാണണ്ടേ?!!&lt;br&gt;
പുള്ളി എപ്പോഴും നമ്മുടെ ഉള്ളിലുണ്ടല്ലോ.&lt;/p&gt;</description></item><item><title>കാത്തിരിക്കരുത് സഖീ</title><link>https://www.binovarghese.com/ml/2019/oct/dont-wait-for-me-my-love/</link><pubDate>Fri, 18 Oct 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/oct/dont-wait-for-me-my-love/</guid><description>&lt;p&gt;നീ കാത്തിരിക്കുകയാണെന്ന് എനിക്കറിയാം. ജന്മാന്തരങ്ങൾ നീ എനിക്കായി കാത്തിരിക്കുമെന്ന്
എൻ്റെ കാതിൽ മന്ത്രിച്ചത് ഞാൻ ഓർക്കുന്നു. പ്രാർത്ഥനാമന്ത്രങ്ങൾപ്പോലെ വിശുദ്ധമായ കാത്തിരിപ്പുകൾ.&lt;/p&gt;
&lt;p&gt;അവ നിന്റെ പ്രണയമാണെന്നറിഞ്ഞുകൊണ്ടു തന്നെ പറയുന്നു ഞാൻ, നീ കാത്തിരിക്കാൻ പാടില്ല. ഇനി നിന്റെ സ്വപ്നങ്ങളിൽ എന്റെ ഗന്ധമില്ലാതെയാകട്ടെ. ചുംബിച്ച ചുണ്ടുകൾ പരസ്പരം മറന്നുകൊൾക.&lt;/p&gt;
&lt;p&gt;നീ ഇനി എനിക്കായി കാത്തിരിക്കരുത്. നീ നിന്നെ തന്നെ പ്രണയിക്കുക. സ്വയം പൂത്ത് വസന്തമാകുക. അത് കണ്ട് ഞാൻ മിഴിപ്പൂട്ടിക്കോളാം.&lt;/p&gt;</description></item><item><title>വീണ്ടും പ്രണയത്തിലാകുക</title><link>https://www.binovarghese.com/ml/2019/oct/fall-in-love-again/</link><pubDate>Fri, 11 Oct 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/oct/fall-in-love-again/</guid><description>&lt;p&gt;ഇനി എനിക്ക് നിന്നെ പ്രണയിക്കുവാൻ കഴിയുമോ?!
കഴിയും, നിന്നെമാത്രം. നിന്നോടുതന്നെ ഞാൻ വീണ്ടും വീണ്ടും പ്രണയത്തിലാകും.&lt;/p&gt;
&lt;p&gt;നടന്നുതീരാത്ത സായാഹ്നയാത്രപ്പോലെ പ്രണയിക്കണം നമ്മുക്ക്. വഴിവൃക്ഷത്തണലിൽക്കൂടെ ആകാശംനോക്കി കൈകോർത്ത്നടന്ന് , പറഞ്ഞുതീരാത്ത കഥകൾപ്പറഞ്ഞ് സമയത്തെതോൽപ്പിക്കണം. അതുകണ്ട് നക്ഷത്രങ്ങൾ അസൂയപ്പെടുമ്പോൾ അവരെനോക്കി പുഞ്ചിരിക്കണം നമ്മുക്ക്.&lt;/p&gt;
&lt;p&gt;ഒടുവിൽ നാം നടന്നുചെല്ലുന്ന കടൽക്കരയിൽ ആകാശവും ഭൂമിയും സാക്ഷിനിൽക്കെ നീ എൻ്റെ കണ്ണുകളിൽ ചുംബിക്കുക. നിൻ്റെ മുറിപ്പാടുകളും ചിറകുകളും ഞാൻ എന്നിലേക്ക് സ്വീകരിക്കാം. ഹർഷാവേശത്തോടെ കാറ്റിരമ്പി നമ്മെപ്പൊതിയുമ്പോൾ, കടൽ നമ്മെ നനക്കട്ടെ.&lt;/p&gt;
&lt;p&gt;അതിൽ നാം അലിയട്ടെ, പരസ്പരം അലിഞ്ഞ് ഒന്നാകട്ടെ. അങ്ങനെ നമ്മൾ വീണ്ടും വീണ്ടും പ്രണയത്തിലാകും.&lt;/p&gt;</description></item><item><title>തണുപ്പ് പകരുന്നവർ</title><link>https://www.binovarghese.com/ml/2019/oct/peoples-with-love-and-care/</link><pubDate>Thu, 10 Oct 2019 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/oct/peoples-with-love-and-care/</guid><description>&lt;p&gt;ചില മനുഷ്യരുണ്ട് ഈ ഭൂമിയിൽ, ചുറ്റുമെത്ര ചൂടാണേലും തണുപ്പ് പകരുന്നവർ. അവരുടെ കൂടെയുള്ള നടത്തങ്ങൾ ഇരുട്ടിലും ഉള്ളിൽ പ്രകാശംപൊഴിക്കാറുണ്ട്.&lt;/p&gt;
&lt;p&gt;ദുഃഖത്താൽ കനംകൊണ്ട ഹൃദയങ്ങളെ തമാശകൾ നിറഞ്ഞ പൊട്ടിച്ചിരികളാൽ നേർപ്പിക്കുവാനും, ആഹാരത്തോടൊപ്പം സ്നേഹം പങ്കുവെയ്ക്കുവാനും ഹൃദയമുള്ളവർ. ചുറ്റുമുള്ള ആൾക്കൂട്ടത്തിൽ വല്ലാതെ ഒറ്റപ്പെട്ടു പോകുമ്പോൾ ഓടിയെത്തുവാൻ മനസ്സാഗ്രഹിക്കുന്ന ഇടങ്ങൾ.&lt;/p&gt;
&lt;p&gt;അങ്ങനെയുള്ള നൻമയുടെ തുരുത്തുകളാണ് ഈ ഭൂമിയെ ഇന്നും പ്രകാശമുള്ള ഇടമായി നിലനിർത്തുന്നത്.&lt;/p&gt;</description></item><item><title>പോയി അവൻ</title><link>https://www.binovarghese.com/ml/2019/oct/im-memory-of-aaryaan/</link><pubDate>Fri, 04 Oct 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/oct/im-memory-of-aaryaan/</guid><description>&lt;p&gt;തല ചുമരിൽ അടിച്ചപ്പോൾ&lt;br&gt;
അച്ഛന്റെ അദൃശ്യകരങ്ങൾ&lt;br&gt;
അവനെ ചേർത്ത്പിടിച്ചിരിക്കാം.&lt;br&gt;
അവനിനി കരയാതിരിക്കാൻ&lt;br&gt;
കൂടെക്കൊണ്ടുപോയതായിരിക്കാം.&lt;/p&gt;
&lt;p&gt;ഇനി അവർക്ക് ഒരുമിച്ച് കളിക്കാല്ലോ..&lt;br&gt;
ആ നെഞ്ചിൽ തലവെച്ച് ഉറങ്ങാല്ലോ..&lt;br&gt;
എന്നും അവൻ്റെ നിഷ്കളങ്കതയിൽ ജീവിക്കട്ടെ ഇനി.&lt;/p&gt;
&lt;p&gt;അർഹത ഇല്ലാന്നറിഞ്ഞിട്ടും, മാപ്പ് അനിയൻകുട്ടാ.&lt;br&gt;
നിന്റെ ബാല്യം കാത്തുസൂക്ഷിക്കാൻ കഴിയാതെ,&lt;br&gt;
നിന്നെ കൊന്ന ഈ ലോകം&lt;br&gt;
നിൻ്റെ ചിതയിലെരിഞ്ഞ് തീരട്ടെ.&lt;/p&gt;</description></item><item><title>നിന്നോടുള്ള പ്രണയം</title><link>https://www.binovarghese.com/ml/2019/sep/my-love-for-you/</link><pubDate>Sat, 28 Sep 2019 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/sep/my-love-for-you/</guid><description>&lt;p&gt;എനിക്ക് നിന്നോടുള്ള പ്രണയം ആ രാത്രിയാത്രയിലാണ് തോന്നിത്തുടങ്ങിയത്.
പാതിരാത്രിയിൽ അരിച്ചുകയറുന്ന തണുത്ത കാറ്റ് പോലെ അതെന്നെ പൊതിയുന്നുണ്ട്.&lt;/p&gt;
&lt;p&gt;ഇരുണ്ട കിടപ്പുമുറിയിലെ ചെറുവെട്ടംപ്പോലെ അതെന്നെ ആശ്വസിപ്പിക്കാൻ നോക്കുന്നത് എനിക്ക് കാണാം. അരികിലുള്ള സ്നേഹം പോലെ അതെന്നെ നെഞ്ചോട് ചേർത്തുപിടിക്കുന്നത് എനിക്കറിയാൻ കഴിയുന്നുണ്ട്.&lt;/p&gt;
&lt;p&gt;എന്റെ നിശ്വാസമായി തീരുവാൻ വെമ്പുന്ന നിന്നെ ഞാൻ കേൾക്കുന്നുണ്ട്. ഒന്നായിത്തീരുവാൻ കൊതിക്കുന്ന നിൻ്റെ പ്രണയത്തെ ഞാൻ എന്നിലേക്ക്‌ ചേർക്കട്ടെ. നാമും നമ്മുടെ പ്രണയവും അമരത്വം ഉള്ളതാകട്ടെ.&lt;/p&gt;</description></item><item><title>മുറിവുകൾ</title><link>https://www.binovarghese.com/ml/2019/sep/what-is-love-answer-by-a-mother/</link><pubDate>Fri, 20 Sep 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/sep/what-is-love-answer-by-a-mother/</guid><description>&lt;p&gt;എന്താണ് സ്നേഹം ?
ഉത്തരംതേടി ഏറെ അലഞ്ഞ ചോദ്യമായിരുന്നു അത്. എന്റെ എല്ലാ ചോദ്യങ്ങൾക്കും
ഉത്തരം തരുന്ന അമ്മയുടെ അരികിൽത്തന്നെ ചെന്നു ഒടുവിൽ. തെല്ലും ആലോചിക്കാതെ അമ്മ ഉത്തരംതന്നു.&lt;/p&gt;
&lt;p&gt;പ്രതിഫലേച്ചയില്ലാതെ ഒരുവൻ അപരനുവേണ്ടി ഏൽക്കുന്ന മുറിവുകളാണ് സ്നേഹം.&lt;/p&gt;
&lt;p&gt;മുറിവുകളാണ് സ്നേഹം. വാക്കുകൾക്ക് മനസ്സുകളേക്കാൾ ആഴം തോന്നുന്നു. കണ്ണ് പൂട്ടിയിരിക്കുമ്പോൾ ഉള്ളിലിരുന്ന് ആരോ മന്ത്രിക്കുന്നുണ്ടായിരുന്നു. ഇത് തന്നെയാണെല്ലോ ക്രിസ്തുവും അവളും പറഞ്ഞത്. മുറിവുകളാണ് സ്നേഹം. പ്രകാശമൊഴുകുന്ന മുറിവുകൾ.&lt;/p&gt;</description></item><item><title>അനുജൻ</title><link>https://www.binovarghese.com/ml/2019/sep/brother/</link><pubDate>Fri, 13 Sep 2019 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/sep/brother/</guid><description>&lt;p&gt;നീയെനിക്കാരാ..??&lt;br&gt;
മൂത്തപുത്രനോ,&lt;br&gt;
അതോ ആത്മസുഹൃത്തോ ?!&lt;br&gt;
അമ്മയുടെ മറുരൂപമോ&lt;br&gt;
അപ്പന്റെ ആൾരൂപമോ&lt;br&gt;
ആയിരിക്കണം നീ.&lt;br&gt;
അതുമല്ലെങ്കിൽ&lt;br&gt;
ഞാൻ തന്നെയാകണം നീ.&lt;br&gt;
അതെ, ഇതെല്ലാം ചേർന്ന&lt;br&gt;
രൂപമാണ് നീ.&lt;br&gt;
എന്റെ അനുജനാണ് നീ.&lt;/p&gt;
&lt;p&gt;എന്നിലെ എന്നെയും&lt;br&gt;
അമ്മയുടെ സ്വപ്നങ്ങളും അപ്പന്റെ&lt;br&gt;
വർണ്ണങ്ങളും തരാം ഞാൻ.&lt;br&gt;
സ്നേഹിതന്റെ സ്വാതന്ത്ര്യവും,&lt;br&gt;
പുത്രവാൽസല്യവ്വും ഏകുന്നു നിനക്ക്.&lt;br&gt;
നന്മവൃക്ഷമാകുക നീ,&lt;br&gt;
ജ്യേഷ്ഠനെന്ന് ആനന്ദിക്കെട്ടേ ഞാൻ.&lt;/p&gt;</description></item><item><title>നീ</title><link>https://www.binovarghese.com/ml/2019/sep/you-are-my-love/</link><pubDate>Fri, 06 Sep 2019 00:09:36 +0300</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/sep/you-are-my-love/</guid><description>&lt;p&gt;അന്ന് കണ്ടുമുട്ടിയപ്പോൾതൊട്ട് മനസ്സിലുള്ള ചോദ്യമാണ്, ആരാണ് നീ.&lt;/p&gt;
&lt;p&gt;സ്കൂളിന്റെ തുരുമ്പുപിടിച്ച ജനാലവഴി ഒളികണ്ണിട്ട് നോക്കിയപ്പോളാണ് ആ ചോദ്യം ഒരു മിന്നലായി മനസ്സിൽ വന്നത്. നോട്ടങ്ങളിൽ സ്നേഹത്തിന്റെ കവാടമൊളിപ്പിച്ച് വെച്ചപ്പോൾ, എന്നോടുള്ള കരുതലിന്റെ കാണാപ്പുറങ്ങൾ കാണിച്ചുതന്നപ്പോൾ നീയെനിക്ക് ഏറ്റവും പ്രിയപ്പെട്ട കൂട്ടുകാരിയായി.&lt;/p&gt;
&lt;p&gt;സൗഹൃദത്തിന്റെ അങ്ങേത്തലക്കലെ നിന്റെ കൈവിരലുകളുടെ സ്പർശനത്തിലാണ് നീ എന്റെ പ്രണയിനിയാകുന്നത് ഞാനറിഞ്ഞത്. ഇരുട്ടിലെ നിന്റെ കണ്ണുകളുടെ തിളക്കവും, നിശ്വാസങ്ങളുടെ ആഴവുമാണ് എന്റെ മറുപാതിയാണ് നീയെന്ന് ചൊല്ലിത്തന്നത്.&lt;/p&gt;
&lt;p&gt;ജീവിതവഴിയോരങ്ങളിൽ വീണുപോയപ്പോളെല്ലാം കൈപ്പിടിച്ച്ചേർത്ത് &amp;ldquo;ഇനിയേറെ ദൂരം പോകാനുണ്ടെന്ന്&amp;rdquo; മൗനമന്ത്രം ചൊല്ലിത്തന്നപ്പോൾ അമ്മയുടെ മുഖമായിരുന്നു നിനക്ക്.&lt;/p&gt;
&lt;p&gt;എന്റെ ഹൃദയവാതിൽത്തുറന്ന് എന്റേത് മാത്രമായിരുന്ന ആകാശത്തിലേക്ക് നീ പറന്നുകയറിയപ്പോൾ നിനക്കെന്റെ തന്നെ മുഖമായിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഒടുവിൽ ആ പച്ചക്കുന്നുകൾക്കിടയിലൂടെ കൈകോർത്ത് നടന്ന്, നിൻ്റെ ഹൃദയത്തടാകത്തിൽ ഞാൻ ലയിക്കുമ്പോൾ നിശബ്ദപ്രാർത്ഥനയോടെ നീ നിന്നത് എൻ്റെ കണ്ണുകളിൽ നിറയുന്നുണ്ടായിരുന്നു. അപ്പോൾ എൻ്റെ ഓർമ്മകളിൽ, നീയൊരു പ്രകാശമായി ഒഴുകിയിറങ്ങുന്നുണ്ടായിരുന്നു. ആ മാത്രയിൽ ഞാൻ അറിഞ്ഞിരുന്നു, എൻ്റെ ഉള്ളിൽ നിന്ന് മന്ത്രിക്കുന്ന ശബ്ദം.&lt;/p&gt;
&lt;p&gt;നീ&amp;hellip; നീ&amp;hellip;നീ&amp;hellip; സ്നേഹം.&lt;/p&gt;</description></item><item><title>ഇട്ടൂലിക്കളി</title><link>https://www.binovarghese.com/ml-musings/2019/youth/</link><pubDate>Sun, 30 Jun 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2019/youth/</guid><description>&lt;p&gt;ഇട്ടൂലിക്കളിയിൽ ജയിക്കാൻ
ചൂട് ഇഷ്ട്ടപ്പെട്ടിരുന്ന
ബാല്യത്തിൽ നിന്ന്
ജീവിതച്ചൂടിൽ ജയിക്കാൻ
ഒരിറ്റ് തണുപ്പ് തിരയുന്ന
യൗവ്വനത്തിലേക്ക് മാറിയിരിക്കുന്നു
എൻെറ ജീവിതം.&lt;/p&gt;</description></item><item><title>നഷ്ട്ടപുഷ്പം</title><link>https://www.binovarghese.com/ml/2019/feb/lost-love-story/</link><pubDate>Thu, 14 Feb 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/feb/lost-love-story/</guid><description>&lt;p&gt;ഞാന്‍ ആദ്യം അവളില്‍ ശ്രദ്ധിച്ചത് ആ കണ്ണുകളായിരുന്നു. അതിന്റെ തിളക്കവും ആഴവും എന്നേ അത്ഭുതപ്പെടുത്തി. അതില്‍ക്കൂടുതല്‍ അത് എന്നേ ആകര്‍ഷിച്ച് കൊണ്ടേയിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഹൈസ്‌കൂള്‍ ചുമരുകളില്‍ അത് പ്രണയത്തിന്റെ തോരാമഴ പെയ്യിച്ചു. എന്റെ ആദ്യ പ്രണയം ആ മഴയത്താണ് ആ പൂവ് വിരിഞ്ഞത്. അത് ആദ്യം പറഞ്ഞത് എന്റെ ധീരായായ പെണ്ണ് തന്നെയായിരുന്നു. നോട്ടങ്ങള്‍ കൊണ്ടായിരുന്നു ആദ്യ പ്രണയം. പിന്നീട് ഫോണിന്റെ ഇരുവശത്തും നിന്നു കൊണ്ട് ഞങ്ങളുടെ ലോകം ഞങ്ങള്‍ സൃഷ്ട്ടിച്ചു.&lt;/p&gt;
&lt;p&gt;അവളേക്കാള്‍ കൂടുതല്‍ വേറൊരു പെണ്‍കുട്ടിയോട് മിണ്ടിയാല്‍പ്പോലും അവള്‍ മുഖംവീര്‍പ്പിച്ച നടന്നു. ഞാന്‍ അവളെ അതും പറഞ്ഞ് പലപ്പോഴും പ്രകോപിപ്പിച്ചു. കൂട്ടുകാരുടെ കളിയാക്കലുകളെ പൊട്ടിച്ചിരിച്ചുകൊണ്ട് നിഷ്പ്രഭമാക്കിയ അവള്‍ പക്ഷേ എന്റെ കളിയാക്കലുകളുടെ മുന്നില്‍ കണ്ണ് നിറഞ്ഞുനിന്നു. ആ കണ്ണീരിന്റെ നനവ് ഇന്നും എന്റെ ഉള്ളില്‍ തളംകെട്ടിക്കിടക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ഒടുവില്‍ എന്റെ ഓട്ടോഗ്രാഫില്‍ കൂടുതലും അവള്‍ക്ക് വേണമെന്ന വാശിയില്‍ അറിയാത്ത സാഹിത്യമെഴുതി എനിക്ക് തന്നപ്പോഴാണ് ആ കണ്ണുകളിലെ നിഷ്‌കളങ്കതയുടെ ആഴം ഞാന്‍ കണ്ടത്.
ഹൈസ്‌കൂള്‍ ജീവിതത്തില്‍ നിന്ന് എഞ്ചിനീയറിങ് പഠനകാലത്തും എന്റെ കൂടെ നടക്കാന്‍ അവള്‍ക്ക് കിട്ടിയ ഗവണ്‍മെന്റ് കോളേജ് വിട്ട് എനിക്ക് കിട്ടിയ കോളേജില്‍ അവള്‍ ചേര്‍ന്നു. ഞങ്ങളുടെ പ്രണയം കാണാന്‍ കോളേജ് ചുമരുകള്‍ പതുങ്ങിനിന്നു. പ്രണയമഴ പെയ്ത്കയറിയപ്പോള്‍ നേരെ വീട്ടില്‍ പോയി പ്രണയമവതരിപ്പിച്ചു. എത്രയും പെട്ടെന്ന് അവളെ സ്വന്തമാക്കാന്‍ ഞാന്‍ കൊതിച്ചു. പക്ഷേ സ്വന്തം മതം എന്ന ഒറ്റ നിബന്ധന വച്ച് അമ്മ അതിനേ എതിര്‍ത്തു.&lt;/p&gt;
&lt;p&gt;മതസ്‌നേഹം മാറി സ്‌നേഹം മാത്രമാകണമെന്ന് ഈ ലോകത്തോട് ഉറക്കെ പറയണം. പക്ഷേ അകാലത്തില്‍ അപ്പന്‍ പോയപ്പോള്‍ തൊട്ട് അമ്മയാണ് എല്ലാം. ഇന്നോളും ഒന്നും ആഗ്രഹിക്കാതെ സ്‌നേഹം തന്ന ആ അമ്മക്ക് മുന്നില്‍ തോറ്റു കൊടുത്ത ഞാന്‍, അവളേ എന്നില്‍ നിന്ന് പറിച്ചുമാറ്റാന്‍ ശ്രമിച്ചു. ധീരനല്ലാത്ത ഒരു കടലാസ് കാമുകന്‍ മാത്രമാണ് ഞാന്‍ എന്ന് തിരിച്ചറിഞ്ഞ നിമിഷം.&lt;/p&gt;
&lt;p&gt;പക്ഷേ ഞാന്‍ പറിച്ചു കളഞ്ഞതിനേക്കാള്‍ വേഗത്തില്‍ അവള്‍ എന്നില്‍ പടര്‍ന്ന് കയറി വേരുകളുന്നീ. എന്നില്‍ പടരുകയും പൂക്കുകയും ചെയ്യുന്ന അവള്‍ക്ക് അന്യനാകുന്നതോര്‍ത്ത് ഞാന്‍ ഭയപ്പെട്ടു.പക്ഷേ പ്രണയ മഴ കൊണ്ട് ഞങ്ങള്‍ പൂക്കുകയായിരുന്നു, ഇടയ്ക്ക് എവിടെയോ വാടിയെങ്കിലും വസന്തം പിന്നെയും വന്നുകൊണ്ടേയിരുന്നു.&lt;/p&gt;
&lt;p&gt;ഒടുവില്‍ വീട്ടുകാരുടെ സമ്മതവുമായി എന്റെ അരികില്‍ വന്ന അവളുടെ മുന്നില്‍ ഞാന്‍ വീണ്ടും തോറ്റു. എന്റെ വീട്ടുകാര്‍ക്ക് വേണ്ടി ഞാന്‍ അവളേ മറന്നേപ്പറ്റു എന്നായി കാര്യങ്ങള്‍. അന്നാണ് എന്റെ പൂവില്‍ നിന്ന് തോരാകണ്ണീര്‍ പെയ്ത് തുടങ്ങിയത്. പക്ഷേ ഞാന്‍ പറഞ്ഞ കൊടുത്ത ആല്‍ക്കമിസ്റ്റിന്റെ കഥ അവള്‍ എന്നോട് പറഞ്ഞ് കൊണ്ടേയിരുന്നു. &amp;lsquo;നീ എന്തേങ്കിലും ആത്മാര്‍ഥമായി ആഗ്രഹിച്ചാല്‍ അത് തരാന്‍ ഈ ലോകം മുഴുവന്‍ നിന്റെ കൂടെ വരും&amp;rsquo;. അതില്‍ വിശ്വസിച്ച അവള്‍ എന്നെ പ്രണയിച്ചകൊണ്ടേയിരുന്നു അറിയാതെ ഞാനും.&lt;/p&gt;
&lt;p&gt;നാട്ടിലെ ജോലി പോരാന്ന് തോന്നിയപ്പോള്‍ ഞാന്‍ പ്രവാസിയായി. എന്നും വിളിക്കുന്ന അവള്‍ ഒരു ദിവസം വിളിച്ച പറഞ്ഞു നാളെ അവളെ പെണ്ണ് കാണാന്‍ വരുമെന്ന്. ഞാന്‍ എന്ത് പറയണം. പ്രണയത്തിന്റെ പത്താം വര്‍ഷത്തില്‍ നമുക്ക് പിരിയാം എന്നോ. അറിയില്ല. അവള്‍ മറുപടി പ്രതീക്ഷിക്കുന്നില്ല എന്നു തോന്നി. കരയാന്‍ അവള്‍ മറന്നുപോയിരിക്കുന്നു ഞാനും.&lt;/p&gt;
&lt;p&gt;ഫോണിന്റെ അങ്ങേത്തലയ്ക്കലെ നിശബ്ദതതയില്‍ പുറത്ത് എവിടെയോ കാറ്റ് വീശുന്നത് ഞാന്‍ കേട്ടു. പ്രണയവസന്തം തന്ന പൂവിന് ഇനി കണ്ണീര്‍ മാത്രം ബാക്കിയെന്ന് കാറ്റ് കുറ്റപ്പെടുത്തുന്നുണ്ടായിരുന്നു. കാറ്റില്‍ എവിടെയോ മരുഭൂമിയിലെ മഴയിരമ്പം മുഴങ്ങുന്നു. ആ മഴയില്‍ എന്നും വാടാത്ത പൂവായി നില്‍ക്കട്ടെ നീ.&lt;/p&gt;</description></item><item><title>ഗന്ധം</title><link>https://www.binovarghese.com/ml-musings/2019/smell-of-you-in-iam-awake/</link><pubDate>Fri, 04 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2019/smell-of-you-in-iam-awake/</guid><description>&lt;p&gt;ഉറങ്ങി ഉറങ്ങി ഞാൻ കണ്ട&lt;br&gt;
സ്വപ്നങ്ങളേക്കാൾ&lt;br&gt;
ഉറക്കമിളച്ച് ഞാൻ ചുംബിച്ച&lt;br&gt;
ഓർമ്മകൾക്കാണ്&lt;br&gt;
അവളുടെ ഗന്ധമുള്ളത്.&lt;/p&gt;</description></item><item><title>മാറ്റം</title><link>https://www.binovarghese.com/ml-musings/2019/change/</link><pubDate>Thu, 03 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml-musings/2019/change/</guid><description>&lt;p&gt;മാറ്റം!&lt;br&gt;
ചിലപ്പോൾ കൊതിപ്പിക്കുകയും&lt;br&gt;
ചിലപ്പോൾ കരയിപ്പിക്കുകയും&lt;br&gt;
ചെയ്യുന്ന മായാജാലം.&lt;/p&gt;</description></item><item><title>ഞാൻ</title><link>https://www.binovarghese.com/ml/2019/feb/about-bino/</link><pubDate>Wed, 02 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ml/2019/feb/about-bino/</guid><description>&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/ml/2019/about-bino.jpeg"&gt;
&lt;/figure&gt;

&lt;p&gt;ഞാൻ ബിനോ കൊച്ചുമോൾ വർഗീസ്.&lt;/p&gt;
&lt;p&gt;ഇനി ഏറെ ദൂരം പോകാനുണ്ടെന്ന് സദാമന്ത്രിക്കുന്ന മനസ്സുമായി എന്നെത്തന്നെ തിരയുന്ന യാത്രികൻ. ഈ വഴിയാത്രയിൽ പകർന്ന് കിട്ടിയ അനുഭവങ്ങളും ആശയങ്ങളും ഇവിടെ ഞാൻ പങ്ക് വെയ്ക്കുന്നു.&lt;/p&gt;
&lt;p&gt;ഇതിലൂടെ ഇനി നിന്നിൽ ഒരു മരപ്പെയ്ത്ത് ആകട്ടേ ഞാൻ, മഴ തോരുമ്പോളും നിറഞ്ഞുപെയ്യുന്ന മരങ്ങളെപോലെ.&lt;/p&gt;
&lt;p&gt;യാത്ര തുടരട്ടെ, ഞാൻ ആരാണെന്ന് ഇനിയും അറിയാനുണ്ട്.&lt;/p&gt;</description></item><item><title/><link>https://www.binovarghese.com/archive/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/archive/</guid><description/></item><item><title/><link>https://www.binovarghese.com/for/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/for/</guid><description/></item><item><title/><link>https://www.binovarghese.com/ft/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/ft/</guid><description/></item><item><title/><link>https://www.binovarghese.com/search/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/search/</guid><description/></item><item><title/><link>https://www.binovarghese.com/stats/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/stats/</guid><description/></item><item><title/><link>https://www.binovarghese.com/travel/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/travel/</guid><description/></item><item><title/><link>https://www.binovarghese.com/wall/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/wall/</guid><description/></item><item><title>Antilibrary</title><link>https://www.binovarghese.com/common/antilibrary/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/common/antilibrary/</guid><description>&lt;h3 id="fiction"&gt;Fiction&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The Sun and Her Flowers - Rupi Kaur&lt;/li&gt;
&lt;li&gt;Milk and honey - Rupi Kaur&lt;/li&gt;
&lt;li&gt;Salt - Nayyirah Waheed&lt;/li&gt;
&lt;li&gt;We Doubt The Call Even As We Answer It - Meghan Rose Morrison&lt;/li&gt;
&lt;li&gt;Kafka on the Shore - Haruki Murakami&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="finance"&gt;Finance&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I Will Teach You To Be Rich - Ramit Sethi&lt;/li&gt;
&lt;li&gt;The psychology of money timeless lessons on wealth greed and happiness - Morgan Housel&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="non-fiction"&gt;Non fiction&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A Man &amp;amp; His Watch: Iconic Watches and Stories from the Men Who Wore Them - Matt Hranek&lt;/li&gt;
&lt;li&gt;The Story of San Michele - Axel Munthe&lt;/li&gt;
&lt;li&gt;You are here Book - Thich Nhat Hanh&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The $100 Startup: Reinvent the Way You Make a Living, Do What You Love, and Create a New Future.&amp;rdquo; - Chris Guillebeau&lt;/li&gt;
&lt;li&gt;Code Complete (Developer Best Practices) - McConnell Steve,,coding,&lt;/li&gt;
&lt;li&gt;Why we sleep - Matthew walker&lt;/li&gt;
&lt;li&gt;The Five Love Languages: How to Express Heartfelt Commitment to Your Mate - Gary Chapman&lt;/li&gt;
&lt;li&gt;This is Water - David Foster Wallace&lt;/li&gt;
&lt;li&gt;The War of Art: Break Through the Blocks and Win Your Inner Creative Battles - Steven Pressfield&lt;/li&gt;
&lt;li&gt;Turning Pro: Tap Your Inner Power and Create Your Life&amp;rsquo;s Work - Steven Pressfield&lt;/li&gt;
&lt;li&gt;The Practicing Mind - Thomas M. Sterner&lt;/li&gt;
&lt;li&gt;Meditations - Marcus Aurelius&lt;/li&gt;
&lt;li&gt;Rules for Life: An Antidote to Chaos - Jordan B. Peterson&lt;/li&gt;
&lt;li&gt;Deep Work: Rules for Focused Success in a Distracted World - Cal Newport&lt;/li&gt;
&lt;li&gt;Stillness Is the Key - Ryan Holiday&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Thinking, Fast and Slow&amp;rdquo; - Daniel Kahneman&lt;/li&gt;
&lt;li&gt;A Guide to the Good Life: The Ancient Art of Stoic Joy - William B. Irvine&lt;/li&gt;
&lt;li&gt;The Courage to Be Disliked: The Japanese Phenomenon That Shows You How to Change Your Life and Achieve Real Happiness - Fumitake Koga and Ichiro Kishimi&lt;/li&gt;
&lt;li&gt;What Got You Here Won’t Get You There - Marshall Goldsmith&lt;/li&gt;
&lt;li&gt;How to Win Friends &amp;amp; Influence People - Dale Carnegie&lt;/li&gt;
&lt;li&gt;The 4 hour work week - Tim Ferris&lt;/li&gt;
&lt;li&gt;Stiff: The Curious Lives of Human Cadavers - Mary Roach&lt;/li&gt;
&lt;li&gt;I came upon a lighthouse - Sanjana Desai&lt;/li&gt;
&lt;li&gt;Mindset: &amp;lsquo;The New Psychology of Success - Carol Dweck&lt;/li&gt;
&lt;li&gt;Man search for meaning - Viktor Frankl&lt;/li&gt;
&lt;li&gt;Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days - Jake Knapp&lt;/li&gt;
&lt;li&gt;Eat Well, Move Well, Live Well: 52 Ways to Feel Better in a Week - Galina Denzel and Roland Denzel&lt;/li&gt;
&lt;li&gt;Get some headspace 10 minutes can make all the Difference - Andy Puddicombe&lt;/li&gt;
&lt;li&gt;Finding Your Hummus: Discover your personal and organizational purpose - Michael Kouly&lt;/li&gt;
&lt;li&gt;Habits of happy brain - Loretta Breuning&lt;/li&gt;
&lt;li&gt;The Untethered Soul: The Journey Beyond Yourself - Michael Alan Singer&lt;/li&gt;
&lt;li&gt;The 5 AM Club: Own Your Morning. Elevate Your Life - Robin Sharma&lt;/li&gt;
&lt;li&gt;Make time book - Jake Knapp&lt;/li&gt;
&lt;li&gt;The Magic Mountain - Thomas Mann&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Awesome personal websites</title><link>https://www.binovarghese.com/blogroll/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/blogroll/</guid><description>&lt;p&gt;Here’s a curated collection of awesome personal websites by inspiring individuals across the web. These creators contribute to the online community by sharing knowledge, resources, and personal insights, promoting a culture of continuous learning and support.&lt;/p&gt;
&lt;p&gt;Most of these sites feature a diverse range of topics, from personal reflections and technology to design and media. I’ve included brief bios and categorized each site based on its primary focus, though these categories are flexible. I encourage you to explore these sites and discover your own favorites.&lt;/p&gt;
&lt;p&gt;This list will continue to grow, and I hope you find inspiration among the websites and people below!&lt;/p&gt;






 


&lt;div class="card mb-3 p-0 alert alert-warning"&gt;
 &lt;div class="card-body"&gt;
 
 &lt;h5 class="card-title mt-0"&gt;
 Attenion please!
 &lt;/h5&gt;
 
 &lt;p class="card-text text-muted fs-6 mt-0"&gt;
 
 
 You can explore the wonderful personal blogs curated by Manu on &lt;a href="https://blogroll.org"&gt;Blogroll website&lt;/a&gt;.
 
 
 &lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;div class="row"&gt;

&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://maggieappleton.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Maggie Appleton&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Maggie makes visual essays about programming, design, and anthropology.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.swyx.io/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Shawn Wang&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Writer, Speaker, Developer Advocate. He help developers to Learn in Public!&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.sarasoueidan.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Sara Soueidan&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Sara is an independent inclusive design engineer, author, speaker, and trainer.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://brianlovin.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Brian Lovin&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Brian is a designer, podcaster, writer, and software tinkerer.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://mxb.dev/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Max Böck&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Max Böck is a front-end developer and co-founder of Codista, a software studio in Vienna.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://nadh.in/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Kailash Nadh&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Kailash is a hobbyist software developer and a tinkerer.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://leerob.io/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Lee Robinson&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He is helping developers build a faster web.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.monica.dev/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Monica Powell&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;She is a software engineer, content creator &amp;amp; community organizer&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://arslan.io/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Fatih Arslan&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Software Engineer interested in Photography, Design, Distributed Systems, Go, Tooling, and Coffee.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.joshwcomeau.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Josh W. Comeau&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He is solo indie hacker focused on empowering up-and-coming software developers.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://joel.is/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Joel Gascoigne&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;A problem solver at heart and the Founder CEO of Buffer.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://manuelmoreale.com" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Ken&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Developer and designer freelancer&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://blog.cassidoo.co/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Cassidy Williams&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;A startup advisor and investor, developer experience expert, and meme-maker on the internet.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://jvns.ca/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Julia Evans&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;A software developer and programming zines creator.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://robinrendle.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Robin Rendle&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;A British designer, writer, and typographic nuisance from San Francisco.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://paulgraham.com" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Paul Graham&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He is a programmer, writer, and investor. &lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://kevquirk.com/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Kev Quirk&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Writing about web design, blogging, technology, watch collecting or homesteading.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://vanschneider.com/blog/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Tobias van Schneider&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;An award-winning designer living in Stockholm New York.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://www.benkuhn.net/" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Ben&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He is trying to understand the world, building things that improve it, and talking about it on the Internet.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://candost.blog" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Candost&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Hunting timeless insights into humans and software and helping others on the way.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://thejollyteapot.com" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Nicolas Magand&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He write and comment mainly on software, the internet, Apple, and media news.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://gkeenan.co" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Keenan&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;On a journey to heal his inner-creative.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://rachsmith.com" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Rach Smith&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Developer building software for CodePen, wife, mother of two, productivity nerd and recovering screen addict.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://spencer.place" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Spencer&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Programmer, artist, and internet caretaker.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://ken.fyi" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Ken&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;Designer, sensemaker, word nerd, giving dimension to ideas.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="col-xl-4 col-lg-4 col-md-4 col-sm-6 mb-4"&gt;
 &lt;a href="" aria-label="Link to the blog"&gt;
 &lt;div class="card h-100"&gt;
 &lt;div class="card-body"&gt;
 &lt;a href="https://arun.is" class="m-0 fs-6 color-cgreen"&gt;
 &lt;h5 class="title mt-0"&gt;Arun Venkatesan&lt;/h5&gt;
 &lt;/a&gt;
 &lt;p class="small p-01"&gt;He is a product designer, engineer, photographer, and writer.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/a&gt;
&lt;/div&gt;</description></item><item><title>Blog Roadmap</title><link>https://www.binovarghese.com/roadmap/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/roadmap/</guid><description>&lt;h4 id="mar-26"&gt;Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Add comments to the posts.&lt;/li&gt;
&lt;li&gt;Add a random button to view a random post from the website.&lt;/li&gt;
&lt;li&gt;Add &amp;lsquo;Made in India&amp;rsquo; tag to the footer.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Changelog</title><link>https://www.binovarghese.com/changelog/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/changelog/</guid><description>&lt;h4 id="03-jun-26"&gt;03 Jun 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Fixed hover animation on travel page cards — &lt;code&gt;transition&lt;/code&gt; was missing on the base &lt;code&gt;.card&lt;/code&gt; class, causing the lift effect to snap instead of animate.&lt;/li&gt;
&lt;li&gt;Improved travel page card style — uniform image height, image zoom on hover, portrait aspect ratio maintained, card body pinned to bottom with &lt;code&gt;mt-auto&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Converted &lt;a href="https://www.binovarghese.com/travel"&gt;travel page&lt;/a&gt; sections (Bahrain, Georgia, Kerala, etc.) into accordions — multiple sections can be open at the same time, Bahrain opens by default.&lt;/li&gt;
&lt;li&gt;Improved footer styling while keeping the existing 3-strip structure — boxed social icon buttons, separator dots in the credits row, hover underline on nav links, and a quote icon in the bottom bar.&lt;/li&gt;
&lt;li&gt;Fixed note card animation — a duplicate &lt;code&gt;.note-card&lt;/code&gt; CSS block was overriding the &lt;code&gt;transition&lt;/code&gt; property, removing the &lt;code&gt;translateY&lt;/code&gt; animation on hover.&lt;/li&gt;
&lt;li&gt;Created a unified pagination partial used across all section pages — smart page window with ellipsis, chevron icon nav buttons, and theme-aware styling using CSS variables. Replaced Hugo&amp;rsquo;s deprecated &lt;code&gt;_internal/pagination.html&lt;/code&gt; in all layouts.&lt;/li&gt;
&lt;li&gt;Improved &lt;a href="https://www.binovarghese.com/common/ml-library/"&gt;ML library page&lt;/a&gt; — fixed broken &lt;code&gt;&amp;lt;h&amp;gt;&lt;/code&gt; tag in the shelf shortcode, 2-column mobile layout, consistent &lt;code&gt;aspect-ratio: 2/3&lt;/code&gt; for book covers, excluded book images from medium-zoom.&lt;/li&gt;
&lt;li&gt;Redesigned &lt;a href="https://www.binovarghese.com/tags"&gt;tags page&lt;/a&gt; — replaced accordion with a tag cloud, popularity-based sizing, live filter input, and inline post panel that shows posts for the selected tag without navigating away.&lt;/li&gt;
&lt;li&gt;All the above improvements were made with the help of &lt;a href="https://claude.ai/code"&gt;Claude Code&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="03-may-26"&gt;03 May 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Made improvements in &lt;code&gt;image figure&lt;/code&gt; shortcode to handle images in posts to handle custom width and other details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="01-apr-26"&gt;01 Apr 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Changed website background to &lt;code&gt;#F4F5F6&lt;/code&gt; and post background to &lt;code&gt;#FFFFFF&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="29-mar-26"&gt;29 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Removed &lt;code&gt;fw-light&lt;/code&gt; from the intor heading and description in the home page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="24-mar-26"&gt;24 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Modified footer text to &amp;lsquo;Made with ♥️ and ✨ by Bino from India&amp;rsquo;.&lt;/li&gt;
&lt;li&gt;Improved &lt;a href="https://www.binovarghese.com/pages"&gt;pages&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="23-mar-26"&gt;23 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Modified &lt;a href="https://www.binovarghese.com/stats"&gt;Blog Statistics&lt;/a&gt; page to add the target and actuals posts for tracking my writng progress.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/roadmap"&gt;Blog Roadmap&lt;/a&gt; page to list the features I want to add to this website.&lt;/li&gt;
&lt;li&gt;Removed slash pages and added &lt;a href="https://www.binovarghese.com/pages"&gt;pages&lt;/a&gt; to list all my links in this website.&lt;/li&gt;
&lt;li&gt;Improvements in trravel page design.&lt;/li&gt;
&lt;li&gt;Removed &amp;lsquo;More button&amp;rsquo; from the menu bar and added &lt;a href="https://www.binovarghese.com/pages"&gt;pages&lt;/a&gt; link.&lt;/li&gt;
&lt;li&gt;Imporved &lt;a href="https://www.binovarghese.com/pages"&gt;pages&lt;/a&gt; link details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="14-mar-26"&gt;14 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/movies"&gt;movies page&lt;/a&gt; to list all the movies and series I watched.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="11-mar-26"&gt;11 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Updated Hugo version to v0.157.0.&lt;/li&gt;
&lt;li&gt;Added new shortcodes to image responsive in library and other pages.&lt;/li&gt;
&lt;li&gt;In &lt;a href="https://www.binovarghese.com/now"&gt;Now page&lt;/a&gt; last modified date is disabled.&lt;/li&gt;
&lt;li&gt;Disabled navigation between pages using the left (←) and right (→) arrow keys as its conflicting with Glightbox.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/sketches"&gt;sketches&lt;/a&gt; and &lt;a href="https://www.binovarghese.com/photos"&gt;photos&lt;/a&gt; in slashes page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="10-mar-26"&gt;10 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Instead of &lt;a href="https://www.binovarghese.com/now"&gt;Now page&lt;/a&gt; page link &lt;a href="https://www.binovarghese.com/travel"&gt;travel page&lt;/a&gt; page link added in the more section.&lt;/li&gt;
&lt;li&gt;Updated open graph and twitter protocol metadata tags updated to show the image correctly.&lt;/li&gt;
&lt;li&gt;Updated scheme metadata to include more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="08-mar-26"&gt;08 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/contact"&gt;contact page&lt;/a&gt; and &lt;a href="https://www.binovarghese.com/travel"&gt;Travel page&lt;/a&gt; link in the footer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="07-mar-26"&gt;07 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/sketches"&gt;sketches page&lt;/a&gt; for my old sketches.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="06-mar-26"&gt;06 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &amp;lsquo;Playfair Display&amp;rsquo; font for headings in the website.&lt;/li&gt;
&lt;li&gt;Updated contact section in the blog post to add &lt;a href="https://www.binovarghese.com/contact"&gt;contact page link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Updated &lt;a href="https://www.binovarghese.com/about"&gt;About page&lt;/a&gt; to add &lt;a href="https://www.binovarghese.com/contact"&gt;contact page link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Updated headings in the main page as &lt;code&gt;h2&lt;/code&gt; and blog listing titles as &lt;code&gt;h3&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Modified home page to show image cards in the Desk section.&lt;/li&gt;
&lt;li&gt;Updated profile pic in about page.&lt;/li&gt;
&lt;li&gt;Modified &lt;a href="https://www.binovarghese.com/wall"&gt;Wall&lt;/a&gt; page to fix the dark mode issues and updated card to add images..&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="01-mar-26"&gt;01 Mar 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/photos"&gt;photos&lt;/a&gt; page for my random clicks. Still work in progress.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="26-feb-26"&gt;26 Feb 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Updated Bootstrap to version 5.3.2&lt;/li&gt;
&lt;li&gt;Removed dark theme using by inversion method and added dark theme based on Bootstrap.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="25-feb-26"&gt;25 Feb 26&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/contact"&gt;contact&lt;/a&gt; page&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="24-feb-2026"&gt;24 Feb 2026&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Improvements in footer section padding and font sizing. Also added &lt;a href="https://www.binovarghese.com/slashes"&gt;slashes&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/ft"&gt;favorites&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/wall"&gt;Wall&lt;/a&gt; links.&lt;/li&gt;
&lt;li&gt;Removed &lt;a href="https://www.binovarghese.com/now"&gt;now&lt;/a&gt; from the more section in the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="23-feb-2026"&gt;23 Feb 2026&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added list of &lt;a href="https://www.binovarghese.com/slashes"&gt;slashes pages&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/thisisfor"&gt;thisisfor&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="18-feb-2026"&gt;18 Feb 2026&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/ml-space"&gt;Malayalam writings&lt;/a&gt; in the &lt;a href="https://www.binovarghese.com/room/"&gt;room&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Modified home page to show image cards in the Malayali section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="06-feb-2026"&gt;06 Feb 2026&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Created &lt;a href="https://www.binovarghese.com/travel"&gt;travel tales&lt;/a&gt; section and updated in the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="21-jan-2026"&gt;21 Jan 2026&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Created &lt;a href="https://www.binovarghese.com/projects"&gt;projects&lt;/a&gt; section and updated in the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="29-oct-2025"&gt;29 Oct 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated images back to the essay sections.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="17-oct-2025"&gt;17 Oct 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added last updated time in the footer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="09-oct-2025"&gt;09 Oct 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Reduced space between cards in the &lt;a href="https://www.binovarghese.com/room/"&gt;Room&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/room-notes/"&gt;Notes&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="21-sep-2025"&gt;21 Sep 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Changed background to &lt;code&gt;#FAFAFA&lt;/code&gt; and the blog posts background as white.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="26-aug-2025"&gt;26 Aug 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Card color changed from &lt;code&gt;#FFFFFF&lt;/code&gt;, again.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="19-aug-2025"&gt;19 Aug 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Modified footer to display random quotes in the footer when user is refereshing the page.&lt;/li&gt;
&lt;li&gt;Others section added in the main menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="18-aug-2025"&gt;18 Aug 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Card color changed from &lt;code&gt;#FFFFFF&lt;/code&gt; to &lt;code&gt;#F9FAFB&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Text color changed from &lt;code&gt;hsl(222deg, 22%, 5%)&lt;/code&gt; to &lt;code&gt;#090408&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Modified title and sub heading to make it more bold.&lt;/li&gt;
&lt;li&gt;Footer texts color also updated from &lt;code&gt;#596073&lt;/code&gt; to &lt;code&gt;#F9FAFB&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Updated bio with links in the &lt;a href="https://www.binovarghese.com/"&gt;home&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="05-aug-2025"&gt;05 Aug 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/ft"&gt;Favourites&lt;/a&gt; page to list my favourites posts.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/Archive/"&gt;Archive&lt;/a&gt; section, again.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="04-aug-2025"&gt;04 Aug 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/stats"&gt;statistics&lt;/a&gt; in the home page in the &amp;lsquo;more on this site&amp;rsquo; section.&lt;/li&gt;
&lt;li&gt;Added Favourites section in the home page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="30-jul-2025"&gt;30 Jul 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Modified cards to add rounded (&lt;code&gt;rounded-4&lt;/code&gt;) corner in every sections.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="23-jul-2025"&gt;23 Jul 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added Essays and Notes section in the &lt;a href="https://www.binovarghese.com/room/"&gt;Room&lt;/a&gt; which will include all the posts other than Malayalam posts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="16-jun-2025"&gt;16 Jun 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated &lt;a href="https://www.binovarghese.com/wall"&gt;wall page&lt;/a&gt; in the home.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="12-jun-2025"&gt;12 Jun 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Changed &lt;a href="https://www.binovarghese.com/room/"&gt;Room&lt;/a&gt; style to display the full content if the post is from the notes section and otherwise summary only with a read more button.&lt;/li&gt;
&lt;li&gt;Changed hovering color of essays to same blue as in the all section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="28-may-2025"&gt;28 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/stats/"&gt;blog statistics&lt;/a&gt; in the webiste. This is one of the updates I’m most satisfied with recently.&lt;/li&gt;
&lt;li&gt;Restructured internal pages for easy maintenance.&lt;/li&gt;
&lt;li&gt;Minor improvements in the cards in the home and &lt;a href="https://www.binovarghese.com/coder-space"&gt;all&lt;/a&gt; section&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="27-may-2025"&gt;27 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Renamed Garden to Room, Coder to Workbench, Writer to Desk.&lt;/li&gt;
&lt;li&gt;Removed colored border for essays and notes in the All section of the sections.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="26-may-2025"&gt;26 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Changed Coder space and Writer space to feed like structure, If its a note or drawer post, it will show full. Otherwise summary with link will show.&lt;/li&gt;
&lt;li&gt;Added colors to identify the post type in the above spaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="24-may-2025"&gt;24 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated the &lt;a href="https://www.binovarghese.com/about/"&gt;About&lt;/a&gt; page to dynamically display featured blog sections using front matter tags, replacing the previous hardcoded approach.&lt;/li&gt;
&lt;li&gt;Heading icons fonts size reduced in all the spaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="20-may-2025"&gt;20 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added icons in the writer and malayali space posts listing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="19-may-2025"&gt;19 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added icons in the coder space headings such as All, Essays, and notes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="18-may-2025"&gt;18 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated back the post images from the preview cards in the Desk section.&lt;/li&gt;
&lt;li&gt;Hovering color changed to #FF373C from #27AE60.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="13-may-2025"&gt;13 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added section link in the top blog post, so user can back to the list of section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="10-may-2025"&gt;10 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Menu changes to Malayali from ML.&lt;/li&gt;
&lt;li&gt;Malayalam font added in post preview and &lt;a href="https://www.binovarghese.com/ml-space"&gt;Malayali Space&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Cleaned up the layout by removing post images from the ‘More Posts’ section beneath each article.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="09-may-2025"&gt;09 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/writer-space"&gt;Writer space&lt;/a&gt; section to view the all the non tech essays and notes in one section.&lt;/li&gt;
&lt;li&gt;Redesigned the home page to incorporate &lt;a href="https://www.binovarghese.com/room"&gt;Garden&lt;/a&gt;, &lt;a href="https://www.binovarghese.com/coder-space"&gt;Coder space&lt;/a&gt; , &lt;a href="https://www.binovarghese.com/writer-space"&gt;Writer space&lt;/a&gt;, and &lt;a href="https://www.binovarghese.com/ml-space"&gt;Malayali Space&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Modified menu to add the spaces and removed the sub links like Essays, Notes, Desk, and Drawer.&lt;/li&gt;
&lt;li&gt;Removed post images from the preview cards in the Desk section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="08-may-2025"&gt;08 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added navigation between pages using the left (←) and right (→) arrow keys.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/coder-space"&gt;Coder space&lt;/a&gt; section to view the tech essays and notes in one section.&lt;/li&gt;
&lt;li&gt;Feed section renamed to &lt;a href="https://www.binovarghese.com/room"&gt;Garden&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="07-may-2025"&gt;07 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Feed style changed from cards design to minimal listing style.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/blog-history/Changelog/feed-05-May-2026.png" width="500"&gt;
&lt;/figure&gt;

&lt;h5 id="06-may-2025"&gt;06 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/shelf"&gt;Shelf&lt;/a&gt; to write my notes about everything other than tech. &lt;a href="https://www.binovarghese.com/drawer"&gt;Drawer&lt;/a&gt; will be used to write poetry, musings, and social media posts only.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="05-may-2025"&gt;05 May 2025&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added a menu footer below the actual footer to include various links.&lt;/li&gt;
&lt;li&gt;Added shadow effect in the blog post images.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="10-dec-2024"&gt;10 Dec 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added date in the feed page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="23-nov-2024"&gt;23 Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/common/library/"&gt;English&lt;/a&gt; books to the library section.&lt;/li&gt;
&lt;li&gt;Also added menu for English and Malayalam books.&lt;/li&gt;
&lt;li&gt;Updated Malayalam writings, Now, Library, and tags links in the home page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="19-nov-2024"&gt;19 Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;The heading alignment issue in the Drawer and Notes sections has been fixed.&lt;/li&gt;
&lt;li&gt;Fixed: Images are opening twice when clicking in gallery.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="17-nov-24"&gt;17 Nov 24&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Inside a card, added a &amp;lsquo;Reply via Email&amp;rsquo; link at the end of each blog post.&lt;/li&gt;
&lt;li&gt;Also added email share button in the social sharing section.&lt;/li&gt;
&lt;li&gt;Added tag icon along with tags.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="14-nov-2024"&gt;14 Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated the &lt;a href="https://www.binovarghese.com/archive/"&gt;feed&lt;/a&gt; to organize and display all posts grouped by month and year.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="13-nov-2024"&gt;13 Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated &lt;a href="https://www.binovarghese.com/about/"&gt;about&lt;/a&gt; content and minor modifications in the styles.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="12-nov-2024"&gt;12 Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Changed text colur (hsl(222deg, 22%, 5%)) and heading color (#0F1031).&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="11-nov-2024"&gt;11-Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Implemented image gallery feature.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/tags/links"&gt;links&lt;/a&gt; curated by me to the &lt;a href="https://www.binovarghese.com/desk/"&gt;desk&lt;/a&gt; section. Previously, link posts were hidden.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="03-nov-2024"&gt;03-Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Reverted &lt;a href="https://www.binovarghese.com/drawer/"&gt;drawer&lt;/a&gt; style to card with lesser width.&lt;/li&gt;
&lt;li&gt;Card footer added for feed section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="02-nov-2024"&gt;02-Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Changed &lt;a href="https://www.binovarghese.com/drawer/"&gt;drawer&lt;/a&gt; style from regular card to masonry layout.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="01-nov-2024"&gt;01-Nov 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;em&gt;read more&lt;/em&gt; link in the search results.&lt;/li&gt;
&lt;li&gt;RSS feed updated with full content.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="31-oct-2024"&gt;31 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/search/"&gt;search&lt;/a&gt; option in the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="27-oct-2024"&gt;27 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Started to migrating my various social media posts to &lt;a href="https://www.binovarghese.com/drawer/"&gt;drawer&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="22-oct-2024"&gt;22 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated 404 page. Do you want to view that, go &lt;a href="https://www.binovarghese.com/hello404/"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/desk/2024/q3/about-this-website/"&gt;explore button&lt;/a&gt; in the home page to get an idea about my blog and various links in it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="21-oct-2024"&gt;21 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Reactivated &lt;a href="https://www.binovarghese.com/drawer/"&gt;drawer&lt;/a&gt; link on the menu.&lt;/li&gt;
&lt;li&gt;Temporarily disabled &lt;a href="https://www.binovarghese.com/now/"&gt;now&lt;/a&gt; link from the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="19-oct-2024"&gt;19 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/disclaimer/"&gt;disclaimer&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="16-oct-2024"&gt;16 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/changelog/"&gt;changelog&lt;/a&gt; page.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/uses/"&gt;uses&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="08-oct-2024"&gt;08 Oct 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated &lt;a href="https://www.binovarghese.com/common/library/"&gt;library&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="18-jun-2024"&gt;18 Jun 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/drawer/"&gt;drawer&lt;/a&gt; link on the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="29-may-2024"&gt;29 May 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Removed images from tech essays.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="2-apr-2024"&gt;2 Apr 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Tags link updated in the feed page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="17-mar-2024"&gt;17 Mar 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Updated last modified date in posts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="07-mar-2024"&gt;07 Mar 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Collections removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="01-mar-2024"&gt;01 Mar 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Collections link removed from the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="21-feb-2024"&gt;21 Feb 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Link color updated as green.&lt;/li&gt;
&lt;li&gt;Added notes and removed collections from the home page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="02-feb-2024"&gt;02 Feb 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Improved dark mode CSS and JS to avoid the flashing when switching pages.&lt;/li&gt;
&lt;li&gt;Limited image zooming to blog posts only.&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://www.binovarghese.com/collections/"&gt;collections&lt;/a&gt; of links and notes from the web community on various topics.&lt;/li&gt;
&lt;li&gt;Added link to &lt;a href="https://www.binovarghese.com/notes/"&gt;notes&lt;/a&gt; in the menu.&lt;/li&gt;
&lt;li&gt;Removed Codbix newsletter posts from &lt;a href="https://www.binovarghese.com/collections/"&gt;collections&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="01-feb-2024"&gt;01 Feb 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Image zoom feature implemented.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="29-jan-2024"&gt;29 Jan 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Feed link added in the menu.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="27-jan-2024"&gt;27-Jan-2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Feed page implemented.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="24-jan-2024"&gt;24 Jan 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Secondary color added to summary text and card hover style added.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="14-jan-2024"&gt;14 Jan 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Added drawer section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="02-jan-2024"&gt;02 Jan 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Removed my reading highlights from this website.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="01-jan-2024"&gt;01 Jan 2024&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;If there is no description auto summary will show in the blog cards.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Contact me</title><link>https://www.binovarghese.com/contact/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/contact/</guid><description>&lt;h4 id="send-an-email"&gt;Send an email&lt;/h4&gt;
&lt;p&gt;Comments? Questions? Suggestions? I would love to hear from you. Please write to &lt;strong&gt;&lt;a href="mailto:binovarghese8120@gmail.com"&gt;binovarghese8120@gmail.com&lt;/a&gt;&lt;/strong&gt;. I will try to reply as soon as I can.&lt;/p&gt;
&lt;h4 id="signal"&gt;Signal&lt;/h4&gt;
&lt;p&gt;If you’re on Signal and prefer to chat, my username is &lt;strong&gt;bino.02&lt;/strong&gt; or click this &lt;a href="https://signal.me/#eu/3wH-dgagbgp3YQa177FEo_VkSqYZOlmyzmYnlcuvKGDiLU7vjbtEtoigH9DnFeEH"&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="ill-read-it"&gt;I’ll read it&lt;/h4&gt;
&lt;p&gt;If you have a blog, or you’ve written something and are looking for &lt;a href="https://www.binovarghese.com/desk/2025/05/i-ll-read-it/"&gt;your first reader&lt;/a&gt;, &lt;a href="mailto:binovarghese8120@gmail.com?subject=Please%20read"&gt;send it to me&lt;/a&gt;. I will read it.&lt;/p&gt;
&lt;h4 id="projects"&gt;Projects&lt;/h4&gt;
&lt;p&gt;If you like to suggest a feature or report an issue in any of my &lt;a href="https://www.binovarghese.com/projects"&gt;projects&lt;/a&gt;, please open an issue on GitHub against the repo (if you can), or send me an email.&lt;/p&gt;
&lt;h4 id="social-media"&gt;Social media&lt;/h4&gt;
&lt;p&gt;Even though I’m on &lt;a href="https://www.instagram.com/binovarghese_"&gt;Instagram&lt;/a&gt;, &lt;a href="https://linkedin.com/in/binovarghese-"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://twitter.com/binovarghese_"&gt;X&lt;/a&gt;, I don’t check them regularly, and replies to DMs may take days, months, or sometimes never arrive.&lt;/p&gt;</description></item><item><title>Credits</title><link>https://www.binovarghese.com/credits/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/credits/</guid><description>&lt;h4 id="this-site-would-not-have-been-possible-without-the-help-of-many-open-source-tools-and-services-and-im-deeply-grateful-to-all-the-contributors-who-have-shared-their-work-with-the-community"&gt;This site would not have been possible without the help of many open source tools and services, and I’m deeply grateful to all the contributors who have shared their work with the community.&lt;/h4&gt;
&lt;p&gt;Built with a &lt;a href="https://jamstack.org/"&gt;JAMstack&lt;/a&gt; architecture, the site uses &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; as the static site generator and is hosted on &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;. It&amp;rsquo;s served securely via HTTPS, with a free SSL certificate provided by &lt;a href="https://letsencrypt.org/"&gt;Let’s Encrypt&lt;/a&gt; and automatically managed by Netlify for seamless delivery.&lt;/p&gt;
&lt;p&gt;Other tools used include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt; for responsive design.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://icons.getbootstrap.com/"&gt;Bootstrap Icons&lt;/a&gt; for elegant icons&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rsms.me/inter/"&gt;Inter&lt;/a&gt; is the main font used in this website. It’s a beautiful sans-serif typeface by &lt;a href="https://rsms.me/"&gt;Rasmus Andersson&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://forthehearts.net/playfair"&gt;Playfair Display&lt;/a&gt; is the font used in the headings. It’s a transitional design done by &lt;a href="https://forthehearts.net/about"&gt;Claus Eggers Sørensen&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://smc.org.in/ml/fonts/gayathri/"&gt;Gaythri&lt;/a&gt; is font for Malayalam posts. It&amp;rsquo;s designed by Binoy Dominic and built by &lt;a href="https://smc.org.in/en/"&gt;SMC&lt;/a&gt; with the support of Kerala Bhasha Institute.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://medium-zoom.francoischalifour.com/"&gt;Medium zoom&lt;/a&gt; for image zooming in the blog posts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.fusejs.io"&gt;fuse.js&lt;/a&gt; for searching.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.binovarghese.com/blog/2021/lightbi-blog-theme"&gt;Lightbi&lt;/a&gt; is the theme used for this website.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt; is the source of beautiful cover images.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://radu-matei.com/blog/dark-mode/"&gt;Dark theme&lt;/a&gt; plugin by Radu Matei. ( This has been removed.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Disclaimer</title><link>https://www.binovarghese.com/disclaimer/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/disclaimer/</guid><description>&lt;h3 id="personal-website-and-opinions"&gt;Personal website and opinions&lt;/h3&gt;
&lt;p&gt;This is my personal website, and the opinions expressed here are entirely my own. They do not represent the views of any organization or individual I may be associated with. My thoughts and opinions evolve over time; I see this as a natural outcome of continuous learning and maintaining an open mind.&lt;/p&gt;
&lt;p&gt;This blog serves as a semi-permanent snapshot of my thoughts at various points. As such, the views expressed in past posts may not reflect the ones I hold today, and may change as I continue to grow.&lt;/p&gt;
&lt;h3 id="technical-posts"&gt;Technical posts&lt;/h3&gt;
&lt;p&gt;I often share technical posts, ranging from long essays to short notes. I treat this website as a digital garden, where content is constantly being refined, updated, and interconnected. These posts describe processes that worked for me at the time of writing. If I discover errors or find better solutions, I will update the content. I aim to provide context behind my decisions, but keep in mind that these posts are written primarily for my own reference.&lt;/p&gt;
&lt;p&gt;I cannot guarantee that my technical posts are error-free, and I am not responsible for any harm to your systems, data, or anything else as a result of following the information provided. All technical content is provided &amp;ldquo;as-is,&amp;rdquo; with no warranty whatsoever.&lt;/p&gt;
&lt;h3 id="non-technical-posts"&gt;Non-technical posts&lt;/h3&gt;
&lt;p&gt;In addition to technical content, I also share reflections on topics such as poetry, books, philosophy, travel, and life in general. These non-technical posts are for informational and personal expression purposes only. The views and insights reflect my experiences and research at the time of writing. While I strive for accuracy, I do not claim to be an expert in these areas, and the content may not reflect the most current information.&lt;/p&gt;
&lt;p&gt;Readers should seek professional advice if needed, as my reflections are not intended to serve as professional guidance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This disclaimer is subject to change at any time without prior notice.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>En</title><link>https://www.binovarghese.com/common/library/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/common/library/</guid><description>&lt;div class="row"&gt;

&lt;h3 id="2024"&gt;2024&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/how-to-win-friends-and-influence-people--dale-carnegie_hu_8b5dd764a124fa66.jpeg" class="img-fluid w-100 no-zoom" alt="How to win friends and influence people"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;How to win friends and influence people&lt;/p&gt;
 &lt;p class="book-author"&gt;Dale Carnegie&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/the-psychology-of-money--morgan-housel_hu_6108595d5de07fcb.jpeg" class="img-fluid w-100 no-zoom" alt="The Psychology of Money"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Psychology of Money&lt;/p&gt;
 &lt;p class="book-author"&gt;Morgan Housel&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="past"&gt;Past&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/atomic-habits--James-clear_hu_3807d394a43d8912.jpg" class="img-fluid w-100 no-zoom" alt="Atomic habits"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Atomic habits&lt;/p&gt;
 &lt;p class="book-author"&gt;James Clear&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/the-almanack-of-naval-ravikant--Eric-Jorgenson_hu_ca7259bc2eee267e.jpeg" class="img-fluid w-100 no-zoom" alt="The Almanack of Naval Ravikant"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Almanack of Naval Ravikant&lt;/p&gt;
 &lt;p class="book-author"&gt;Eric Jorgenson&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/The-alchemist--paulo-coelho_hu_e975f343ff26db9f.jpg" class="img-fluid w-100 no-zoom" alt="The Alchemist"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Alchemist&lt;/p&gt;
 &lt;p class="book-author"&gt;Paulo Coelho&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/keep-going--austin-kleon_hu_8e818aa494528cff.jpeg" class="img-fluid w-100 no-zoom" alt="Keep Going"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Keep Going&lt;/p&gt;
 &lt;p class="book-author"&gt;Austin Kleon&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/Show-your-work--austin-kleon_hu_861cfafead29ceb6.jpg" class="img-fluid w-100 no-zoom" alt="Show Your Work"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Show Your Work&lt;/p&gt;
 &lt;p class="book-author"&gt;Austin Kleon&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/steal-like-an-artist--austin-kleon_hu_74c154cdaeba6b83.jpg" class="img-fluid w-100 no-zoom" alt="Steal Like an Artist"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Steal Like an Artist&lt;/p&gt;
 &lt;p class="book-author"&gt;Austin Kleon&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/Gullivers-Travels--Jonathan-Swift_hu_3c6341ac204096d3.jpg" class="img-fluid w-100 no-zoom" alt="Gullivers Travels"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Gullivers Travels&lt;/p&gt;
 &lt;p class="book-author"&gt;Jonathan Swift&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/love-her-wil--atticus_hu_8d375154b53f28a4.jpeg" class="img-fluid w-100 no-zoom" alt="Love Her Wild"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Love Her Wild&lt;/p&gt;
 &lt;p class="book-author"&gt;Atticus&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/Meluha--Amish_hu_7a8d7690771668d9.jpg" class="img-fluid w-100 no-zoom" alt="Meluha"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Meluha&lt;/p&gt;
 &lt;p class="book-author"&gt;Amish&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/milk-and-honey--rupi-kaur_hu_e2d11548bcae2874.jpg" class="img-fluid w-100 no-zoom" alt="Milk and Honey"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Milk and Honey&lt;/p&gt;
 &lt;p class="book-author"&gt;Rupi Kaur&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/Robinson-Crusoe--Daniel-Defoe_hu_181bed28dcdc7710.jpg" class="img-fluid w-100 no-zoom" alt="Robinson Crusoe"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Robinson Crusoe&lt;/p&gt;
 &lt;p class="book-author"&gt;Daniel Defoe&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/The-Count-of-Monte-Cristo--Alexandre-Dumas_hu_340d28486a33470f.jpg" class="img-fluid w-100 no-zoom" alt="The Count of Monte Cristo"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Count of Monte Cristo&lt;/p&gt;
 &lt;p class="book-author"&gt;Alexandre Dumas&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/en/The-Da-Vinci-Code--Dan-Brown_hu_6561fe1d55b1db5e.jpg" class="img-fluid w-100 no-zoom" alt="The Da Vinci Code"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Da Vinci Code&lt;/p&gt;
 &lt;p class="book-author"&gt;Dan Brown&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
</description></item><item><title>Ml</title><link>https://www.binovarghese.com/common/ml-library/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/common/ml-library/</guid><description>&lt;div class="row"&gt;

&lt;h3 id="2026"&gt;2026&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/N-Mohanan--Orikkal_hu_a5889c0df6377384.jpg" class="img-fluid w-100 no-zoom" alt="Orikkal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Orikkal&lt;/p&gt;
 &lt;p class="book-author"&gt;N Mohanan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/VILAYATH-BUDHA--G-R-Indugopan_hu_bb6f8201cac1e87e.jpg" class="img-fluid w-100 no-zoom" alt="Vilayath Budha"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Vilayath Budha&lt;/p&gt;
 &lt;p class="book-author"&gt;G. R. Indugopan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/collector-bro-ini-njan-thallatte--Prasanth-nair_hu_18b41a2c0d19a240.jpeg" class="img-fluid w-100 no-zoom" alt="Collector Bro"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Collector Bro&lt;/p&gt;
 &lt;p class="book-author"&gt;Prasanth Nair&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="2025"&gt;2025&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Deepa-Nisanth--ottamarappeythu_hu_1a9dc793891ca26e.jpg" class="img-fluid w-100 no-zoom" alt="Ottamarappeythu"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ottamarappeythu&lt;/p&gt;
 &lt;p class="book-author"&gt;Deepa Nisanth&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Deepa-Nisanth--jeevitham-oru-monalisachiriyanu_hu_3c5a17d4544046b9.jpg" class="img-fluid w-100 no-zoom" alt="Jeevitham Oru Monalisachiriyanu"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Jeevitham Oru Monalisachiriyanu&lt;/p&gt;
 &lt;p class="book-author"&gt;Deepa Nisanth&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="2024"&gt;2024&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Vishapp-Pranayam-Unmadham--Abbas_hu_c0fa3c8f84c06eae.jpeg" class="img-fluid w-100 no-zoom" alt="Vishapp Pranayam Unmadham"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Vishapp Pranayam Unmadham&lt;/p&gt;
 &lt;p class="book-author"&gt;Abbas&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/The-Sampoorna-Kodakarapuranam--sajjev-edathadan_hu_219d12db8dc2fb63.jpeg" class="img-fluid w-100 no-zoom" alt="The Sampoorna Kodakarapuranam"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;The Sampoorna Kodakarapuranam&lt;/p&gt;
 &lt;p class="book-author"&gt;Sajjev Edathadan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Hridyapuranam--sajjev-edathadan_hu_31ed8383edbf6ac1.jpeg" class="img-fluid w-100 no-zoom" alt="Hridyapuranam"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Hridyapuranam&lt;/p&gt;
 &lt;p class="book-author"&gt;Sajjev Edathadan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Neelachadayan--Akhil-k_hu_74bdcb0e06dadd04.jpeg" class="img-fluid w-100 no-zoom" alt="Neelachadayan"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Neelachadayan&lt;/p&gt;
 &lt;p class="book-author"&gt;Akhil K&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/malgudi-days--r-k-narayan_hu_8a21cefa934fa1ee.jpg" class="img-fluid w-100 no-zoom" alt="Malgudi Days"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Malgudi Days&lt;/p&gt;
 &lt;p class="book-author"&gt;R K Narayan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/ettavum-priyappetta-ennod--nimna-vijay_hu_6ddb85f5887614fe.jpg" class="img-fluid w-100 no-zoom" alt="Ettavum Priyappetta Ennod"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ettavum Priyappetta Ennod&lt;/p&gt;
 &lt;p class="book-author"&gt;Nimna Vijay&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="past"&gt;Past&lt;/h3&gt;
&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Balyakalasakhi--Basheer_hu_fa9618c256f08df5.jpeg" class="img-fluid w-100 no-zoom" alt="Balyakalasakhi"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Balyakalasakhi&lt;/p&gt;
 &lt;p class="book-author"&gt;Vaikom Muhammad Basheer&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Mathilukal--Basheer_hu_3bd3a43f24bc19a6.jpg" class="img-fluid w-100 no-zoom" alt="Mathilukal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Mathilukal&lt;/p&gt;
 &lt;p class="book-author"&gt;Vaikom Muhammad Basheer&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Premalekhanam--Basheer_hu_9c95b8b9b97b013c.jpg" class="img-fluid w-100 no-zoom" alt="Premalekhanam"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Premalekhanam&lt;/p&gt;
 &lt;p class="book-author"&gt;Vaikom Muhammad Basheer&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Viswavikhyaathamaaya-mooku--Basheer_hu_b9cfbf6776ddf71d.jpg" class="img-fluid w-100 no-zoom" alt="Viswavikhyaathamaaya Mooku"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Viswavikhyaathamaaya Mooku&lt;/p&gt;
 &lt;p class="book-author"&gt;Vaikom Muhammad Basheer&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/ntuppakkoranendarnnu--basheer_hu_8783be29543de928.jpg" class="img-fluid w-100 no-zoom" alt="Ntuppuppakkoranendarnnu"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ntuppuppakkoranendarnnu&lt;/p&gt;
 &lt;p class="book-author"&gt;Vaikom Muhammad Basheer&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--koott_hu_8b5479e698cb3b9a.jpg" class="img-fluid w-100 no-zoom" alt="Koott"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Koott&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--Aval_hu_43767d4f3cfed750.jpeg" class="img-fluid w-100 no-zoom" alt="Aval"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Aval&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--Verumorormathan-Kurunnuthooval_hu_c0ecf26610a529d6.jfif" class="img-fluid w-100 no-zoom" alt="Verumorormathan Kurunnuthoova"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Verumorormathan Kurunnuthoova&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--chill_hu_36f747e090743706.jpg" class="img-fluid w-100 no-zoom" alt="Chillu"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Chillu&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--Ramaneeyam-Ee-Jeevitham_hu_5119625710f342a1.jpg" class="img-fluid w-100 no-zoom" alt="Ramaneeyam Ee Jeevitham"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ramaneeyam Ee Jeevitham&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Bobby-Jose-Kattikad--ordinary_hu_f153f6a602a8c12f.webp" class="img-fluid w-100 no-zoom" alt="Ordinary"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ordinary&lt;/p&gt;
 &lt;p class="book-author"&gt;Bobby Jose Kattikad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/randamoozham--m-t-vasudevan-nair_hu_d6e1a213cad82202.webp" class="img-fluid w-100 no-zoom" alt="Randamoozham"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Randamoozham&lt;/p&gt;
 &lt;p class="book-author"&gt;M T Vasudevan Nair&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/ente-priyapetta-kathakal---m-t-vasudevan-nair_hu_4104a2cc73846814.jpg" class="img-fluid w-100 no-zoom" alt="Ente Priyapetta Kathakal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ente Priyapetta Kathakal&lt;/p&gt;
 &lt;p class="book-author"&gt;M T Vasudevan Nair&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Deepa-Nisanth--Kunnolamundallo-Bhoothakaalakkulir_hu_97458a96dfb7cf4e.jpg" class="img-fluid w-100 no-zoom" alt="Kunnolamundallo Bhoothakaalakkulir"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Kunnolamundallo Bhoothakaalakkulir&lt;/p&gt;
 &lt;p class="book-author"&gt;Deepa Nisanth&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Chidambarasmarana--Balachandran-Chullikkad_hu_462cf7fda7d4102.jpg" class="img-fluid w-100 no-zoom" alt="Chidambarasmarana"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Chidambarasmarana&lt;/p&gt;
 &lt;p class="book-author"&gt;Balachandran Chullikkad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Pravachakann--Khalil-Gibran_hu_57246186b25e7baf.jpg" class="img-fluid w-100 no-zoom" alt="Pravachakann"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Pravachakann&lt;/p&gt;
 &lt;p class="book-author"&gt;Khalil Gibran&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Aathmaavinte-Adikkuruppukal--Sathyan-Anthikkad_hu_8d51f51b9debf240.jpeg" class="img-fluid w-100 no-zoom" alt="Aathmaavinte Adikkuruppukal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Aathmaavinte Adikkuruppukal&lt;/p&gt;
 &lt;p class="book-author"&gt;Sathyan Anthikkad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Shesham-Vellithrayil--Sathyan-Anthikkad_hu_6979870ce43bb1b3.jpeg" class="img-fluid w-100 no-zoom" alt="Shesham Vellithrayil"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Shesham Vellithrayil&lt;/p&gt;
 &lt;p class="book-author"&gt;Sathyan Anthikkad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Ormakalude-Kudamaattam--Sathyan-Anthikkad_hu_53ffefd6cbbdc704.jpeg" class="img-fluid w-100 no-zoom" alt="Ormakalude Kudamaattam"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ormakalude Kudamaattam&lt;/p&gt;
 &lt;p class="book-author"&gt;Sathyan Anthikkad&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Daivathinte-Charanmar--joseph-annakutty-jose_hu_9e8bac5163184a7c.jpg" class="img-fluid w-100 no-zoom" alt="Daivathinte Charanmar"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Daivathinte Charanmar&lt;/p&gt;
 &lt;p class="book-author"&gt;Joseph Annakutty Jose&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/francis-itty-cora--t-d-ramakrishnan_hu_8f2a39a601a37e3f.webp" class="img-fluid w-100 no-zoom" alt="Francis Itty Cora"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Francis Itty Cora&lt;/p&gt;
 &lt;p class="book-author"&gt;T D Ramakrishnan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/chiri-puranda-jeevithangal--pisharadi_hu_d5e51327dc2ba9db.jpeg" class="img-fluid w-100 no-zoom" alt="Chiri Puranda Jeevithangal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Chiri Puranda Jeevithangal&lt;/p&gt;
 &lt;p class="book-author"&gt;Ramesh Pisharadi&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Oru-Bhayankara-Kamukan-Unni-R_hu_79da2f1ba29572f0.jpg" class="img-fluid w-100 no-zoom" alt="Oru Bhayankara Kamukan"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Oru Bhayankara Kamukan&lt;/p&gt;
 &lt;p class="book-author"&gt;Unni R&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/ananthabhadram--Sunil-Parameswaran_hu_3337c5c63d110806.jpg" class="img-fluid w-100 no-zoom" alt="Ananthabhadram"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ananthabhadram&lt;/p&gt;
 &lt;p class="book-author"&gt;Sunil Parameswaran&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Ram-CO-Anandhi--Akhil-P-Darmajan_hu_482be50531d8067b.jpg" class="img-fluid w-100 no-zoom" alt="Ram C/O Anandhi"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ram C/O Anandhi&lt;/p&gt;
 &lt;p class="book-author"&gt;Akhil P Darmajan&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Ennathullikalum-Upputharikalum--Benyamin_hu_8efc50d3cb1e8f1.jpg" class="img-fluid w-100 no-zoom" alt="Ennathullikalum Upputharikalum"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Ennathullikalum Upputharikalum&lt;/p&gt;
 &lt;p class="book-author"&gt;Benyamin&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Mukesh-Kathakal-Jeevithathile-Nerum-Narmavum--Mukesh_hu_dbae636f704d90c8.jpg" class="img-fluid w-100 no-zoom" alt="Mukesh Kathakal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Mukesh Kathakal&lt;/p&gt;
 &lt;p class="book-author"&gt;Mukesh&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Chrisostam-Paranja-Narmakathakal--Philipose-Mar-Chrysostom_hu_6f34f4dc9ad2fb6b.jpg" class="img-fluid w-100 no-zoom" alt="Chrysostom Phalithagal"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Chrysostom Phalithagal&lt;/p&gt;
 &lt;p class="book-author"&gt;Philipose Mar Chrysostom&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;div class="col-6 col-md-3 col-lg-3 mt-4"&gt;
 &lt;div class="book-card"&gt;
 
 
 
 
 &lt;div class="book-cover"&gt;
 &lt;img loading="lazy" src="https://www.binovarghese.com/img/books/ml/Njan-Innocent--Innocent_hu_d674dfe29306a152.jpg" class="img-fluid w-100 no-zoom" alt="Njan Innocent"&gt;
 &lt;/div&gt;
 
 &lt;p class="book-title"&gt;Njan Innocent&lt;/p&gt;
 &lt;p class="book-author"&gt;Innocent&lt;/p&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
</description></item><item><title>Pages</title><link>https://www.binovarghese.com/pages/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/pages/</guid><description>&lt;p&gt;These are the pages on this site, paths that lead you to its many corners.&lt;/p&gt;
&lt;h4 id="about-me"&gt;About me&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/about"&gt;About me&lt;/a&gt; — Get to know who I am.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/contact"&gt;Contact&lt;/a&gt; — Ways to get in touch, including my social media links.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="the-writings"&gt;The Writings&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/ft"&gt;Featured&lt;/a&gt; — Posts I like the most on this site.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/coder-space"&gt;Tech space&lt;/a&gt; — Writings from a software developer.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/writer-space"&gt;Personal reflections&lt;/a&gt; — Thoughts from a wanderer.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/ml-space/"&gt;Malayalam writings&lt;/a&gt; — Words from an aspiring author.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/archive"&gt;Archive&lt;/a&gt; — All posts in reverse chronological order.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="other-updates"&gt;Other Updates&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/projects"&gt;Projects&lt;/a&gt; — Things I’m working on beyond this blog.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/travel"&gt;Travel tales&lt;/a&gt; — Photos and stories from my journeys.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/movies"&gt;Movies&lt;/a&gt; — A list of films I’ve watched.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/photos"&gt;Photos&lt;/a&gt; — Random clicks, mostly from my phone.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/sketches"&gt;Sketches&lt;/a&gt; — Occasional sketches, simple and silly.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/now"&gt;Now&lt;/a&gt; — what I’ve been up to lately.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/uses"&gt;Uses&lt;/a&gt; — The tools I use, both hardware and software.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="library"&gt;Library&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/common/ml-library"&gt;Malayalam Library&lt;/a&gt; — Books I’m reading in Malayalam.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/common/library"&gt;English Library&lt;/a&gt; — Books I’m reading in English.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/blogroll"&gt;Blogroll&lt;/a&gt; — Blogs that inspire me and that I return to often.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="meta"&gt;Meta&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/for"&gt;For Page&lt;/a&gt; — A page about who this website is for. Read more &lt;a href="https://www.binovarghese.com/desk/2026/01/introducing-this-is-for-page/"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/stats"&gt;Blog Statistics&lt;/a&gt; — Numbers and insights from the blog.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/roadmap"&gt;Blog Roadmap&lt;/a&gt; — Features I plan to add to this website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/tags"&gt;Tags&lt;/a&gt; — The tiny lanterns of this website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/credits"&gt;Credits&lt;/a&gt; — Tools and services that made this site possible.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/Changelog"&gt;Changelog&lt;/a&gt; — A record of the paths I’ve crossed.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/disclaimer"&gt;Disclaimer&lt;/a&gt; — Just in case.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/404"&gt;My 404 error page&lt;/a&gt; — When things go missing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="miscellaneous"&gt;Miscellaneous&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/wall"&gt;The Wall&lt;/a&gt; — A place for posters and paths to different corners of the site.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.binovarghese.com/search"&gt;Search&lt;/a&gt; — Explore the site and (hopefully) find something magical.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sketches</title><link>https://www.binovarghese.com/sketches/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/sketches/</guid><description>


&lt;div class="container ps-0 pe-0"&gt;
 &lt;div class="gallery"&gt;

 
 &lt;a href="https://www.binovarghese.com/img/sketches/image_4.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/image_4_hu_527e95cb843101a6.webp 400w,
 /img/sketches/image_4_hu_7e78ddce4f0d3422.webp 700w,
 /img/sketches/image_4_hu_19a1f42c897296d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/image_4_hu_b7d91f150a546387.png"
 srcset="
 /img/sketches/image_4_hu_e5c59c564c59c18e.png 400w,
 /img/sketches/image_4_hu_b7d91f150a546387.png 700w,
 /img/sketches/image_4_hu_64eecbd2bf5474b1.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1167"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/image_4.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/image_8.png" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/image_8_hu_e3a7bae3d8b7116b.webp 400w,
 /img/sketches/image_8_hu_2f42b3cc2192e000.webp 700w,
 /img/sketches/image_8_hu_505aac4db2fd663a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/image_8_hu_1e03d435b52bb82.png"
 srcset="
 /img/sketches/image_8_hu_3ff34119b93a516e.png 400w,
 /img/sketches/image_8_hu_1e03d435b52bb82.png 700w,
 /img/sketches/image_8_hu_12e0edd804e24b2f.png 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1167"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/image_8.png"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/03062011%28003%29.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/03062011%28003%29_hu_7cb53cee94eda4e7.webp 400w,
 /img/sketches/03062011%28003%29_hu_c5435cd9c409966c.webp 700w,
 /img/sketches/03062011%28003%29_hu_b0292c7b258c26a2.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/03062011%28003%29_hu_90932789f48d3e9e.jpg"
 srcset="
 /img/sketches/03062011%28003%29_hu_f79963181862ca5d.jpg 400w,
 /img/sketches/03062011%28003%29_hu_90932789f48d3e9e.jpg 700w,
 /img/sketches/03062011%28003%29_hu_de625b5f12bcfa45.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/03062011(003).jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/05072009926.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/05072009926_hu_59ead5b1d4ad841e.webp 400w,
 /img/sketches/05072009926_hu_8b05d9105c981323.webp 700w,
 /img/sketches/05072009926_hu_2bbfa3cbd978e478.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/05072009926_hu_8092254cfdb403d.jpg"
 srcset="
 /img/sketches/05072009926_hu_da48cbfff220cd3d.jpg 400w,
 /img/sketches/05072009926_hu_8092254cfdb403d.jpg 700w,
 /img/sketches/05072009926_hu_d1cfd36d722b2918.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/05072009926.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/11Mar26.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/11Mar26_hu_8950f8025fc58be6.webp 400w,
 /img/sketches/11Mar26_hu_8d16c78f29acf6d8.webp 700w,
 /img/sketches/11Mar26_hu_19d8f023d96c02cb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/11Mar26_hu_13082b2788c1b359.JPG"
 srcset="
 /img/sketches/11Mar26_hu_771b09c80e9d7cff.JPG 400w,
 /img/sketches/11Mar26_hu_13082b2788c1b359.JPG 700w,
 /img/sketches/11Mar26_hu_12aff3dffebdeac7.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/11Mar26.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/2016-05-09-18-44-23-758.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/2016-05-09-18-44-23-758_hu_36a9fbd021b09f62.webp 400w,
 /img/sketches/2016-05-09-18-44-23-758_hu_c6abb7df687cb307.webp 700w,
 /img/sketches/2016-05-09-18-44-23-758_hu_287c99ac958018a6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/2016-05-09-18-44-23-758_hu_bf27e8d8484af986.jpg"
 srcset="
 /img/sketches/2016-05-09-18-44-23-758_hu_9369860389d2172.jpg 400w,
 /img/sketches/2016-05-09-18-44-23-758_hu_bf27e8d8484af986.jpg 700w,
 /img/sketches/2016-05-09-18-44-23-758_hu_6b7b93e929418e23.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/2016-05-09-18-44-23-758.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/280520101360.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/280520101360_hu_fd39ac2055597047.webp 400w,
 /img/sketches/280520101360_hu_4e90b50f86071b20.webp 700w,
 /img/sketches/280520101360_hu_325c6c15f1388d49.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/280520101360_hu_405682f9de7a0554.jpg"
 srcset="
 /img/sketches/280520101360_hu_180837c15b050532.jpg 400w,
 /img/sketches/280520101360_hu_405682f9de7a0554.jpg 700w,
 /img/sketches/280520101360_hu_71aa1ec88514a84d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="570"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/280520101360.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/625226224_18380917390154988_7145203752591421609_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_2938735e6d39915f.webp 400w,
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_779fae42dbfbbb80.webp 700w,
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_64ae329d83bdc155.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_95af57d821334b7b.jpg"
 srcset="
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_d4447018c8055e8a.jpg 400w,
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_95af57d821334b7b.jpg 700w,
 /img/sketches/625226224_18380917390154988_7145203752591421609_n_hu_3bc8230a280060ab.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/625226224_18380917390154988_7145203752591421609_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/626523388_18438919909129383_4182951508303367961_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_eb5ef183fce29ab9.webp 400w,
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_b3af01ab2474d406.webp 700w,
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_66d2e44bc394eca.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_94e4ff7395f926e4.jpg"
 srcset="
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_5761ee2c42e7e1a.jpg 400w,
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_94e4ff7395f926e4.jpg 700w,
 /img/sketches/626523388_18438919909129383_4182951508303367961_n_hu_309c16c91e4015e8.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="821"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/626523388_18438919909129383_4182951508303367961_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/627378265_18409708213120007_5425718345109833946_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_f72cbbea32c09736.webp 400w,
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_8c8eecbff05f5b38.webp 700w,
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_52f0003f433da553.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_90eef6c7ae1f2cbc.jpg"
 srcset="
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_1d103c013fc410d1.jpg 400w,
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_90eef6c7ae1f2cbc.jpg 700w,
 /img/sketches/627378265_18409708213120007_5425718345109833946_n_hu_458a206a51c2eb77.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="776"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/627378265_18409708213120007_5425718345109833946_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/628508004_18529686676070755_1578223119150575879_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_19e49882b382f3e9.webp 400w,
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_ca83df8748ec29c9.webp 700w,
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_d42972377795f89f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_9c2112736505993d.jpg"
 srcset="
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_71bc3cbf8fc042c0.jpg 400w,
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_9c2112736505993d.jpg 700w,
 /img/sketches/628508004_18529686676070755_1578223119150575879_n_hu_fac675b611d4c3d6.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="700"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/628508004_18529686676070755_1578223119150575879_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/634705912_18563786971001605_8267359583096002074_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_afa7ff51bf4a30.webp 400w,
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_cdd32bb62d3a7487.webp 700w,
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_33798146f3adb4d3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_deef96eaabef7b7c.jpg"
 srcset="
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_c367beb73a22e73d.jpg 400w,
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_deef96eaabef7b7c.jpg 700w,
 /img/sketches/634705912_18563786971001605_8267359583096002074_n_hu_6cf1ef9cc06b3f84.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="700"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/634705912_18563786971001605_8267359583096002074_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/636909086_18562856803021033_8639033664359259165_n.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_5155d92d20892dd9.webp 400w,
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_641618afcdd98623.webp 700w,
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_55ac1e806a8f209e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_5d36ad4fd16f6e7c.jpg"
 srcset="
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_dfa978d1873f10d1.jpg 400w,
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_5d36ad4fd16f6e7c.jpg 700w,
 /img/sketches/636909086_18562856803021033_8639033664359259165_n_hu_c8ab0c9a7a19a9ce.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/636909086_18562856803021033_8639033664359259165_n.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/BINO%28134%29.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/BINO%28134%29_hu_e2de822f1d577ef0.webp 400w,
 /img/sketches/BINO%28134%29_hu_5207c06bac4582c9.webp 700w,
 /img/sketches/BINO%28134%29_hu_754b2b137f2a1e0c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/BINO%28134%29_hu_80a6d43415dabc7b.jpg"
 srcset="
 /img/sketches/BINO%28134%29_hu_a9f33a9fd5fa9792.jpg 400w,
 /img/sketches/BINO%28134%29_hu_80a6d43415dabc7b.jpg 700w,
 /img/sketches/BINO%28134%29_hu_27fe6df9c1ba4529.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/BINO(134).jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/DSC_0281.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/DSC_0281_hu_4b5e76e30d9cbb2a.webp 400w,
 /img/sketches/DSC_0281_hu_9e8d7d58d8b27edc.webp 700w,
 /img/sketches/DSC_0281_hu_6349bd9531060c31.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/DSC_0281_hu_5e6f845dd01b68c5.JPG"
 srcset="
 /img/sketches/DSC_0281_hu_eeed0ac35a23964c.JPG 400w,
 /img/sketches/DSC_0281_hu_5e6f845dd01b68c5.JPG 700w,
 /img/sketches/DSC_0281_hu_d90bdc2ea4aecae2.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/DSC_0281.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20150826_133644.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20150826_133644_hu_f04850e4ac8fade2.webp 400w,
 /img/sketches/IMG_20150826_133644_hu_1d0ce518c5b9f799.webp 700w,
 /img/sketches/IMG_20150826_133644_hu_fbb443c3d473b9a6.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20150826_133644_hu_992c478ef757fbb5.jpg"
 srcset="
 /img/sketches/IMG_20150826_133644_hu_8e4c83d6a1533f68.jpg 400w,
 /img/sketches/IMG_20150826_133644_hu_992c478ef757fbb5.jpg 700w,
 /img/sketches/IMG_20150826_133644_hu_131b76756b302b1d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="691"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20150826_133644.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20150930_101636320.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20150930_101636320_hu_217822ce0c89d407.webp 400w,
 /img/sketches/IMG_20150930_101636320_hu_ae152852e32cf9c.webp 700w,
 /img/sketches/IMG_20150930_101636320_hu_c69c2aedf448606a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20150930_101636320_hu_8921c6453f9849db.jpg"
 srcset="
 /img/sketches/IMG_20150930_101636320_hu_262690702f874eda.jpg 400w,
 /img/sketches/IMG_20150930_101636320_hu_8921c6453f9849db.jpg 700w,
 /img/sketches/IMG_20150930_101636320_hu_8fa5ea4cbcd016a3.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20150930_101636320.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20151219_022118.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20151219_022118_hu_f320fa911d1dd5b9.webp 400w,
 /img/sketches/IMG_20151219_022118_hu_e26af028e8269a98.webp 700w,
 /img/sketches/IMG_20151219_022118_hu_1ccf2799eadfbd59.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20151219_022118_hu_64c2e1d17e63ac07.jpg"
 srcset="
 /img/sketches/IMG_20151219_022118_hu_edc6c4554b44a60.jpg 400w,
 /img/sketches/IMG_20151219_022118_hu_64c2e1d17e63ac07.jpg 700w,
 /img/sketches/IMG_20151219_022118_hu_7a42b8e5aed39abc.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20151219_022118.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20160625_132508010.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20160625_132508010_hu_adb0c87d8f8f665.webp 400w,
 /img/sketches/IMG_20160625_132508010_hu_8ae5e467c5bcea2c.webp 700w,
 /img/sketches/IMG_20160625_132508010_hu_56bbcd1627b4430.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20160625_132508010_hu_f2c2b3bc83ec7e07.jpg"
 srcset="
 /img/sketches/IMG_20160625_132508010_hu_3ba51103cb79d0a6.jpg 400w,
 /img/sketches/IMG_20160625_132508010_hu_f2c2b3bc83ec7e07.jpg 700w,
 /img/sketches/IMG_20160625_132508010_hu_d4a834d6cbcd0265.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20160625_132508010.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20160725_220230509.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20160725_220230509_hu_e5fc6ad73658434a.webp 400w,
 /img/sketches/IMG_20160725_220230509_hu_22deee7f5cbeda62.webp 700w,
 /img/sketches/IMG_20160725_220230509_hu_b7e18eba40953206.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20160725_220230509_hu_73dc9764bfdbddf1.jpg"
 srcset="
 /img/sketches/IMG_20160725_220230509_hu_95a912c735a9953b.jpg 400w,
 /img/sketches/IMG_20160725_220230509_hu_73dc9764bfdbddf1.jpg 700w,
 /img/sketches/IMG_20160725_220230509_hu_d74b0813bdf1bed.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20160725_220230509.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20160814_172014.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20160814_172014_hu_28e7332deaca141.webp 400w,
 /img/sketches/IMG_20160814_172014_hu_f3486215a8986724.webp 700w,
 /img/sketches/IMG_20160814_172014_hu_6efdd07b53c1fbc4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20160814_172014_hu_6e29bbf00e36568c.jpg"
 srcset="
 /img/sketches/IMG_20160814_172014_hu_628b756902de421e.jpg 400w,
 /img/sketches/IMG_20160814_172014_hu_6e29bbf00e36568c.jpg 700w,
 /img/sketches/IMG_20160814_172014_hu_a0360349a5bf78.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="924"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20160814_172014.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20160824_181519.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20160824_181519_hu_6c0c8a98e30bcbb.webp 400w,
 /img/sketches/IMG_20160824_181519_hu_4e931875c15177a4.webp 700w,
 /img/sketches/IMG_20160824_181519_hu_6f6e5aa9468a52fb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20160824_181519_hu_5620d0edd90755a.jpg"
 srcset="
 /img/sketches/IMG_20160824_181519_hu_e81057131fd8f963.jpg 400w,
 /img/sketches/IMG_20160824_181519_hu_5620d0edd90755a.jpg 700w,
 /img/sketches/IMG_20160824_181519_hu_8b3bedb25f81313d.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20160824_181519.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20161116_170548321.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20161116_170548321_hu_55ea14381973ad82.webp 400w,
 /img/sketches/IMG_20161116_170548321_hu_dae0eed26c88f856.webp 700w,
 /img/sketches/IMG_20161116_170548321_hu_161f5a1002a49e3.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20161116_170548321_hu_4b059a7919adfb6c.jpg"
 srcset="
 /img/sketches/IMG_20161116_170548321_hu_646ecd3b93527fec.jpg 400w,
 /img/sketches/IMG_20161116_170548321_hu_4b059a7919adfb6c.jpg 700w,
 /img/sketches/IMG_20161116_170548321_hu_f5bdc4a5628309ff.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20161116_170548321.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170304_150831634.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170304_150831634_hu_5637b00676fbdfe3.webp 400w,
 /img/sketches/IMG_20170304_150831634_hu_410b22bd3f34f2c.webp 700w,
 /img/sketches/IMG_20170304_150831634_hu_3d78baae2c3a9d98.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170304_150831634_hu_6a5076963c26a7.jpg"
 srcset="
 /img/sketches/IMG_20170304_150831634_hu_9f036d32ab81716c.jpg 400w,
 /img/sketches/IMG_20170304_150831634_hu_6a5076963c26a7.jpg 700w,
 /img/sketches/IMG_20170304_150831634_hu_ca12529248d23f96.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170304_150831634.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102406508.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102406508_hu_5294b92cd55f88f4.webp 400w,
 /img/sketches/IMG_20170501_102406508_hu_3fd98dd0c447f34.webp 700w,
 /img/sketches/IMG_20170501_102406508_hu_7176daa549ae94f9.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102406508_hu_5127b0a8d086b4e8.jpg"
 srcset="
 /img/sketches/IMG_20170501_102406508_hu_727005aaac1bef8c.jpg 400w,
 /img/sketches/IMG_20170501_102406508_hu_5127b0a8d086b4e8.jpg 700w,
 /img/sketches/IMG_20170501_102406508_hu_f11bf536f2f161dc.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102406508.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102418868.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102418868_hu_a95db90ca1409f72.webp 400w,
 /img/sketches/IMG_20170501_102418868_hu_6cb41e5eb0897c66.webp 700w,
 /img/sketches/IMG_20170501_102418868_hu_22fa4b6197dc2a30.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102418868_hu_fe323f8fcde39b1c.jpg"
 srcset="
 /img/sketches/IMG_20170501_102418868_hu_c93ee2c15928ed0.jpg 400w,
 /img/sketches/IMG_20170501_102418868_hu_fe323f8fcde39b1c.jpg 700w,
 /img/sketches/IMG_20170501_102418868_hu_168eaa5c6be4c14f.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102418868.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102445651.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102445651_hu_d39c030b07e4d424.webp 400w,
 /img/sketches/IMG_20170501_102445651_hu_110a3925793d31fa.webp 700w,
 /img/sketches/IMG_20170501_102445651_hu_e5aff6fdd209aa69.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102445651_hu_e7ac9f6154f7bd10.jpg"
 srcset="
 /img/sketches/IMG_20170501_102445651_hu_de78af08c8446ef9.jpg 400w,
 /img/sketches/IMG_20170501_102445651_hu_e7ac9f6154f7bd10.jpg 700w,
 /img/sketches/IMG_20170501_102445651_hu_f1fdba719c73da35.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102445651.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102508803.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102508803_hu_8243e18b154f8773.webp 400w,
 /img/sketches/IMG_20170501_102508803_hu_8c5d383c15b971ab.webp 700w,
 /img/sketches/IMG_20170501_102508803_hu_ec26b54f09576b5c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102508803_hu_626373b1cd834a00.jpg"
 srcset="
 /img/sketches/IMG_20170501_102508803_hu_7c76294afdd8042c.jpg 400w,
 /img/sketches/IMG_20170501_102508803_hu_626373b1cd834a00.jpg 700w,
 /img/sketches/IMG_20170501_102508803_hu_aeb6a3d0714ce617.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102508803.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102524243.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102524243_hu_abc5290203f71a4c.webp 400w,
 /img/sketches/IMG_20170501_102524243_hu_4f8eff2e0df3a9b5.webp 700w,
 /img/sketches/IMG_20170501_102524243_hu_9959d075fe02fbf9.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102524243_hu_502bad0673ee1b3a.jpg"
 srcset="
 /img/sketches/IMG_20170501_102524243_hu_954efcae3284e7c5.jpg 400w,
 /img/sketches/IMG_20170501_102524243_hu_502bad0673ee1b3a.jpg 700w,
 /img/sketches/IMG_20170501_102524243_hu_43e581de51f4f5b3.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102524243.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102552611.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102552611_hu_47ce25fe23faa2ff.webp 400w,
 /img/sketches/IMG_20170501_102552611_hu_59176c520fc4cc31.webp 700w,
 /img/sketches/IMG_20170501_102552611_hu_bf5ede5e9e625ff2.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102552611_hu_587259f9a46a648e.jpg"
 srcset="
 /img/sketches/IMG_20170501_102552611_hu_4512475174f47fcc.jpg 400w,
 /img/sketches/IMG_20170501_102552611_hu_587259f9a46a648e.jpg 700w,
 /img/sketches/IMG_20170501_102552611_hu_5e5a5e60dfe9f853.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102552611.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102614060.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102614060_hu_caae782fc535334e.webp 400w,
 /img/sketches/IMG_20170501_102614060_hu_9cfed8ee8e4c922.webp 700w,
 /img/sketches/IMG_20170501_102614060_hu_50465c79d796be0a.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102614060_hu_3d2ef7ca9f24cb42.jpg"
 srcset="
 /img/sketches/IMG_20170501_102614060_hu_6801efb43becd595.jpg 400w,
 /img/sketches/IMG_20170501_102614060_hu_3d2ef7ca9f24cb42.jpg 700w,
 /img/sketches/IMG_20170501_102614060_hu_4052843cb7503447.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102614060.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102638744.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102638744_hu_9dca4c5ab1df210e.webp 400w,
 /img/sketches/IMG_20170501_102638744_hu_17e55ad69ba3f8c5.webp 700w,
 /img/sketches/IMG_20170501_102638744_hu_e6195f812f4c5c78.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102638744_hu_8a7b025bb64fc481.jpg"
 srcset="
 /img/sketches/IMG_20170501_102638744_hu_1519a66f02dcae69.jpg 400w,
 /img/sketches/IMG_20170501_102638744_hu_8a7b025bb64fc481.jpg 700w,
 /img/sketches/IMG_20170501_102638744_hu_2d1704ce297263b8.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102638744.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102647992.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102647992_hu_912f126f9abb36ed.webp 400w,
 /img/sketches/IMG_20170501_102647992_hu_f881c059805a9908.webp 700w,
 /img/sketches/IMG_20170501_102647992_hu_9b1061582943a248.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102647992_hu_c878c2620ab081e6.jpg"
 srcset="
 /img/sketches/IMG_20170501_102647992_hu_11bc1a943b0ce63d.jpg 400w,
 /img/sketches/IMG_20170501_102647992_hu_c878c2620ab081e6.jpg 700w,
 /img/sketches/IMG_20170501_102647992_hu_8e502c837bebb974.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102647992.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102659423.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102659423_hu_34569bf78d480821.webp 400w,
 /img/sketches/IMG_20170501_102659423_hu_1ef322db95c36a71.webp 700w,
 /img/sketches/IMG_20170501_102659423_hu_a70b6428d162db99.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102659423_hu_a832f9ac05f1f901.jpg"
 srcset="
 /img/sketches/IMG_20170501_102659423_hu_ca6dd29584554ee0.jpg 400w,
 /img/sketches/IMG_20170501_102659423_hu_a832f9ac05f1f901.jpg 700w,
 /img/sketches/IMG_20170501_102659423_hu_a056c473c765c7ef.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102659423.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102705236.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102705236_hu_1998a92abed50074.webp 400w,
 /img/sketches/IMG_20170501_102705236_hu_875a958533d95485.webp 700w,
 /img/sketches/IMG_20170501_102705236_hu_ba53c540dde03023.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102705236_hu_a85b5735b9dd8cd2.jpg"
 srcset="
 /img/sketches/IMG_20170501_102705236_hu_8ac5e6708a8ba339.jpg 400w,
 /img/sketches/IMG_20170501_102705236_hu_a85b5735b9dd8cd2.jpg 700w,
 /img/sketches/IMG_20170501_102705236_hu_7662fc36fa1ddae7.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102705236.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20170501_102711524.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20170501_102711524_hu_730bf6e966d5ec6b.webp 400w,
 /img/sketches/IMG_20170501_102711524_hu_4e2ffba6dc571cb9.webp 700w,
 /img/sketches/IMG_20170501_102711524_hu_7d6cd76c4ecaba59.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20170501_102711524_hu_cf4d1aec93831d21.jpg"
 srcset="
 /img/sketches/IMG_20170501_102711524_hu_e3b125347f7ea036.jpg 400w,
 /img/sketches/IMG_20170501_102711524_hu_cf4d1aec93831d21.jpg 700w,
 /img/sketches/IMG_20170501_102711524_hu_39519b6cfbfbf023.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20170501_102711524.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20171203_160120.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20171203_160120_hu_1ee447f92c4b082c.webp 400w,
 /img/sketches/IMG_20171203_160120_hu_ed3f7ea382c4052a.webp 700w,
 /img/sketches/IMG_20171203_160120_hu_dbef2b7e33e734b7.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20171203_160120_hu_40d726b12c7938f2.jpg"
 srcset="
 /img/sketches/IMG_20171203_160120_hu_cec4cc4f7ff6c7f5.jpg 400w,
 /img/sketches/IMG_20171203_160120_hu_40d726b12c7938f2.jpg 700w,
 /img/sketches/IMG_20171203_160120_hu_b5f2479014d19f90.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="508"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20171203_160120.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20180711_140143250.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20180711_140143250_hu_a807494c35757b8b.webp 400w,
 /img/sketches/IMG_20180711_140143250_hu_7d319dccaa405f93.webp 700w,
 /img/sketches/IMG_20180711_140143250_hu_70ca12064897ec28.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20180711_140143250_hu_e2f527866245c961.jpg"
 srcset="
 /img/sketches/IMG_20180711_140143250_hu_ff2ebbf193dec329.jpg 400w,
 /img/sketches/IMG_20180711_140143250_hu_e2f527866245c961.jpg 700w,
 /img/sketches/IMG_20180711_140143250_hu_de780ea6cf7adcfb.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20180711_140143250.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20180807_130117752.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20180807_130117752_hu_612d75df8b28b92b.webp 400w,
 /img/sketches/IMG_20180807_130117752_hu_64a8dc230e8b6133.webp 700w,
 /img/sketches/IMG_20180807_130117752_hu_4bb695034af061ba.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20180807_130117752_hu_8d080acf88661553.jpg"
 srcset="
 /img/sketches/IMG_20180807_130117752_hu_7c0570bc00830371.jpg 400w,
 /img/sketches/IMG_20180807_130117752_hu_8d080acf88661553.jpg 700w,
 /img/sketches/IMG_20180807_130117752_hu_d2e4fdc94060c4db.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1244"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20180807_130117752.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20190702_081507.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20190702_081507_hu_1b2b4f7d79bec8c5.webp 400w,
 /img/sketches/IMG_20190702_081507_hu_e5de904148d03977.webp 700w,
 /img/sketches/IMG_20190702_081507_hu_a0c91ad8077e11fd.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20190702_081507_hu_71d202da7cdbdc64.jpg"
 srcset="
 /img/sketches/IMG_20190702_081507_hu_7dc373cb21df26b6.jpg 400w,
 /img/sketches/IMG_20190702_081507_hu_71d202da7cdbdc64.jpg 700w,
 /img/sketches/IMG_20190702_081507_hu_a3c5a564df262e53.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="786"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20190702_081507.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_20201205_220624.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_20201205_220624_hu_d6fe0d8c5c4a957d.webp 400w,
 /img/sketches/IMG_20201205_220624_hu_a03fa26de56bedc.webp 700w,
 /img/sketches/IMG_20201205_220624_hu_c822cf9761e252cb.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_20201205_220624_hu_cbb5f855ba613dbf.jpg"
 srcset="
 /img/sketches/IMG_20201205_220624_hu_9ea2a5c9766aecd7.jpg 400w,
 /img/sketches/IMG_20201205_220624_hu_cbb5f855ba613dbf.jpg 700w,
 /img/sketches/IMG_20201205_220624_hu_40129e220e99ac9.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="525"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_20201205_220624.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9045.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9045_hu_74a1cd54fb0cff69.webp 400w,
 /img/sketches/IMG_9045_hu_2c3ef0dbf940224.webp 700w,
 /img/sketches/IMG_9045_hu_7bdd4e52b48fee5c.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9045_hu_48ebbd384558a012.jpg"
 srcset="
 /img/sketches/IMG_9045_hu_b891b33b92cf9015.jpg 400w,
 /img/sketches/IMG_9045_hu_48ebbd384558a012.jpg 700w,
 /img/sketches/IMG_9045_hu_e7c336e2c888f07e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="560"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9045.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9046.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9046_hu_55e8e92e4368f2c1.webp 400w,
 /img/sketches/IMG_9046_hu_b0786e0127da5564.webp 700w,
 /img/sketches/IMG_9046_hu_3a551625e9473979.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9046_hu_3a892f74756ad2b6.jpg"
 srcset="
 /img/sketches/IMG_9046_hu_2655d6c6e979f677.jpg 400w,
 /img/sketches/IMG_9046_hu_3a892f74756ad2b6.jpg 700w,
 /img/sketches/IMG_9046_hu_6dc1fd9e8be7a1c6.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9046.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9047.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9047_hu_63feaacba11a9c0c.webp 400w,
 /img/sketches/IMG_9047_hu_efd330413f7a755.webp 700w,
 /img/sketches/IMG_9047_hu_24d16f6415a35bbf.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9047_hu_7768e31666672d80.jpg"
 srcset="
 /img/sketches/IMG_9047_hu_289957110b6a2011.jpg 400w,
 /img/sketches/IMG_9047_hu_7768e31666672d80.jpg 700w,
 /img/sketches/IMG_9047_hu_f783cb9a84cffb85.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9047.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9048.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9048_hu_5f1005fb62b50740.webp 400w,
 /img/sketches/IMG_9048_hu_8e2dc2643ab91446.webp 700w,
 /img/sketches/IMG_9048_hu_471fb42d855241ee.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9048_hu_4048417b3a22db09.jpg"
 srcset="
 /img/sketches/IMG_9048_hu_2500e087b71c9afd.jpg 400w,
 /img/sketches/IMG_9048_hu_4048417b3a22db09.jpg 700w,
 /img/sketches/IMG_9048_hu_b183bcd0ca628c40.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9048.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9049.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9049_hu_6721da50da82d0fe.webp 400w,
 /img/sketches/IMG_9049_hu_527d971259fd93a0.webp 700w,
 /img/sketches/IMG_9049_hu_908f698102a07139.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9049_hu_e31cf61cc3dfc3f9.jpg"
 srcset="
 /img/sketches/IMG_9049_hu_2b74d1f209c8c74e.jpg 400w,
 /img/sketches/IMG_9049_hu_e31cf61cc3dfc3f9.jpg 700w,
 /img/sketches/IMG_9049_hu_e2984b9d699fe000.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9049.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9050.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9050_hu_71a1f5bc358bb412.webp 400w,
 /img/sketches/IMG_9050_hu_821b57090a4bba3.webp 700w,
 /img/sketches/IMG_9050_hu_23acc2058e52c07b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9050_hu_21ad4753e12e1e81.jpg"
 srcset="
 /img/sketches/IMG_9050_hu_9964857110c64ab.jpg 400w,
 /img/sketches/IMG_9050_hu_21ad4753e12e1e81.jpg 700w,
 /img/sketches/IMG_9050_hu_bc51977184ff645e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9050.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9051.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9051_hu_b7c23c53e0ac0f7c.webp 400w,
 /img/sketches/IMG_9051_hu_8e423de480a349c1.webp 700w,
 /img/sketches/IMG_9051_hu_40d33dd22a2365e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9051_hu_aaa3bd8ec39a368c.jpg"
 srcset="
 /img/sketches/IMG_9051_hu_4ab95cadc8c6effa.jpg 400w,
 /img/sketches/IMG_9051_hu_aaa3bd8ec39a368c.jpg 700w,
 /img/sketches/IMG_9051_hu_69f9790a5b955b35.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9051.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9052.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9052_hu_1614a8c3651f3952.webp 400w,
 /img/sketches/IMG_9052_hu_c215abefd6868dab.webp 700w,
 /img/sketches/IMG_9052_hu_7333014d88d5a05b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9052_hu_cf799cecf75a2769.jpg"
 srcset="
 /img/sketches/IMG_9052_hu_70b04ccf3108f4e6.jpg 400w,
 /img/sketches/IMG_9052_hu_cf799cecf75a2769.jpg 700w,
 /img/sketches/IMG_9052_hu_11a27964e50a2a07.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9052.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9054.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9054_hu_1f4d71245a407996.webp 400w,
 /img/sketches/IMG_9054_hu_d02ae5d542d863a3.webp 700w,
 /img/sketches/IMG_9054_hu_2d3196c44c316a71.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9054_hu_78636854dbd4a3bb.jpg"
 srcset="
 /img/sketches/IMG_9054_hu_8c6b7bac7413f7ad.jpg 400w,
 /img/sketches/IMG_9054_hu_78636854dbd4a3bb.jpg 700w,
 /img/sketches/IMG_9054_hu_eb638d54b4611d30.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9054.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9055.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9055_hu_78dd6dc268504011.webp 400w,
 /img/sketches/IMG_9055_hu_1feedbb553745104.webp 700w,
 /img/sketches/IMG_9055_hu_ba588c285e19c44b.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9055_hu_c9ba8db4ec263d59.jpg"
 srcset="
 /img/sketches/IMG_9055_hu_40d014c857e45690.jpg 400w,
 /img/sketches/IMG_9055_hu_c9ba8db4ec263d59.jpg 700w,
 /img/sketches/IMG_9055_hu_286e0e6e876ac6d1.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9055.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9056.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9056_hu_c89122ab271ea6aa.webp 400w,
 /img/sketches/IMG_9056_hu_8ae977ed4efaec01.webp 700w,
 /img/sketches/IMG_9056_hu_9ed3d3cefc0cba03.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9056_hu_b317a3eda9dbb4ac.jpg"
 srcset="
 /img/sketches/IMG_9056_hu_9d6263c4a4e0383f.jpg 400w,
 /img/sketches/IMG_9056_hu_b317a3eda9dbb4ac.jpg 700w,
 /img/sketches/IMG_9056_hu_54eb6892c202bc6e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9056.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9057.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9057_hu_4b0a1b844e499d14.webp 400w,
 /img/sketches/IMG_9057_hu_94781371db95cbb7.webp 700w,
 /img/sketches/IMG_9057_hu_1dbe240e67bc3e16.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9057_hu_e0eeea7737c2871.jpg"
 srcset="
 /img/sketches/IMG_9057_hu_e57bf4231e3f669e.jpg 400w,
 /img/sketches/IMG_9057_hu_e0eeea7737c2871.jpg 700w,
 /img/sketches/IMG_9057_hu_d649bc1148b3430e.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9057.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9058.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9058_hu_9ddb871b20214a6a.webp 400w,
 /img/sketches/IMG_9058_hu_d4c8a26f41682994.webp 700w,
 /img/sketches/IMG_9058_hu_fe99afa6cb33cd9d.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9058_hu_cd806112c337e5a3.jpg"
 srcset="
 /img/sketches/IMG_9058_hu_c34e91df9abab8a7.jpg 400w,
 /img/sketches/IMG_9058_hu_cd806112c337e5a3.jpg 700w,
 /img/sketches/IMG_9058_hu_c1951592649b10d8.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9058.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9059.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9059_hu_6b85486f6c1671c6.webp 400w,
 /img/sketches/IMG_9059_hu_2ff81c10f590404.webp 700w,
 /img/sketches/IMG_9059_hu_7ce8a0dc53f1b3de.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9059_hu_af2167491aa8df97.jpg"
 srcset="
 /img/sketches/IMG_9059_hu_479d92c802eab6c2.jpg 400w,
 /img/sketches/IMG_9059_hu_af2167491aa8df97.jpg 700w,
 /img/sketches/IMG_9059_hu_fa41a68e7a579346.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9059.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9060.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9060_hu_1440ed38cb20ecac.webp 400w,
 /img/sketches/IMG_9060_hu_96b3eedf61deb9d.webp 700w,
 /img/sketches/IMG_9060_hu_49d80f6d535e2281.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9060_hu_95f5354caf46c66f.jpg"
 srcset="
 /img/sketches/IMG_9060_hu_558019df1381d1e0.jpg 400w,
 /img/sketches/IMG_9060_hu_95f5354caf46c66f.jpg 700w,
 /img/sketches/IMG_9060_hu_a50bdfc231151695.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9060.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9061.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9061_hu_482d297a2d6f396f.webp 400w,
 /img/sketches/IMG_9061_hu_bba3e597155417e3.webp 700w,
 /img/sketches/IMG_9061_hu_d345fb0b1f9b819f.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9061_hu_245224ef79b665ad.jpg"
 srcset="
 /img/sketches/IMG_9061_hu_e38e863c3e159271.jpg 400w,
 /img/sketches/IMG_9061_hu_245224ef79b665ad.jpg 700w,
 /img/sketches/IMG_9061_hu_580ea73585d2615f.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="875"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9061.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9062.jpg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9062_hu_463eb5ca311e6109.webp 400w,
 /img/sketches/IMG_9062_hu_d6d5ee65ab3b6ad7.webp 700w,
 /img/sketches/IMG_9062_hu_1d7dafe93f3bde18.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9062_hu_58b672116dd82127.jpg"
 srcset="
 /img/sketches/IMG_9062_hu_9916499a0f4feb7a.jpg 400w,
 /img/sketches/IMG_9062_hu_58b672116dd82127.jpg 700w,
 /img/sketches/IMG_9062_hu_126a21660fc8db7b.jpg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="560"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9062.jpg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9174.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9174_hu_9ccbe9549bff90d2.webp 400w,
 /img/sketches/IMG_9174_hu_6e4389e2a3983edc.webp 700w,
 /img/sketches/IMG_9174_hu_3a20c31b322f2b0e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9174_hu_22bfa5e57f997f4d.JPG"
 srcset="
 /img/sketches/IMG_9174_hu_8e917706b29f5fab.JPG 400w,
 /img/sketches/IMG_9174_hu_22bfa5e57f997f4d.JPG 700w,
 /img/sketches/IMG_9174_hu_9035b3a93734a99b.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9174.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9175.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9175_hu_487fbd5f7fda65c1.webp 400w,
 /img/sketches/IMG_9175_hu_bb716fa868dc2805.webp 700w,
 /img/sketches/IMG_9175_hu_da3d3e3f56994979.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9175_hu_16263f3bf252a51.JPG"
 srcset="
 /img/sketches/IMG_9175_hu_ed8fb621eb485b0e.JPG 400w,
 /img/sketches/IMG_9175_hu_16263f3bf252a51.JPG 700w,
 /img/sketches/IMG_9175_hu_64e46fcbf40187a1.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9175.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/IMG_9176.JPG" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/IMG_9176_hu_924e9f0b4538b72c.webp 400w,
 /img/sketches/IMG_9176_hu_2ce492fbcb4a60c4.webp 700w,
 /img/sketches/IMG_9176_hu_57600277fbbddb4.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/IMG_9176_hu_c8ee708e9552f4.JPG"
 srcset="
 /img/sketches/IMG_9176_hu_ecbf0d55b899cbc3.JPG 400w,
 /img/sketches/IMG_9176_hu_c8ee708e9552f4.JPG 700w,
 /img/sketches/IMG_9176_hu_2fe0a8a4a6ddb612.JPG 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="933"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/IMG_9176.JPG"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_99defb29cd38c298.webp 400w,
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_2b0528c0bfb3ab73.webp 700w,
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_e082bc43a9dada49.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_ad011fe5ea5df684.jpeg"
 srcset="
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_b6835495c410bbbe.jpeg 400w,
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_ad011fe5ea5df684.jpeg 700w,
 /img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c_hu_4d3bd2cd1bffe8ad.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="598"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/09102D09-3A49-4F20-900B-81EC77DFB682_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 
 &lt;a href="https://www.binovarghese.com/img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c.jpeg" class="glightbox gallery-item"&gt;

 






 
 
 

 
 
 

 
 
 

&lt;picture&gt;

 
 &lt;source
 type="image/webp"
 srcset="
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_6dd7de954bff17c0.webp 400w,
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_58125831d0537710.webp 700w,
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_491b520a0af5c04e.webp 1200w
 "
 &gt;

 
 &lt;img
 loading="lazy"
 src="https://www.binovarghese.com/img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_b55cc0a87f86b2e6.jpeg"
 srcset="
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_4a17c77017d3217a.jpeg 400w,
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_b55cc0a87f86b2e6.jpeg 700w,
 /img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c_hu_6a29b056a87b6ea0.jpeg 1200w
 "
 sizes="(max-width: 576px) 400px,
 (max-width: 992px) 700px,
 1200px"
 width="700"
 height="1103"
 class="img-fluid rounded mb-2"
 alt="/img/sketches/8437005E-3AB5-4491-BC42-0D3883F0B7B8_1_105_c.jpeg"
 &gt;

&lt;/picture&gt;




 &lt;/a&gt;
 

 &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
 
 .gallery {
 column-count: 3; 
 column-gap: 15px; 
 }

 .gallery-item {
 display: inline-block;
 width: 100%;
 break-inside: avoid; 
 }

 .gallery img {
 width: 100%;
 height: auto;
 transition: transform 0.3s ease;
 border-radius: 4px;
 }

 .gallery img:hover {
 transform: scale(1.05);
 }

 
 @media (max-width: 992px) {
 .gallery {
 column-count: 3;
 }
 }

 @media (max-width: 768px) {
 .gallery {
 column-count: 2;
 }
 }

 @media (max-width: 576px) {
 .gallery {
 column-count: 1;
 }
 }
&lt;/style&gt;
</description></item><item><title>What I Use</title><link>https://www.binovarghese.com/uses/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><author>binovarghese8120@gmail.com (Bino Kochumol Varghese)</author><guid>https://www.binovarghese.com/uses/</guid><description>&lt;p&gt;This is a curated list of the apps, tools, and everyday essentials I use for work and daily life. It covers everything from software I depend on, to hardware I love, and even a few small things that make my life smoother.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.binovarghese.com/img/desk/home/workstation-2025.webp"&gt;
&lt;/figure&gt;

&lt;h3 id="hardware"&gt;Hardware&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MacBook Air M4&lt;/strong&gt;&lt;br&gt;
Absolutely loved it—the speed, the display, and that stunning Space Black color.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;24 inch Dell Monitor&lt;/strong&gt;&lt;br&gt;
This is a perfect monitor for me, big and beautiful.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Apple-Dual-USB-C-Power-Adapter/dp/B0B3BRMC7L?th=1&amp;amp;psc=1&amp;amp;linkCode=sl1&amp;amp;tag=z012-20&amp;amp;linkId=3175ba301faea1c79f3a1572def1390e&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_tl"&gt;&lt;strong&gt;Apple Dual USB-C Power Adapter&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
This will work with both MacBook and iPhone.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.logitech.com/en-sg/products/combos/mk240-minimalist-keyboard-mouse.920-008202.html"&gt;&lt;strong&gt;Logitech MK240&lt;/strong&gt;&lt;/a&gt; Wireless Keyboard&lt;br&gt;
Black with yellow combination, sweet and short.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://electronics.sony.com/audio/soundbars/all-soundbars/p/hts400"&gt;&lt;strong&gt;Sony HT-S400&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
I am a home theatre fan from the childhood, so I bought one.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/All-new-Kindle-Paperwhite-Waterproof-Storage/dp/B07CXG6C9W"&gt;&lt;strong&gt;Kindle Paperwhite&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
This is for daily reading, but now days I am not using this much.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/dp/B0CWS3V8QN?ref=ppx_yo2ov_dt_b_fed_asin_title&amp;amp;th=1"&gt;&lt;strong&gt;Portronics Metal Laptop Stand&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://www.amazon.in/dp/B07Q4QV1DL?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_4"&gt;&lt;strong&gt;Mobile stand&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://www.ikea.com/in/en/p/moejlighet-headset-tablet-stand-black-80434278/"&gt;&lt;strong&gt;IKEA Mojlighet&lt;/strong&gt;&lt;/a&gt; Headphone Stand.&lt;br&gt;
I love these type of small handy things.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mobile"&gt;Mobile&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;iPhone 15 Pro&lt;/strong&gt;&lt;br&gt;
The color is Natural Titanium. I love switching cases every few months and have built up a small collection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AirPods Pro 2&lt;/strong&gt;&lt;br&gt;
These are my everyday carry headphones—what I love most is the noise cancellation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="software"&gt;Software&lt;/h3&gt;
&lt;p&gt;The below are the default apps I am using and this is inspired by default apps site by &lt;a href="https://defaults.rknight.me/"&gt;Robb Knight&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;📨 Mail Client: Apple Mail&lt;br&gt;
📮 Mail Server: &lt;a href="https://gmail.com/"&gt;Gmail&lt;/a&gt;&lt;br&gt;
📝 Notes: Apple Notes and &lt;a href="https://obsidian.md"&gt;Obsidian&lt;/a&gt;.&lt;br&gt;
✅ To-Do: Notepad and pen are working fine for me.&lt;br&gt;
📷 Photo Shooting: iPhone&lt;br&gt;
🎨 Design: &lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt;&lt;br&gt;
📆 Calendar: Apple Calendar&lt;br&gt;
📁 Cloud File Storage: iCloud and Google Drive&lt;br&gt;
📖 RSS: &lt;a href="https://netnewswire.com/"&gt;NetNewsWire&lt;/a&gt;&lt;br&gt;
🙍🏻‍♂️ Contacts: Apple Contacts&lt;br&gt;
🌐 Browser: &lt;a href="https://www.apple.com/in/safari/"&gt;Safari&lt;/a&gt; for general purpose and &lt;a href="https://brave.com/"&gt;Brave&lt;/a&gt; for work.&lt;br&gt;
💬 Chat: WhatsApp, Discord&lt;br&gt;
🔖 Bookmarks: &lt;a href="https://brave.com/"&gt;Brave&lt;/a&gt;&lt;br&gt;
📑 Read It Later: &lt;a href="https://raindrop.io"&gt;Raindrop&lt;/a&gt;&lt;br&gt;
📜 Word Processing: MS Word&lt;br&gt;
📈 Spreadsheets: MS Excel, Google Sheets&lt;br&gt;
📊 Presentations: N/A&lt;br&gt;
🛒 Shopping Lists: Apple Reminders&lt;br&gt;
🍴 Meal Planning: N/A&lt;br&gt;
💰 Budgeting and Personal Finance: Excel, ya its working for me.&lt;br&gt;
📰 News: No, thank you.&lt;br&gt;
🎵 Music: &lt;a href="https://music.youtube.com/"&gt;YTMusic&lt;/a&gt;&lt;br&gt;
🎤 Podcasts: &lt;a href="https://podcasts.apple.com/us/browse"&gt;Apple podcasts&lt;/a&gt;&lt;br&gt;
🔐 Password Management: Apple Passwords&lt;br&gt;
🧑‍💻 Code Editor: &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;&lt;br&gt;
✈️ VPN: N/A&lt;br&gt;
🗄️ Code Repositories: &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;&lt;br&gt;
💽 Hosting: &lt;a href="https://www.netlify.com"&gt;Netlify&lt;/a&gt;&lt;br&gt;
📖 Reading: Kindle (Nowadays mostly physical books.) &lt;br&gt;
📓 Journaling: &lt;a href="https://apps.apple.com/us/app/journal/id6447391597"&gt;Apple Journal&lt;/a&gt;&lt;br&gt;
🗺️ Maps + Driving Directions: Google Maps&lt;br&gt;
⌨️ For learning typing: &lt;a href="https://www.typingclub.com/"&gt;Typing club&lt;/a&gt;&lt;br&gt;
🪶 Malayalam dictionary: &lt;a href="https://olam.in/"&gt;Olam&lt;/a&gt;&lt;br&gt;
✏️ Programming font: &lt;a href="https://github.com/tonsky/FiraCode"&gt;FiraCode&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As we all know, we use many apps and software daily. Here, I’ve highlighted just the main ones, though I’ll add more if I come across something interesting. For more setups, check out the awesome collection at &lt;a href="https://uses.tech/"&gt;uses.tech&lt;/a&gt;, where people share their favorites.&lt;/p&gt;</description></item></channel></rss>