<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Zero Bytes</title><description>Software Development. My interests. Other Stuff.</description><managingEditor>noreply@blogger.com (Unknown)</managingEditor><pubDate>Sat, 10 Oct 2026 14:50:32 +0530</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">213</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://sirishg.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Software Development. My interests. Other Stuff.</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>Installing RHEL 9 on Synology Virtual Machine Manager (The Easy Way)</title><link>http://sirishg.blogspot.com/2026/02/synology-rhel-installation.html</link><category>Synology</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 10 Feb 2026 22:19:10 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-8498549892970158160</guid><description>&lt;p data-end="292" data-start="208"&gt;If you tried installing &lt;strong data-end="258" data-start="232"&gt;RHEL 9 on Synology VMM&lt;/strong&gt;, you probably hit this nightmare:&lt;/p&gt;&lt;ul data-end="431" data-start="294"&gt;
&lt;li data-end="315" data-start="294"&gt;
&lt;p data-end="315" data-start="296"&gt;Installer freezes&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="359" data-start="316"&gt;
&lt;p data-end="359" data-start="318"&gt;&lt;code data-end="357" data-start="318"&gt;waiting for multipath siblings of sda&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="376" data-start="360"&gt;
&lt;p data-end="376" data-start="362"&gt;Kernel panic&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="406" data-start="377"&gt;
&lt;p data-end="406" data-start="379"&gt;“Unable to mount root fs”&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="431" data-start="407"&gt;
&lt;p data-end="431" data-start="409"&gt;Black screen forever&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p data-end="586" data-start="433"&gt;I spent hours figuring this out. This guide will save you that pain and help you create a &lt;strong data-end="542" data-start="523"&gt;Golden Template&lt;/strong&gt; so you only install once and clone forever.&lt;/p&gt;&lt;hr data-end="591" data-start="588" /&gt;&lt;h1 data-end="625" data-start="593"&gt;Why RHEL Fails on Synology VMM&lt;/h1&gt;&lt;p data-end="766" data-start="627"&gt;Synology VMM uses simplified KVM virtualization.&lt;br data-end="678" data-start="675" /&gt;
RHEL assumes enterprise SAN storage and enables &lt;strong data-end="754" data-start="726"&gt;multipath disk detection&lt;/strong&gt; by default.&lt;/p&gt;&lt;p data-end="898" data-start="768"&gt;Synology presents a single virtual disk → RHEL thinks it’s a SAN disk → installer waits forever for extra disk paths → boot fails.&lt;/p&gt;&lt;p data-end="935" data-start="900"&gt;The fix is simple once you know it.&lt;/p&gt;&lt;hr data-end="940" data-start="937" /&gt;&lt;h1 data-end="988" data-start="942"&gt;Step 1 — Create the VM with Correct Settings&lt;/h1&gt;&lt;p data-end="1046" data-start="990"&gt;Create a new VM in &lt;strong data-end="1045" data-start="1009"&gt;Synology Virtual Machine Manager&lt;/strong&gt;.&lt;/p&gt;&lt;p data-end="1067" data-start="1048"&gt;Use these settings:&lt;/p&gt;&lt;h3 data-end="1080" data-start="1069"&gt;General&lt;/h3&gt;&lt;ul data-end="1128" data-start="1081"&gt;
&lt;li data-end="1101" data-start="1081"&gt;
&lt;p data-end="1101" data-start="1083"&gt;OS Type: &lt;strong data-end="1101" data-start="1092"&gt;Linux&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="1128" data-start="1102"&gt;
&lt;p data-end="1128" data-start="1104"&gt;Version: &lt;strong data-end="1128" data-start="1113"&gt;Other Linux&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3 data-end="1146" data-start="1130"&gt;CPU &amp;amp; Memory&lt;/h3&gt;&lt;ul data-end="1217" data-start="1147"&gt;
&lt;li data-end="1184" data-start="1147"&gt;
&lt;p data-end="1184" data-start="1149"&gt;CPU: 2 vCPU minimum (4 recommended)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="1217" data-start="1185"&gt;
&lt;p data-end="1217" data-start="1187"&gt;RAM: 4 GB minimum (8 GB ideal)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3 data-end="1244" data-start="1219"&gt;Boot Mode (IMPORTANT)&lt;/h3&gt;&lt;ul data-end="1286" data-start="1245"&gt;
&lt;li data-end="1268" data-start="1245"&gt;
&lt;p data-end="1268" data-start="1247"&gt;Use &lt;strong data-end="1268" data-start="1251"&gt;BIOS / Legacy&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="1286" data-start="1269"&gt;
&lt;p data-end="1286" data-start="1271"&gt;Do NOT use UEFI&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3 data-end="1296" data-start="1288"&gt;Disk&lt;/h3&gt;&lt;ul data-end="1331" data-start="1297"&gt;
&lt;li data-end="1314" data-start="1297"&gt;
&lt;p data-end="1314" data-start="1299"&gt;Bus: &lt;strong data-end="1314" data-start="1304"&gt;VirtIO&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="1331" data-start="1315"&gt;
&lt;p data-end="1331" data-start="1317"&gt;Size: 40–60 GB&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3 data-end="1344" data-start="1333"&gt;Network&lt;/h3&gt;&lt;ul data-end="1366" data-start="1345"&gt;
&lt;li data-end="1366" data-start="1345"&gt;
&lt;p data-end="1366" data-start="1347"&gt;Adapter: &lt;strong data-end="1366" data-start="1356"&gt;VirtIO&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p data-end="1407" data-start="1368"&gt;Attach the RHEL 9 ISO and start the VM.&lt;/p&gt;&lt;hr data-end="1412" data-start="1409" /&gt;&lt;h1 data-end="1464" data-start="1414"&gt;Step 2 — Fix the Boot Parameters (Critical Step)&lt;/h1&gt;&lt;p data-end="1498" data-start="1466"&gt;When the installer menu appears:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="1586" data-start="1500"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;Install Red Hat Enterprise Linux &lt;span class="hljs-number"&gt;9.&lt;/span&gt;x
Test &lt;span class="hljs-keyword"&gt;this&lt;/span&gt; media &amp;amp; install
Troubleshooting
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="1602" data-start="1588"&gt;Press &lt;strong data-end="1601" data-start="1594"&gt;TAB&lt;/strong&gt;.&lt;/p&gt;&lt;p data-end="1641" data-start="1604"&gt;You will see a boot line ending with:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="1656" data-start="1643"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-attribute"&gt;quiet&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="1693" data-start="1658"&gt;Append this to the end of the line:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="1750" data-start="1695"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;inst.text rd.multipath=&lt;span class="hljs-number"&gt;0&lt;/span&gt; nomodeset console=tty0
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="1776" data-start="1752"&gt;Press &lt;strong data-end="1767" data-start="1758"&gt;ENTER&lt;/strong&gt; to boot.&lt;/p&gt;&lt;p data-end="1881" data-start="1778"&gt;This disables multipath detection and forces the text installer, which works perfectly in Synology VMM.&lt;/p&gt;&lt;hr data-end="1886" data-start="1883" /&gt;&lt;h1 data-end="1918" data-start="1888"&gt;Step 3 — Start the Installer&lt;/h1&gt;&lt;p data-end="1958" data-start="1920"&gt;You will be prompted with two options:&lt;/p&gt;&lt;ul data-end="1989" data-start="1960"&gt;
&lt;li data-end="1971" data-start="1960"&gt;
&lt;p data-end="1971" data-start="1962"&gt;Start VNC&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="1989" data-start="1972"&gt;
&lt;p data-end="1989" data-start="1974"&gt;Start Text Mode&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p data-end="1998" data-start="1991"&gt;Choose:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="2023" data-start="2000"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-variable"&gt;Start&lt;/span&gt; &lt;span class="hljs-built_in"&gt;Text&lt;/span&gt; &lt;span class="hljs-built_in"&gt;Mode&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr data-end="2028" data-start="2025" /&gt;&lt;h1 data-end="2065" data-start="2030"&gt;Step 4 — Choose Installation Type&lt;/h1&gt;&lt;p data-end="2074" data-start="2067"&gt;Select:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="2090" data-start="2076"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-built_in"&gt;Server&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="2164" data-start="2092"&gt;This gives you a lightweight but fully usable enterprise server install.&lt;/p&gt;&lt;p data-end="2232" data-start="2166"&gt;Proceed with automatic partitioning and complete the installation.&lt;/p&gt;&lt;p data-end="2255" data-start="2234"&gt;Reboot when finished.&lt;/p&gt;&lt;hr data-end="2260" data-start="2257" /&gt;&lt;h1 data-end="2290" data-start="2262"&gt;Step 5 — First Login Setup&lt;/h1&gt;&lt;p data-end="2342" data-start="2292"&gt;After the first login, run the following commands.&lt;/p&gt;&lt;h3 data-end="2361" data-start="2344"&gt;Update the OS&lt;/h3&gt;&lt;pre class="overflow-visible! px-0!" data-end="2404" data-start="2362"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; dnf update -y
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; reboot
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr data-end="2409" data-start="2406" /&gt;&lt;h3 data-end="2446" data-start="2411"&gt;Install Synology VM integration&lt;/h3&gt;&lt;p data-end="2499" data-start="2447"&gt;This allows clean shutdown and proper VM monitoring.&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="2594" data-start="2501"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; dnf install qemu-guest-agent -y
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; systemctl &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt; --now qemu-guest-agent
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr data-end="2599" data-start="2596" /&gt;&lt;h3 data-end="2633" data-start="2601"&gt;Remove multipath permanently&lt;/h3&gt;&lt;pre class="overflow-visible! px-0!" data-end="2688" data-start="2634"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; dnf remove device-mapper-multipath -y
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr data-end="2693" data-start="2690" /&gt;&lt;h3 data-end="2725" data-start="2695"&gt;Install common admin tools&lt;/h3&gt;&lt;pre class="overflow-visible! px-0!" data-end="2807" data-start="2726"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; dnf install -y vim wget curl net-tools bash-completion git unzip
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr data-end="2812" data-start="2809" /&gt;&lt;h1 data-end="2862" data-start="2814"&gt;Step 6 — Prepare the VM to Become a Template ⭐&lt;/h1&gt;&lt;p data-end="2929" data-start="2864"&gt;Before converting the VM into a template, clean machine identity.&lt;/p&gt;&lt;p data-end="2935" data-start="2931"&gt;Run:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="3090" data-start="2937"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in"&gt;truncate&lt;/span&gt; -s 0 /etc/machine-id
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -f /var/lib/dbus/machine-id
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -f /etc/ssh/ssh_host_*
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -f /var/lib/systemd/random-seed
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="3108" data-start="3092"&gt;Shutdown the VM:&lt;/p&gt;&lt;pre class="overflow-visible! px-0!" data-end="3139" data-start="3110"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; shutdown now
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="3155" data-start="3141"&gt;Do NOT reboot.&lt;/p&gt;&lt;hr data-end="3160" data-start="3157" /&gt;&lt;h1 data-end="3207" data-start="3162"&gt;Step 7 — Convert VM to Template in Synology&lt;/h1&gt;&lt;p data-end="3225" data-start="3209"&gt;In Synology VMM:&lt;/p&gt;&lt;ol data-end="3307" data-start="3227"&gt;
&lt;li data-end="3245" data-start="3227"&gt;
&lt;p data-end="3245" data-start="3230"&gt;Select the VM&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3295" data-start="3246"&gt;
&lt;p data-end="3295" data-start="3249"&gt;Click &lt;strong data-end="3295" data-start="3255"&gt;Action → Clone → Convert to Template&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3307" data-start="3296"&gt;
&lt;p data-end="3307" data-start="3299"&gt;Name it:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;pre class="overflow-visible! px-0!" data-end="3336" data-start="3309"&gt;&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;RHEL9-GOLD-&lt;span class="hljs-keyword"&gt;TEMPLATE&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end="3345" data-start="3338"&gt;Done &#127881;&lt;/p&gt;&lt;hr data-end="3350" data-start="3347" /&gt;&lt;h1 data-end="3394" data-start="3352"&gt;Step 8 — Create New Servers in 2 Minutes&lt;/h1&gt;&lt;p data-end="3408" data-start="3396"&gt;From now on:&lt;/p&gt;&lt;ol data-end="3478" data-start="3410"&gt;
&lt;li data-end="3440" data-start="3410"&gt;
&lt;p data-end="3440" data-start="3413"&gt;Create VM &lt;strong data-end="3440" data-start="3423"&gt;from template&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3462" data-start="3441"&gt;
&lt;p data-end="3462" data-start="3444"&gt;Give it a new name&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3478" data-start="3463"&gt;
&lt;p data-end="3478" data-start="3466"&gt;Start the VM&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p data-end="3515" data-start="3480"&gt;Each clone automatically generates:&lt;/p&gt;&lt;ul data-end="3570" data-start="3516"&gt;
&lt;li data-end="3534" data-start="3516"&gt;
&lt;p data-end="3534" data-start="3518"&gt;New machine ID&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3551" data-start="3535"&gt;
&lt;p data-end="3551" data-start="3537"&gt;New SSH keys&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3570" data-start="3552"&gt;
&lt;p data-end="3570" data-start="3554"&gt;Fresh identity&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p data-end="3609" data-start="3572"&gt;No installer. No boot hacks. No pain.&lt;/p&gt;&lt;hr data-end="3614" data-start="3611" /&gt;&lt;h1 data-end="3632" data-start="3616"&gt;Final Thoughts&lt;/h1&gt;&lt;p data-end="3819" data-start="3634"&gt;Synology VMM is a fantastic home lab platform, but RHEL needs a few tweaks during installation. Once you create a golden template, spinning up new Linux servers becomes incredibly fast.&lt;/p&gt;&lt;p data-end="3847" data-start="3821"&gt;This setup is perfect for:&lt;/p&gt;&lt;ul data-end="3948" data-start="3848"&gt;
&lt;li data-end="3861" data-start="3848"&gt;
&lt;p data-end="3861" data-start="3850"&gt;DevOps labs&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3880" data-start="3862"&gt;
&lt;p data-end="3880" data-start="3864"&gt;Jenkins &amp;amp; Docker&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3892" data-start="3881"&gt;
&lt;p data-end="3892" data-start="3883"&gt;Databases&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3920" data-start="3893"&gt;
&lt;p data-end="3920" data-start="3895"&gt;IBM Sterling File Gateway&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end="3948" data-start="3921"&gt;
&lt;p data-end="3948" data-start="3923"&gt;Learning enterprise Linux&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;























































































&lt;/p&gt;&lt;p data-end="3971" data-is-last-node="" data-is-only-node="" data-start="3950"&gt;Happy lab building &#128640;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Java Task Service - Sterling Integrator</title><link>http://sirishg.blogspot.com/2025/05/java-task-service-sterling-integrator.html</link><category>B2BI</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>SFG</category><category>Sterling Integrator</category><author>noreply@blogger.com (Unknown)</author><pubDate>Fri, 2 May 2025 18:58:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-8853152530428050444</guid><description>&lt;p&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); background-color: white; color: #262626; font-size: 13.3px;"&gt;&lt;span style="font-family: inherit;"&gt;import com.sterlingcommerce.woodstock.workflow.Document;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p1" style="-webkit-text-stroke-color: rgb(0, 0, 0); background-color: white; color: #262626; font-size: 13.3px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span class="s1" style="font-kerning: none;"&gt;&lt;span style="font-family: inherit;"&gt;import java.io.InputStream;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p1" style="-webkit-text-stroke-color: rgb(0, 0, 0); background-color: white; color: #262626; font-size: 13.3px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span class="s1" style="font-kerning: none;"&gt;&lt;span style="font-family: inherit;"&gt;import java.io.InputStreamReader;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p1" style="-webkit-text-stroke-color: rgb(0, 0, 0); background-color: white; color: #262626; font-size: 13.3px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span class="s1" style="font-kerning: none;"&gt;&lt;span style="font-family: inherit;"&gt;import java.io.BufferedReader;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2" style="-webkit-text-stroke-color: rgb(38, 38, 38); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 16px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2" style="-webkit-text-stroke-color: rgb(38, 38, 38); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 16px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p3" style="-webkit-text-stroke-color: rgb(38, 38, 38); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;Document &lt;span class="s2" style="color: black;"&gt;doc &lt;/span&gt;= wfc.getPrimaryDocument();&lt;/span&gt;&lt;/p&gt;&lt;p class="p4" style="-webkit-text-stroke-color: rgb(38, 38, 38); font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="s3" style="color: #090909;"&gt;Document &lt;/span&gt;outPutDoc &lt;span class="s3" style="color: #090909;"&gt;= &lt;/span&gt;&lt;span class="s4" style="-webkit-text-stroke-color: rgb(0, 0, 0); background-color: white; font-kerning: none; font-size: 13.3px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"&gt;wfc.newDocument();&lt;/span&gt;&lt;span class="s5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;InputStream &lt;span class="s2" style="color: black;"&gt;inS &lt;/span&gt;= &lt;span class="s2" style="color: black;"&gt;doc&lt;/span&gt;.getInputStream();&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;BufferedReader &lt;span class="s2" style="color: black;"&gt;br &lt;/span&gt;= &lt;span class="s6" style="color: #001da4;"&gt;new &lt;/span&gt;BufferedReader(&lt;span class="s6" style="color: #001da4;"&gt;new &lt;/span&gt;InputStreamReader(&lt;span class="s2" style="color: black;"&gt;inS&lt;/span&gt;));&lt;/span&gt;&lt;/p&gt;&lt;p class="p6" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #116d12; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="s2" style="color: black;"&gt;String &lt;/span&gt;&lt;span class="s3" style="color: #090909;"&gt;strData = &lt;/span&gt;“&amp;lt;SampleData&amp;gt;”&lt;span class="s3" style="color: #090909;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="s2" style="color: black;"&gt;String &lt;/span&gt;strLine;&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="s6" style="color: #001da4;"&gt;while &lt;/span&gt;((strLine = &lt;span class="s2" style="color: black;"&gt;br&lt;/span&gt;.readLine()) != &lt;span class="s6" style="color: #001da4;"&gt;null&lt;/span&gt;) {&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;strData = strData.concat(strLine);&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="p7" style="-webkit-text-stroke-color: rgb(0, 0, 0); font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;br.close();&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;strData = strData + “&amp;lt;/SampleData&amp;gt;”;&lt;/span&gt;&lt;/p&gt;&lt;p class="p8" style="-webkit-text-stroke-color: rgb(0, 0, 0); font-size: 13.3px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span class="s7" style="font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"&gt;outPutDoc.&lt;/span&gt;&lt;span class="s8" style="background-color: white; font-kerning: none;"&gt;setBody(&lt;/span&gt;&lt;span class="s9" style="color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"&gt;strData&lt;/span&gt;&lt;span class="s8" style="background-color: white; font-kerning: none;"&gt;.toString().getBytes());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p5" style="-webkit-text-stroke-color: rgb(0, 0, 0); color: #090909; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-family: inherit;"&gt;wfc.putPrimaryDocument(&lt;span class="s2" style="color: black;"&gt;outPutDoc&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>System Design Techniques</title><link>http://sirishg.blogspot.com/2023/06/system-design-techniques.html</link><category>System Design</category><author>noreply@blogger.com (Unknown)</author><pubDate>Mon, 12 Jun 2023 01:15:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-5701831070686311372</guid><description>&lt;p&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;1. Read-Heavy System: Consider using a cache.&lt;/span&gt;&lt;/p&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;2. Low Latency Requirement: Utilize cache and CDN.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;3. Write-Heavy System: Use message queues for async processing.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;4. ACID Compliance: Opt for RDBMS or SQL Database.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;5. Unstructured Data: Choose NoSQL Database.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;6. Complex Data (Videos, Images, Files): Go for Blob/Object storage.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;7. Complex Pre-computation: Use Message Queue &amp;amp; Cache.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;8. High-Volume Data Search: Consider search index or search engine.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;9. Scaling SQL Database: Implement Database Sharding.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;10. High Availability, Performance, &amp;amp; Throughput: Use a Load Balancer.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;11. Global Data Delivery: Employ a CDN.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;12. Graph Data: Utilize Graph Database.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;13. Scaling Various Components: Implement Horizontal Scaling.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;14. High-Performing Database Queries: Use Database Indexes.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;15. Bulk Job Processing: Consider Batch Processing &amp;amp; Message Queues.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;16. Server Load Management: Use a Rate Limiter.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;17. Microservices Architecture: Utilize an API Gateway.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;18. Redundancy for Single Point of Failure: Implement Redundancy.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;19. Fault-Tolerance and Durability: Employ Data Replication.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;20. User-to-User Communication: Use Websockets.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;21. Failure Detection in Distributed Systems: Implement a Heartbeat.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;22. Data Integrity: Use Checksum Algorithm.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;23. Efficient Server Scaling: Implement Consistent Hashing.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;24. Decentralized Data Transfer: Consider Gossip Protocol.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;25. Location-Based Functionality: Use Quadtree, Geohash, etc.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;26. Avoid Specific Technology Names: Use generic terms.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;27. High Availability and Consistency Trade-Off: Eventual Consistency.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;28. Domain Name Query: Mention DNS (Domain Name System).&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;29. Handling Large Data in Network Requests: Implement Pagination.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;30. Cache Eviction Policy: Preferred is LRU (Least Recently Used) Cache.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;Credits:&amp;nbsp;&lt;/span&gt;&lt;a data-attribute-index="0" data-entity-type="MINI_PROFILE" href="https://www.linkedin.com/in/ACoAABC3afcB6jW5GOQ6eAA64tDGflHUy5NKatY" style="background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;"&gt;Dinesh Varyani&lt;/a&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;. Your leetcode blog was an amazing list down!&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Product Management Articles </title><link>http://sirishg.blogspot.com/2023/01/product-management-articles.html</link><category>Product Management</category><author>noreply@blogger.com (Unknown)</author><pubDate>Wed, 4 Jan 2023 22:03:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-9203357517937539079</guid><description>&lt;h2 style="text-align: left;"&gt;&lt;/h2&gt;&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;PM interview preparation &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. The only thing that matters by Marc Andreessen : &lt;a href="https://lnkd.in/dHYmqkRd"&gt;https://lnkd.in/dHYmqkRd&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. Relentlessly resourceful by Paul Graham : &lt;a href="https://lnkd.in/d9nGPSFJ"&gt;https://lnkd.in/d9nGPSFJ&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;3. Product Management mental models for everyone by Brandon
Chu : &lt;a href="https://lnkd.in/dzMx4JfW"&gt;https://lnkd.in/dzMx4JfW&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;4. The first principles of product management by Brandon Chu
: &lt;a href="https://lnkd.in/d4YS_fHi"&gt;https://lnkd.in/d4YS_fHi&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;5. 12 things about product market fit : &lt;a href="https://lnkd.in/dyuHB3PC"&gt;https://lnkd.in/dyuHB3PC&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;6. The Minimum Viable Product Manager : &lt;a href="https://lnkd.in/d32aBj_y"&gt;https://lnkd.in/d32aBj_y&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;Design thinking process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. How would you design an interface for a 1000 floor
elevator? : &lt;a href="https://lnkd.in/dWx2Khxz"&gt;https://lnkd.in/dWx2Khxz&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;Building great culture as a PM :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. How to work with engineers by Julie Zhou : &lt;a href="https://lnkd.in/dyY6HsYC"&gt;https://lnkd.in/dyY6HsYC&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. How to work with designers by Julie Zhou : &lt;a href="https://lnkd.in/dbZCH4cm"&gt;https://lnkd.in/dbZCH4cm&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;Execution and Prioritization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. The time value of shipping by Brandon chu : &lt;a href="https://lnkd.in/dvHVpG7D"&gt;https://lnkd.in/dvHVpG7D&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. Deadlines by Brandon chu : &lt;a href="https://lnkd.in/dNS7ApXh"&gt;https://lnkd.in/dNS7ApXh&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;Defensible growth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. Do things that dont scale by Paul Graham: &lt;a href="https://lnkd.in/dnmJ285n"&gt;https://lnkd.in/dnmJ285n&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. What we look in founders by Paul Graham: &lt;a href="https://lnkd.in/dHE45YSq"&gt;https://lnkd.in/dHE45YSq&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;3. Why paid marketing sucks, Network effects, Viral Growth,
and more : &lt;a href="https://lnkd.in/d6pe8mYv"&gt;https://lnkd.in/d6pe8mYv&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;Product leadership&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. Why leaders eat last by Simon sinek : &lt;a href="https://lnkd.in/dHBmikuX"&gt;https://lnkd.in/dHBmikuX&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. Navigation success for your startup by Sam altman : &lt;a href="https://lnkd.in/dSur_KYX"&gt;https://lnkd.in/dSur_KYX&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;Miscellaneous&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;1. Titktok and the sorting hat : &lt;a href="https://lnkd.in/dcRNTu8D"&gt;https://lnkd.in/dcRNTu8D&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;2. Seeing like an algorithm : &lt;a href="https://lnkd.in/dEe8Xtg6"&gt;https://lnkd.in/dEe8Xtg6&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: normal;"&gt;3. Shein the tiktok of commerce: &lt;a href="https://lnkd.in/dzhRe_fN"&gt;https://lnkd.in/dzhRe_fN&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Work on Yourself</title><link>http://sirishg.blogspot.com/2022/07/work-on-yourself.html</link><category>Inspirational</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 26 Jul 2022 00:24:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-2552277403536260856</guid><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="397" src="https://www.youtube.com/embed/MJTwqMTleX8" width="596" youtube-src-id="MJTwqMTleX8"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/MJTwqMTleX8/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Books</title><link>http://sirishg.blogspot.com/2022/01/books.html</link><category>Books</category><category>Inspirational</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 25 Jan 2022 03:18:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-470109290264391692</guid><description>&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the some of the Best book collections,&amp;nbsp;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;High Performance Habits: How Extraordinary People Become That Way , Hardcover&amp;nbsp;&lt;/li&gt;&lt;li&gt;Getting Things Done : The Art of Stress-Free Productivity by David Allen&lt;/li&gt;&lt;li&gt;52 Red Pills&lt;/li&gt;&lt;li&gt;You Can't Order Change&lt;/li&gt;&lt;li&gt;The 7 Habits of Highly Effective People&lt;/li&gt;&lt;li&gt;Rich Dad Poor Dad&amp;nbsp;&lt;/li&gt;&lt;li&gt;The 4 Hour Work Week&lt;/li&gt;&lt;li&gt;High Performance Habits&lt;/li&gt;&lt;li&gt;Read People Like a Book&lt;/li&gt;&lt;li&gt;Getting Things Done&lt;/li&gt;&lt;li&gt;The 80/20 Principle&lt;/li&gt;&lt;li&gt;Holy Cow&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Update sharedLocation in InstallationManager (IBM Sterling B2B Integrator)</title><link>http://sirishg.blogspot.com/2019/08/update-sharedlocation-in.html</link><category>IBM</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>IIM</category><category>Installation Manager</category><author>noreply@blogger.com (Unknown)</author><pubDate>Fri, 30 Aug 2019 19:05:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-2185971112324754396</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
First of all the following value has to be unique to each install of Sterling Integrator. If you accidentally used shared location for cluster installation your second node installation not going to work. So here is how we can fix this.&lt;br /&gt;
&lt;br /&gt;
1. Go to user home and move $USERHOME$/IBM/IBMSHARED to new local location.&lt;br /&gt;
&lt;br /&gt;
2. Update the reference in&amp;nbsp;&lt;span style="background-color: white; color: #666666; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px;"&gt;/home/user/var/ibm/InstallationManager/installRegistry.xml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;variable name="sharedLocation" value="/opt/ibm/IBMIMShared"&gt;&lt;/variable&gt;&lt;br /&gt;
&lt;br /&gt;
That's it. This will fix First node IBMSHARED location and we can proceed with second node installation.&lt;br /&gt;
&lt;br /&gt;
How to verify?&lt;br /&gt;
1. Go to InstallManager tools&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;cd &lt;installmanager_home&gt;/InstallationManager/IM_Linux/tools&amp;nbsp;&lt;/installmanager_home&gt;&lt;br /&gt;
2. ./imcl listInstalledPackages -verbose&lt;br /&gt;
&lt;br /&gt;
Validate the output something like below,&lt;br /&gt;
&lt;br /&gt;
[Shared]&lt;br /&gt;
&lt;b&gt;Shared resources directory: /opt/ibm/IBMIMShared&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
[Package group]&lt;br /&gt;
Name: Sterling Integrator&lt;br /&gt;
Installation directory: /opt/ibm/sfg&lt;br /&gt;
Translations:&lt;br /&gt;
Architecture: 64-bit&lt;br /&gt;
&lt;br /&gt;
[Package]&lt;br /&gt;
Name: IBM Sterling B2B Integrator (com.ibm.sterling.integrator.install.offering)&lt;br /&gt;
Version: 5.2.6.1 (5.2.6001.20151220_1540)&lt;br /&gt;
Repository: /opt/ibm/media/b2birepo&lt;br /&gt;
Features:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; IBM Sterling File Gateway (filegateway.feature)&lt;br /&gt;
Fixes:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; None&lt;br /&gt;
Rollback versions:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; None&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Enable CBC Ciphers in B2Bi v5.2.6.4, B2Bi v6.0, SFG v2.2.6.4 and SFG v6.0 </title><link>http://sirishg.blogspot.com/2019/08/enable-cbc-ciphers-in-b2bi-v5264-b2bi.html</link><category>B2BI</category><category>IBM B2B Sterling Integrator</category><category>SFG</category><category>SFTP</category><category>SFTP Adapter</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 13 Aug 2019 20:35:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-1401071800484580518</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; padding-top: 0px !important;"&gt;
Some of the IBM Sterling B2B Integrator(SI) customers wants to avoid SSH handshake using CBC Cipher as it is vulnerable. The link&amp;nbsp;&lt;a href="http://www.kb.cert.org/vuls/id/958563" style="color: #1970b0; text-decoration-line: none !important;"&gt;http://www.kb.cert.org/vuls/id/958563&amp;nbsp;&lt;/a&gt;explains that CBC Ciphers are security vulnerable and the solution is to use CTR Cipher instead of CBC Cipher. However, in SI versions 5020602 and 5020603, maverick (the third party api used for SSH/SFTP) version used is 1.4.60 which mandates that CBC Cipher should be present in Client side. Hence, disabling the CBC support using the security property supportCBCCiphers=false will result in SFTP communication failure with key based authentication.&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
To enforce the use of CTR Cipher in SI, we have introduced two new properties : SSHServerCipherList, SSHClientCipherList&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
a) security.SSHServerCipherList is the property to restrict the list of server side ciphers. In the SFTP Server adapter, "Preferred Cipher" drop down will pick the values specified in this property list.&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
b) security.SSHClientCipherList is the property to restrict the list of client side ciphers. In the SSH Remote Profile Configurations, "Preferred Cipher" drop down will pick the values specified in this property list.&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
The fix also needs the property security.supportCBCCiphers set as true in customer_overrides.properties.&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
This is how it works :&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
1. In the server side, SFTP Server Adapter can restrict Cipher as "ctr" by specifying the property value as&lt;br /&gt;&amp;nbsp;&amp;nbsp; security.SSHServerCipherList=aes128-ctr,aes192-ctr,aes256-ctr&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
&amp;nbsp;&amp;nbsp; This will restrict the client to communicate only with "ctr" Ciphers.&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
2. In the client side, the Business Process should specify Ciphers as "cbr" and "ctr" by specifying the property value as&lt;br /&gt;&amp;nbsp;&amp;nbsp; security.SSHClientCipherList=aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
&amp;nbsp;&amp;nbsp; Also, the PreferredCipher should have the value of "ctr" in BP. This will ensure that the communication happens with "ctr" Cipher.&lt;br /&gt;&lt;br /&gt;3. The external client should ensure that it communicates with server adapter with "ctr" Cipher.&lt;br /&gt;&lt;br /&gt;In case, if there is a mismatch in client and server side Ciphers, an error message : Failed to negotiate a transport component [aes128-cbc,aes192-cbc,aes256-cbc] [aes256-ctr,aes128-ctr,aes192-ctr] [Unknown cause]:SSH_DISCONNECT_BY_APPLICATION:SFTP session channel closed by server.: should be displayed in SFTP Client Begin Session Service.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NOTE : This fix is available only as a custom ifix for SI versions 5020602 and 5020603. The changes are NOT available in the product.&lt;/strong&gt;&lt;/div&gt;
&lt;div dir="ltr" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin-top: 5px;"&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;a href="https://www.ibm.com/developerworks/community/blogs/2f9ef931-1ac3-4d9b-a8ca-6e3f01b13889/entry/IBM_Sterling_B2B_Integrator_Enforce_CTR_Cipher_in_SFTP_Communication?lang=en"&gt;https://www.ibm.com/developerworks/community/blogs/2f9ef931-1ac3-4d9b-a8ca-6e3f01b13889/entry/IBM_Sterling_B2B_Integrator_Enforce_CTR_Cipher_in_SFTP_Communication?lang=en&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>PGP - Generate Import Export PGP Keys</title><link>http://sirishg.blogspot.com/2019/07/pgp-generate-import-export-pgp-keys.html</link><category>Certificates</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>PGP</category><author>noreply@blogger.com (Unknown)</author><pubDate>Mon, 1 Jul 2019 23:25:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-6634315187933872689</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h2 style="text-align: left;"&gt;
Generate PGP Keys&lt;/h2&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
Enter Key details, Email, Expiration etc.,&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
Export Secret Key&lt;/h3&gt;
gpg --export-secret-key -a MY_PGP_KEY &amp;gt;&amp;gt; /tmp/MY_PGP_KEY.key&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
Export Public Key&lt;/h3&gt;
gpg --export -a MY_PGP_KEY &amp;gt;&amp;gt; /tmp/MY_PGP_KEY.asc&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
Import Secret Key&lt;/h3&gt;
gpg --import /tmp/MY_PGP_KEY.key&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
Import Public Key&lt;/h3&gt;
gpg --import /tmp/MY_PGP_KEY.asc&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
Update Key Trust Trust after importing the Key&lt;/h3&gt;
gpg --edit-key &lt;keyid&gt;&lt;/keyid&gt;&lt;br /&gt;
$trust&lt;br /&gt;
$5&lt;br /&gt;
$save&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Update SSH Config to accept ssh-dss Key</title><link>http://sirishg.blogspot.com/2019/04/update-ssh-config-to-accept-ssh-dss-key.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 23 Apr 2019 01:42:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-6097248351081509973</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Add the following lines of code to the file called config under .ssh folder, If you don't find a file with the name config create one,&lt;br /&gt;
&lt;br /&gt;
.ssh\config&lt;br /&gt;
&lt;br /&gt;
Host *&lt;br /&gt;
HostkeyAlgorithms +ssh-dss&lt;br /&gt;
PubkeyAcceptedKeyTypes +ssh-dss&lt;br /&gt;
&lt;br /&gt;
Note: When server respond with ssh-dss some ssh clients don't accept the connection. If you get ssh returns “Bad owner or permissions on ~/.ssh/config” then please change the permissions as follows,&lt;br /&gt;
&lt;br /&gt;
chmod 600 ~/.ssh/config&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Generate Self-Sign Certificate with SHA512 </title><link>http://sirishg.blogspot.com/2019/03/generate-self-sign-certificate-with.html</link><category>B2BI</category><category>Certificates</category><author>noreply@blogger.com (Unknown)</author><pubDate>Thu, 21 Mar 2019 02:09:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-7711618080810302513</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
openssl req -newkey rsa:2048 -sha512 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem&lt;br /&gt;
openssl x509 -text -noout -in certificate.pem&lt;br /&gt;
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12&lt;br /&gt;
openssl pkcs12 -in certificate.p12 -noout -info&lt;br /&gt;
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12&lt;br /&gt;
openssl pkcs12 -in certificate.p12 -noout -info&lt;br /&gt;
openssl pkcs12 -in /tmp/certificate.p12 -nokeys -out sirish_test.cer&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Sterling Integrator User, Workflow Queries</title><link>http://sirishg.blogspot.com/2018/11/sterling-integrator-user-workflow.html</link><category>B2BI</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>SFG</category><author>noreply@blogger.com (Unknown)</author><pubDate>Fri, 2 Nov 2018 19:32:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-6976267018896843446</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;&lt;u&gt;Active Worksflows in Sterling Integrator&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
select DISTINCT NAME , WC2.WORKFLOW_ID, sysdate - START_T AS TIMEDIFF&lt;br /&gt;
From WORKFLOW_CONTEXT WC,&lt;br /&gt;
(&lt;br /&gt;
SELECT MAX(STEP_ID) STEP_ID , MIN(START_TIME) START_T, WORKFLOW_ID&lt;br /&gt;
FROM WORKFLOW_CONTEXT&lt;br /&gt;
GROUP BY WORKFLOW_ID&lt;br /&gt;
) WC2,&lt;br /&gt;
WFD&lt;br /&gt;
WHERE WC.WORKFLOW_ID = WC2.WORKFLOW_ID&lt;br /&gt;
AND WC.STEP_ID = WC2.STEP_ID&lt;br /&gt;
AND WC.NEXT_AI_ID != -1&lt;br /&gt;
AND WC.WFD_ID = WFD.WFD_ID&lt;br /&gt;
AND WC.WFD_VERSION = WFD.WFD_VERSION&lt;br /&gt;
AND BASIC_STATUS = 0&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Sterling Integrator User &amp;amp; User Associated Groups List&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black; font-family: Segoe UI; font-size: x-small;"&gt;select YFS_USER.LOGINID, YFS_USER_GROUP.USERGROUP_NAME from YFS_USER, YFS_USER_GROUP, YFS_USER_GROUP_LIST &lt;/span&gt;

&lt;br /&gt;&lt;span style="color: black; font-family: Segoe UI; font-size: x-small;"&gt;where YFS_USER.USER_KEY=YFS_USER_GROUP_LIST.USER_KEY &lt;/span&gt;

&lt;br /&gt;&lt;span style="color: black; font-family: Segoe UI; font-size: x-small;"&gt;and YFS_USER_GROUP.USERGROUP_KEY=YFS_USER_GROUP_LIST.USERGROUP_KEY &lt;/span&gt;

&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>SSHKeyGrabber in Sterling Integrator not working</title><link>http://sirishg.blogspot.com/2018/06/sshkeygrabber-in-sterling-integrator.html</link><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 5 Jun 2018 20:56:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-3743035316760850176</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg21628336"&gt;http://www-01.ibm.com/support/docview.wss?uid=swg21628336&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes SSHKeyGrabber don't work when we trying to extract Known Host Key from Sterling Integrator UI. The work around for this is disable StrictHostKeyChecking and download the Key from Linux/Windows and Check in the key to Sterling Integrator.&lt;br /&gt;
&lt;br /&gt;
$ssh -o StrictHostKeyChecking=no user@sftp.host.com -p 22&lt;br /&gt;
&lt;br /&gt;
Above command will save host key to known_hosts file located .~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Note:&lt;/u&gt;&lt;/b&gt; Remove excess content from host key and just keep the key from&amp;nbsp;ssh-rsa followed the key.&amp;nbsp;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>B2BI MESA API/JAR's for Custom Service Development </title><link>http://sirishg.blogspot.com/2018/05/b2bi-mesa-apijars-for-custom-service.html</link><category>IBM B2B Sterling Integrator</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 22 May 2018 05:28:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-4303033110123137484</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
asset.jar&lt;br /&gt;
b2b_aee.jar&lt;br /&gt;
b2b_base.jar&lt;br /&gt;
b2b_oba.jar&lt;br /&gt;
ebics.jar&lt;br /&gt;
entities.jar&lt;br /&gt;
gis.jar&lt;br /&gt;
install_foundation.jar&lt;br /&gt;
mailbox.jar&lt;br /&gt;
maverick-all.jar&lt;br /&gt;
perimeter.jar&lt;br /&gt;
platform_activemq.jar&lt;br /&gt;
platform_activity.jar&lt;br /&gt;
platform_afc.jar&lt;br /&gt;
platform_afc_security.jar&lt;br /&gt;
platform_aop.jar&lt;br /&gt;
platform_asi.jar&lt;br /&gt;
platform_baseutils.jar&lt;br /&gt;
platform_dv.jar&lt;br /&gt;
platform_ifcbase.jar&lt;br /&gt;
platform_ifcui.jar&lt;br /&gt;
platform_osgi.jar&lt;br /&gt;
platform_security.jar&lt;br /&gt;
platform_services.jar&lt;br /&gt;
resources.jar&lt;br /&gt;
soap.jar&lt;br /&gt;
standards.jar&lt;br /&gt;
translator.jar&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Launching ikeyman from IBM JDK</title><link>http://sirishg.blogspot.com/2018/04/launching-ikeyman-from-ibm-jdk.html</link><category>Certificates</category><category>IBM B2B Sterling Integrator</category><category>ikeyman</category><author>noreply@blogger.com (Unknown)</author><pubDate>Sat, 7 Apr 2018 23:30:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-3427148344512556420</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Navigate to IBM JDK bin directory and execute the following command,&lt;br /&gt;
&lt;br /&gt;
C:\Sirish\Softwares\ibm_sdk80\bin&amp;gt;java com.ibm.gsk.ikeyman.Ikeyman&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Integration Concepts </title><link>http://sirishg.blogspot.com/2017/09/integration-concepts.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 12 Sep 2017 20:36:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-5032594272115879924</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;Amazon EC2 (Amazon Elastic Compute Cloud)?&lt;/b&gt;&lt;br /&gt;
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Amazon S3?&lt;/b&gt;&lt;br /&gt;
Amazon Simple Storage Service is storage for the Internet. It is designed to make web-scale computing easier for developers.&lt;br /&gt;
Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Amazon DynamoDB &amp;amp; Amazon RDS databases?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
DynamoDB makes it simple and cost-effective to store and retrieve any amount of data, as well as serve any level of request traffic. All data items are stored on solid-state drives, which provide high I/O performance and can more efficiently handle high-scale requests. An AWS user interacts with the service by using the AWS Management Console or a DynamoDB API.&lt;br /&gt;
&lt;br /&gt;
DynamoDB uses a NoSQL database model, which is nonrelational, allowing documents, graphs and columnar among its data models. A user stores data in DynamoDB tables, then interacts with it via GET and PUT queries, which are read and write operations, respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Amazon CloudFront CDN?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Amazon CloudFront is a content delivery network (CDN) offered by Amazon Web Services. Content delivery networks provide a globally-distributed network of proxy servers which cache content, such as web videos or other bulky media, more locally to consumers, thus improving access speed for downloading the content.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cloud vs Hybrid Cloud?&lt;/b&gt;&lt;br /&gt;
It's inclusion of Public and Private.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;How will you stop a dos attack?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;how will you troubleshoot a process in linux?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Answer was using, netstat, ps, lsof, gdb, top. the answer he was expecting was thread dump. this was troubleshooting httpd. you can only thread dump on java but i didn't want to argue with the guy, i just said I dont use that. He thinks he can do thread dump on any process obviously he never really troubleshooted any process in linux&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is error 500?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the difference between rdb and nosql?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;how would you set up a server with db, no downtime, redundant, resilient, multi location, ..etc?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
how will you troubleshoot issues on linux, like network, process..etc?&lt;br /&gt;
&lt;br /&gt;
Lots of S.T.A.R. questions?&lt;br /&gt;
&lt;br /&gt;
tell me a time when you have failed, achieved something more than you think?&lt;br /&gt;
&lt;br /&gt;
stressed, ...etc how did you deal with it, what did you do...etc ?&lt;br /&gt;
&lt;br /&gt;
when you enter a domain name into browser , what happens?&lt;br /&gt;
&lt;br /&gt;
What is proxy?&lt;br /&gt;
&lt;br /&gt;
What is the difference proxy and routing?&lt;br /&gt;
&lt;br /&gt;
how CDN works?&lt;br /&gt;
&lt;br /&gt;
What is IDS/IPS, which layer in osi does it work?&lt;br /&gt;
&lt;br /&gt;
how would you do a sql replication?&lt;br /&gt;
&lt;br /&gt;
What is NAT?&lt;br /&gt;
&lt;br /&gt;
What is PAT?&lt;br /&gt;
&lt;br /&gt;
how does load balancer works? which brand would you use? (I5)&lt;br /&gt;
&lt;br /&gt;
how would you connect to your servers for administration and troubleshooting, linux and windows?&lt;br /&gt;
&lt;br /&gt;
what are the differences between windows and linux?&lt;br /&gt;
&lt;br /&gt;
what is error 500 on a web page?&lt;br /&gt;
&lt;br /&gt;
esxi hosts?&lt;br /&gt;
&lt;br /&gt;
VMWare Servers?&lt;br /&gt;
&lt;br /&gt;
physical supermicro superservers?&lt;br /&gt;
&lt;br /&gt;
Why HP?&lt;br /&gt;
&lt;br /&gt;
The frustration was that in-person interview was mostly questions about what I like to do on weekends, what are my hobbies?&lt;br /&gt;
&lt;br /&gt;
Design a fully redundant web solution in AWS?&lt;br /&gt;
&lt;br /&gt;
Complicated Customer support and escalation scenarios?&lt;br /&gt;
&lt;br /&gt;
How do you scale your 2 web and 1 DB app to 1000s of users and accept ordering system. Load Balancer, CDN, Storage?&lt;br /&gt;
&lt;br /&gt;
Describe for us your process for working through a customer issue resolution cycle and your approach to customer communication?&lt;br /&gt;
&lt;br /&gt;
SAN/NAS differences?&lt;br /&gt;
&lt;br /&gt;
Troubleshooting in a "hybrid cloud" environments?&lt;br /&gt;
&lt;br /&gt;
RAID basics?&lt;br /&gt;
&lt;br /&gt;
My interest in cloud and any personal or professional experience there?&lt;br /&gt;
&lt;br /&gt;
SQL/NoSQL, architectural questions?&lt;br /&gt;
&lt;br /&gt;
Tell me about a time" questions, etc?&lt;br /&gt;
&lt;br /&gt;
Technical questions - being to the point, architectural - discussed a lot, thought out loud, with pros and cons, multiple solutions and why. In behavior questions, emphasized on "I" and what I did as individual with STAR approach?&lt;br /&gt;
&lt;br /&gt;
What is the difference between DoS and DDoS?&lt;br /&gt;
The Difference Between DoS and DDos Attacks. A Denial of Service (DoS) attack is different from a DDoS attack. The DoS attack typically uses one computer and one Internet connection to flood a targeted system or resource. The DDoS attack uses multiple computers and Internet connections to flood the targeted resource.&lt;br /&gt;
&lt;br /&gt;
Networking (DNS, IPsec, BGP, VPN, Load Balancing)&lt;br /&gt;
&lt;br /&gt;
Database (MySQL, SQL, Oracle)&lt;br /&gt;
&lt;br /&gt;
Tools for Operations Automation and Configuration Management (e.g. Chef/Puppet)&lt;br /&gt;
&lt;br /&gt;
Continuous Integration?&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;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Wake up before your competition do!</title><link>http://sirishg.blogspot.com/2017/07/wake-up-before-your-competition-do.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Fri, 21 Jul 2017 02:30:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-5757659464932317240</guid><description>&lt;p class="mobile-photo"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHR73GOQMKztG6W3Sb07jEr2vlmg7zsxCEK3Bku2-bhWm8O3B24skhKh7581NtxS_XOKvLb0tx8JgvDq5OhM7NLCeS4QrQmP2pQYk-8fsmjQTgxMYo-oMHJ9oGQSDLxuqN3gIB7VZ5f8o/s1600/FB_IMG_1500584205215-755394.jpg"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHR73GOQMKztG6W3Sb07jEr2vlmg7zsxCEK3Bku2-bhWm8O3B24skhKh7581NtxS_XOKvLb0tx8JgvDq5OhM7NLCeS4QrQmP2pQYk-8fsmjQTgxMYo-oMHJ9oGQSDLxuqN3gIB7VZ5f8o/s320/FB_IMG_1500584205215-755394.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_6444961162362637794" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="auto"&gt;&lt;div dir="auto"&gt;Some inspiration from 5AM group on Facebook&lt;/div&gt;&lt;div dir="auto"&gt;&lt;br&gt;&lt;/div&gt;&lt;div dir="auto"&gt;You might not have a competitive advantage over your competition and maybe you don&amp;#39;t have all the tools and resources to play with the big boys in your industry.&lt;br&gt;&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;But one thing you do have is the ability to out work your competition!&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;You don&amp;#39;t need to come up with anymore excuses about why you aren&amp;#39;t where you want to be, what you need to do is get up earlier, show up and show the world you&amp;#39;re not here to make up the numbers and be another statistic!&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;If you&amp;#39;re not prepared to out work your competition and wake up before 5am every single day then maybe it&amp;#39;s time to ask yourself how serious you are about your goals and dreams!&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;Stop doing normal things and stop performing at average levels because that is exactly why you aren&amp;#39;t where you want to be...&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;Be unusual, be abnormal, be obsessed, be prepared to wake up at 4:00am and work harder than anyone you&amp;#39;ve ever met because that is the only way you&amp;#39;re ever going to become exceptional, renowned, world class and successful.&lt;/div&gt;&lt;div dir="auto"&gt;~&lt;/div&gt;&lt;div dir="auto"&gt;You&amp;#39;ve tried normal and you know where that gets you so now it&amp;#39;s time to try crazy, obsessive, intense and exceptional and once you commit to that path....your life will never be the same again!&lt;/div&gt;&lt;/div&gt;  </description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHR73GOQMKztG6W3Sb07jEr2vlmg7zsxCEK3Bku2-bhWm8O3B24skhKh7581NtxS_XOKvLb0tx8JgvDq5OhM7NLCeS4QrQmP2pQYk-8fsmjQTgxMYo-oMHJ9oGQSDLxuqN3gIB7VZ5f8o/s72-c/FB_IMG_1500584205215-755394.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Grab Known Host Key From Remote SFTP Server in OpenSSH Format</title><link>http://sirishg.blogspot.com/2017/07/grab-known-host-key-from-remote-sftp.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Wed, 12 Jul 2017 23:03:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-7039744567720673147</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
1. Get the host key by running this command: ssh-keyscan &lt;wsftp_server ip=""&gt; &amp;gt; /tmp/ssh_out.openssh&lt;/wsftp_server&gt;&lt;br /&gt;
&lt;br /&gt;
2. Convert the host key format by running this command: ssh-keygen -l -f /tmp/ssh_out.openssh&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Watch "Webinar : Practical SOA for the Solution Architect" on YouTube</title><link>http://sirishg.blogspot.com/2017/04/watch-webinar-practical-soa-for.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Mon, 10 Apr 2017 08:24:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-1435190390027491509</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="auto"&gt;
&lt;a href="https://youtu.be/1KXKppaOgtY"&gt;https://www.youtube.com/watch?v=1KXKppaOgtY&amp;amp;feature=youtu.be&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Determine Which version of Windows Installer is installed</title><link>http://sirishg.blogspot.com/2017/03/determine-which-version-of-windows.html</link><category>windows batch programming</category><author>noreply@blogger.com (Unknown)</author><pubDate>Wed, 8 Mar 2017 01:21:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-1979403662969825064</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
To determine which version of Windows Installer is installed on a computer, follow these steps:&lt;br /&gt;
&lt;br /&gt;1) Click Start, click Run, type %systemroot%\system32, and then click. OK.&lt;br /&gt;
2) Right-click Msi.dll, and then click. Properties.&lt;br /&gt;3) Click the Version tab, and then note the File version number.&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Watch "WSO2Con 2011 - Enterprise Integration Patterns: Past, Present and Future" on YouTube</title><link>http://sirishg.blogspot.com/2017/02/watch-wso2con-2011-enterprise.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 7 Feb 2017 20:34:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-5112383223181674869</guid><description>&lt;div dir="auto"&gt;&lt;a href="https://www.youtube.com/shared?ci=Kb-UT1kqJ3Q"&gt;https://www.youtube.com/shared?ci=Kb-UT1kqJ3Q&lt;/a&gt;&lt;/div&gt;  </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>JMeter SSH Sampler</title><link>http://sirishg.blogspot.com/2016/11/jmeter-ssh-sampler.html</link><category>Java</category><category>JMeter</category><category>Performance Testing</category><author>noreply@blogger.com (Unknown)</author><pubDate>Wed, 2 Nov 2016 23:30:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-5732345734954123976</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="https://github.com/linkeshkanna/Jmeter.SSH.FTP.Request"&gt;https://github.com/linkeshkanna/Jmeter.SSH.FTP.Request&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; margin-bottom: 16px;"&gt;
Jmeter Custom Sampler to make SFTP Request&lt;/div&gt;
&lt;div style="box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; margin-bottom: 16px;"&gt;
To Create SSH FTP Requests in JMeter, we need this custom Sampler. This contains two jar files. 1. jmeter-ssh-sampler-1.0.2-SNAPSHOT.jar 2. jsch-0.1.53.jar We can generate this by downloading the source and building it using Maven.&lt;/div&gt;
&lt;div style="box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; margin-bottom: 16px;"&gt;
I just built it using maven and checked in the jar files here.&lt;/div&gt;
&lt;div style="box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; margin-bottom: 16px;"&gt;
To install this in Jmeter, 1. Copy the jmeter-ssh-sampler-1.0.2-SNAPSHOT.jar to the "Jmeter/Lib/ext" directory. 2. Copy the "jsch-0.1.53.jar" to the "Jmeter/Lib" directory 3. Restart Jmeter.&lt;/div&gt;
&lt;div style="box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;"&gt;
I have also added a sample test to list of the directory contents in a Public SFTP Server.&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Install 3rdParty JAR on IBM B2B Sterling Integrator</title><link>http://sirishg.blogspot.com/2016/06/install-3rdparty-jar-on-ibm-b2b.html</link><category>IBM</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>Integration</category><author>noreply@blogger.com (Unknown)</author><pubDate>Tue, 28 Jun 2016 22:17:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-8216312196071338309</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
If we want to install external JARs (3rdParty JARs) on Sterling Integrator here are the steps,&lt;br /&gt;
&lt;br /&gt;
1. Stop B2BI Cluster (All Nodes) by running hardStop.sh/cmd.&lt;br /&gt;
2.&amp;nbsp;install3rdParty.sh &lt;directoryname&gt; &lt;version&gt; -j &lt;pathtojar&gt;&lt;/pathtojar&gt;&lt;/version&gt;&lt;/directoryname&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-j = JAR&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-l = Library File&lt;br /&gt;
3. Run setupfile.sh&lt;br /&gt;
4. Repeat Step 2 and 3 on all Nodes.&lt;br /&gt;
5. Restart B2BI Cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Validation Procedure:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
If installation was successful then you will see an entry for your new JAR file in dynamicclasspath.cfg file. &amp;nbsp;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Watch "Sterling B2B Integrator" on YouTube</title><link>http://sirishg.blogspot.com/2016/06/watch-sterling-b2b-integrator-on-youtube.html</link><author>noreply@blogger.com (Unknown)</author><pubDate>Sun, 26 Jun 2016 18:19:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-4717828291396574086</guid><description>&lt;p dir="ltr"&gt;Sterling B2B Integrator: &lt;a href="http://www.youtube.com/playlist?list=PLuG9ugPnSkt5sMigpzbawknri85fFfa52"&gt;http://www.youtube.com/playlist?list=PLuG9ugPnSkt5sMigpzbawknri85fFfa52&lt;/a&gt;&lt;/p&gt;  </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>IBM Sterling B2B Integrator Map Editor Rules Hierarchy</title><link>http://sirishg.blogspot.com/2016/05/ibm-sterling-b2b-integrator-map-editor.html</link><category>IBM</category><category>IBM B2B Sterling Integrator</category><category>IBM Sterling File Gateway</category><category>Map Editor</category><author>noreply@blogger.com (Unknown)</author><pubDate>Sun, 15 May 2016 18:59:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8356398909081293142.post-14009831797816037</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here is how IBM Sterling B2B Integrator map editor translator controller parse and executes the Rules.&lt;br /&gt;
&lt;br /&gt;
Pre-Session (Variable Declarations &amp;amp; Hard Coded Values)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Root On Begin&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;Root Exedend Rules&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Record On Begin&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Standard Rule &amp;amp; Exedend Rule&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Record On End&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Root On Begin&lt;br /&gt;
Post-Session (Executes before end of map)&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>