<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Fluid - Tech Thoughts</title>
 <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/atom.xml" rel="self"/>
 <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/"/>
 <updated>2026-05-19T12:56:30+00:00</updated>
 <id>https://fluid.anbuu.in</id>
 <author>
   <name>Anbarasi U</name>
   <email>hi@anbuu.in</email>
 </author>

 
 <entry>
   <title>Banking in a new country</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2025/03/23/banking-in-new-country"/>
   <updated>2025-03-23T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2025/03/23/banking-in-new-country</id>
   <content type="html">&lt;p&gt;Having lived in India slowly building up financial security after the student life, with different payment instruments having been offered easily without even asking, and having experimented with many of these methods with the multiple launch of multiple fintech companies and working in the fintech and payments space, and dissecting and learning the systems and behind-the-scenes of how money moves, I was ignorant about why the US and other countries regularly had startups that claimed to bring easier banking to the unbanked. Now I know I guess.&lt;/p&gt;

&lt;p&gt;Moving to Germany with a forex card loaded with funds and imagining there are enough ways to have access to my funds whenever required did not really go as I expected, rife with painful and interesting experiences that need some penning down to understand what’s going on. It’s a mix of building identity in a new country as an alien, which is a pre-requisite to banking and&lt;/p&gt;

&lt;p&gt;What did I land in Germany with? A job contract, an EU Blue Card visa, a forex card and some loose Euro cash. Next important step was to get identified as a valid resident of the country, for which Germany requires the address to be registered first. Solidifying identity in Germany requires that one is a part of the social security system, which requires the address registration and health insurance registration, both of which are enforced by the employer. The payroll requires the Tax ID and the health insurance ID of every individual. The final one is the Residence Card (Aufenthalstitel) which shows the status of the residence for the individual, which is required by most banks and sometimes home owners. It’s also a looong process with long appointment waiting times and a long form to be filled out.&lt;/p&gt;

&lt;p&gt;The first challenge was getting a bank account. With the identity part of the puzzle not fully solved yet, getting entry into the financial system is hard. Simple Germany has a (good resource)[https://www.simplegermany.com/banking-in-germany/] on the options available. After eliminating traditional banks and others who need a residence card and Revolut who doesn’t support Indian passports any more, I was left with Bunq and Wise. Wise does not have a German IBAN, which left me with Bunq. Bunq doesn’t ‘feel serious’ but like a MVP application, but I love it because I’m able to finally have a savings and a checking account, generate a virtual debit/credit card and tokenize that on my Google Wallet for in-store purchases. Relief as I finally have the ability to spend.&lt;/p&gt;

&lt;p&gt;The next problem was the lack of funds for putting down the deposit for the new rental home and other immediate spends until my salary arrived at the end of the month. BookMyForex also spooked me with asking for a disclaimer saying “I wasn’t transferring money to myself”, but I was! Hello, what’s wrong with transferring my own money for personal spends in another country? Both BookMyForex and HDFC Bank RemitNow couldn’t pass the beneficiary validation stating vague “Invalid IBAN” errors. Oh well, I assumed Bunq being an EU neobank may not be connected to the SWIFT network, so I decided to try Wise. Wise gave me an EU bank account after validating with a 20 EUR initial transfer. All set - or so I thought. BookMyForex and HDFC still thew the same errors at me for my Wise IBAN. Disheartened, I wanted to know if I can open a INR wallet in the same Wise account, but apparently not. My ICICI bank account being my dearest until I left it behind with HDFC, I went back there and voila! What a smooth experience it was! My transfer was complete in about 1 to 2 hours. I finally had access to funds &lt;em&gt;tearsofjoy&lt;/em&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Story [WIP]</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2024/01/06/story"/>
   <updated>2024-01-06T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2024/01/06/story</id>
   <content type="html">&lt;p&gt;Ryan is an agent. He woke up in his usual state of calm bliss watching the sun rays stage a show glistening on air particles streaming in through aqua blue sheer curtains, when resonance (todo: comms mechanism) began and his brain waves started oscillating.&lt;/p&gt;

&lt;p&gt;HQ was asking him to prep for his next assignment, which usually involved travelling anywhere across the world. Hopping out of his bed, he got ready for the day and began packing for the trip. He had gone through this many times that he went through the motions of grabbing the different categories of things he’d need for 10 days and stashing them in his luggage.&lt;/p&gt;

&lt;p&gt;Singapore&lt;/p&gt;

&lt;p&gt;Haneda → Tokyo stay&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Shinjuku Don Quijote&lt;/li&gt;
  &lt;li&gt;Shinjuku beef bowls&lt;/li&gt;
  &lt;li&gt;Shinjuku gyoen&lt;/li&gt;
  &lt;li&gt;Metropolitan Government building&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kawasaki Daishi&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Street food&lt;/li&gt;
  &lt;li&gt;Chinese garden&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Odawara castle&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Miyukinohama beach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hakone&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Bakery and Table&lt;/li&gt;
  &lt;li&gt;Hakone jinja&lt;/li&gt;
  &lt;li&gt;Ashinoko lake&lt;/li&gt;
  &lt;li&gt;Owakudani&lt;/li&gt;
  &lt;li&gt;Hakone Gora - Nobu ITOH&lt;/li&gt;
  &lt;li&gt;Hakone Tozan train&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yokohama&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Yokohama air cabin&lt;/li&gt;
  &lt;li&gt;Cosmo Clock 21 and Cosmo World&lt;/li&gt;
  &lt;li&gt;Chinatown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;San Francisco&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Trams&lt;/li&gt;
  &lt;li&gt;Pier&lt;/li&gt;
  &lt;li&gt;Palace of Fine Arts&lt;/li&gt;
  &lt;li&gt;Golden Gate Bridge&lt;/li&gt;
  &lt;li&gt;Sausalito&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Las Vegas&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;High Roller&lt;/li&gt;
  &lt;li&gt;Bellagio&lt;/li&gt;
  &lt;li&gt;Sphere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Philadelphia&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Blue Cross river rink&lt;/li&gt;
  &lt;li&gt;Seasons 52 Aviation cocktail&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New York City&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Times Square&lt;/li&gt;
  &lt;li&gt;Museum of Modern Art&lt;/li&gt;
  &lt;li&gt;Carlos bakery&lt;/li&gt;
  &lt;li&gt;1 Vanderbilt&lt;/li&gt;
  &lt;li&gt;Grand Central Terminal&lt;/li&gt;
  &lt;li&gt;Uncertainty Principle at Dawn, Subway&lt;/li&gt;
  &lt;li&gt;Wall Street&lt;/li&gt;
  &lt;li&gt;Brooklyn bridge&lt;/li&gt;
  &lt;li&gt;Broadway&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Misses&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;City Lights book store&lt;/li&gt;
  &lt;li&gt;Haight Ashbury&lt;/li&gt;
  &lt;li&gt;Hayes Valley&lt;/li&gt;
  &lt;li&gt;Federal Reserve&lt;/li&gt;
  &lt;li&gt;Ralph’s Coffee&lt;/li&gt;
  &lt;li&gt;The Met&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Roots and non-roots [WIP]</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2024/01/06/roots-non-roots"/>
   <updated>2024-01-06T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2024/01/06/roots-non-roots</id>
   <content type="html">&lt;p&gt;Paradoxes of life, as we encounter them - many. And one such that I have been contemplating in my own personal perspective of where one feels at home. We all yearn for belonging to a place and belonging to people. The modern world as it affords more chances for people to move around, and also places an imperative to move around in order to grow by gathering like a stone-age forager, real world experiences to link and learn from, rather than berries.&lt;/p&gt;

&lt;p&gt;To remain where the random event of birth placed one, geographically or philosophically, could be either an act of laziness or the ultimate luck of being handed desirable cards to play with from the beginning. Plants like to grow on fertile surface areas, but do not complain in much smaller surface areas in my balcony. They do complain, wither and wilt when I promote them to better conditions in my opinion, but adapt and thrive after a period of acclimatisation.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>White-labelled single-page application</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2023/04/07/white-label-page"/>
   <updated>2023-04-07T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2023/04/07/white-label-page</id>
   <content type="html">&lt;p&gt;Perhaps you have an application, say a checkout page, that you would like to white-label, so that your users can fully integrate the application within their own application’s experience. The question you would want to ask is, “what are the factors you would want to control and the factors your user would want to control?”. Let us set some bounds for the scope of this and let’s assume that the application we are building is called Sleepwell, and our users are sleep therapists who each want their own profile page to share with their clients.&lt;/p&gt;

&lt;h1 id=&quot;scope&quot;&gt;Scope&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;Assumes an existing multi-tenant system&lt;/li&gt;
  &lt;li&gt;Provision a unique subdomain for each user (for example, &lt;em&gt;https://user.sleepwell.com&lt;/em&gt;)&lt;/li&gt;
  &lt;li&gt;Domain can be a custom domain that the user already has (for example, &lt;em&gt;https://user.com&lt;/em&gt;)&lt;/li&gt;
  &lt;li&gt;User information and branding, which will be the customisable fields&lt;/li&gt;
  &lt;li&gt;AWS as the cloud provider&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;modules&quot;&gt;Modules&lt;/h1&gt;
&lt;p&gt;As a single-page application, this app can serve millions of requests and also scale for any number of registered users. Let’s break this down into modules.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_modules.png&quot; alt=&quot;High level modules&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;sleepwell-application&quot;&gt;Sleepwell application&lt;/h2&gt;

&lt;p&gt;The Sleepwell application is where the users are registered and can setup the profile page using the settings. Assuming that the user wants a no-code solution that can be up and running in a few minutes, we want to make the experience as friendly as possible. Let’s build a user-friendly settings page that allows setting the subdomain, and other branding settings like the fields that can be customised in the page.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_app.png&quot; alt=&quot;Application modules&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;tenant-config-mapper&quot;&gt;Tenant config mapper&lt;/h3&gt;

&lt;p&gt;The settings will be fetched and written to the tenant’s configuration. Assuming that the data store is a relational SQL database and that a &lt;em&gt;tenant&lt;/em&gt; entity already exists, the schema for &lt;em&gt;tenant_config&lt;/em&gt; would look roughly like this&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;id: auto string(256)
tenant_id: fk_reference to tenant entity
domain: string(256)
subdomain: string(256)
other_fields: etc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Ensure that the domain and sub-domain fields are indexed, since the lookup would be performed on these fields later.&lt;/p&gt;

&lt;h2 id=&quot;profile-page-application&quot;&gt;Profile page application&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_profileapp.png&quot; alt=&quot;Profile page modules&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The profile page application has to respond to the configuration settings from the Sleepwell application.&lt;/p&gt;

&lt;h3 id=&quot;host-name-parser&quot;&gt;Host name parser&lt;/h3&gt;

&lt;p&gt;The host name will be parsed from the URL so that it can be fed to the Tenant Identifier. This will need to handle both the cases of the subdomain as well the domain. Parse only the hostname from the URL as&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;url.hostname //user.sleepwell.com
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;tenant-identification&quot;&gt;Tenant identification&lt;/h3&gt;

&lt;p&gt;Pass the hostname to the Tenant Identifier to fetch the configuration for this tenant. This will perform a lookup on the configuration table by performing&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;a first pass match against the domain&lt;/li&gt;
  &lt;li&gt;a second pass match against the sub-domain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If either of these match, fetch and return the configuration for this tenant.&lt;/p&gt;

&lt;h3 id=&quot;tenant-configuration-renderer&quot;&gt;Tenant configuration renderer&lt;/h3&gt;

&lt;p&gt;Pass the tenant configuration fetched from the Tenant Identifier to the renderer. The renderer will control the customisable fields on the profile page application that will now be populated from the fetched configuration.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_profile.png&quot; alt=&quot;Profile page modules&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;infrastructure&quot;&gt;Infrastructure&lt;/h2&gt;

&lt;p&gt;Now that we have set the stage for what’s being delivered to the user, here’s where the most interesting part comes in. We have established that we have a multi-tenant system architecture that doesn’t require any operational steps for each new user getting onboarded, and can easily scale. We also don’t want to manually intervene to setup a subdomain or a domain for each user. We’ll assume that AWS is the cloud provider here and we’ll leverage AWS Cloudfront’s wildcard subdomains capability for this.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_infra.png&quot; alt=&quot;Profile page modules&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;build-artifacts-on-s3&quot;&gt;Build artifacts on S3&lt;/h3&gt;

&lt;p&gt;The build artifacts will be published to a S3 bucket, let’s name this &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sleepwell-builds&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id=&quot;cloudfront&quot;&gt;Cloudfront&lt;/h3&gt;

&lt;p&gt;AWS Cloudfront will be used for configuring the wildcard subdomains and app distribution. A single Cloudfront distribution pointing to the S3 bucket will ensure that the same application is being served for all the subdomains. The application’s Tenant Identifier will ensure that the configuration-based rendering is triggered and that the right page is served to the user.&lt;/p&gt;

&lt;h3 id=&quot;route-53&quot;&gt;Route 53&lt;/h3&gt;
&lt;p&gt;Create a wildcard CNAME record on Route 53.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;*.sleepwell.com. CNAME  somecloudfrontid.cloudfront.net.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;reverse-proxy&quot;&gt;Reverse proxy&lt;/h3&gt;

&lt;p&gt;This step will be required to support the users with their own domains. A user’s own domain can be connected to their custom subdomain, via CNAME mapping in their DNS config.
A wildcard SSL certificate can be applied to our wildcard CF distribution.
Server blocks can be manually added in the reverse proxy layer, but we are looking for an elegant solution that can scale without any operational steps. This can be automated with LetsEncrypt &amp;amp; GreenLock(or Caddy or a similar solution), which will handle TLS termination.&lt;/p&gt;

&lt;h4 id=&quot;some-references&quot;&gt;Some references&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://blog.checklyhq.com/setting-up-ssl-with-letsencrypt-for-saas-customers/&quot;&gt;How I set up SSL with Let’s Encrypt for my SaaS dashboard&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blog.readme.com/auto-generating-ssl-certificates-for-custom-domains-using-lets-encrypt/&quot;&gt;How We Generate SSL Certificates for Custom Domains using Let’s Encrypt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;variations-and-trade-offs&quot;&gt;Variations and trade-offs&lt;/h3&gt;

&lt;p&gt;There could potentially be a few variations of this use case on the infrastructure layer, each adding incremental complexity. The approach considered here offloads the tenant identification to the application, since the single-page app has only a few configurable fields.
What if a different application has to be served for each user? Perhaps you have a no-code builder solution, that generates a different build for each user.&lt;/p&gt;

&lt;p&gt;In this case, a different S3 bucket can be created programmatically for each user, of the format&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;s3.amazonaws.com/bucket-name/subdomain-name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To route the request to the right S3 bucket, we would need to add a proxy layer between the CloudFront distribution and S3, to put the host header from the HTTP request into the path.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/sleepwell_proxy.png&quot; alt=&quot;Proxy layer&quot; /&gt;
(This proxy layer could either be an EC2 instance or a Lambda@Edge instance for a serverless approach.)&lt;/p&gt;

&lt;p&gt;Let’s delve into more options here for more isolation between the tenants, if you don’t want to introduce a proxy layer, that could potentially become a single point of failure. 
Create a CloudFront distribution for each tenant, that maps to the appropriate S3 bucket. Since we want the solution to scale for multiple tenants without any manual intervention in onboarding, the CF creation can be programmatically created via AWS CLI. (There could be quota limits to the number of CF distributions per account.)&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Colours and Chaos</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2023/03/22/colours-and-chaos"/>
   <updated>2023-03-22T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2023/03/22/colours-and-chaos</id>
   <content type="html">&lt;p&gt;As I build out the mental layout for this piece of writing, I have different units of idea floating around, and I’m compelled to choose between two different styles; one of Pallavi Aiyar in &lt;a href=&quot;https://www.goodreads.com/book/show/58816402-orienting&quot;&gt;Orienting&lt;/a&gt; and the other of Pico Iyer in &lt;a href=&quot;https://www.goodreads.com/book/show/42983446-a-beginner-s-guide-to-japan&quot;&gt;A Beginner’s Guide to Japan&lt;/a&gt;, both that I’d read recently surrounding my trip to Japan and immensely loved. Both bring a lot of things about the culture and the country to the surface, one in a more investigative and analytical way, and the other more subtle and poetic.&lt;/p&gt;

&lt;p&gt;Why am I rambling on the meta here I know not, so let me hop on to that boat waiting to take me back on the nostalgia ride to Udaipur.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/udaipur_boat.jpg&quot; alt=&quot;Speeding into the sunset&quot; /&gt;
Boat rides we wanted to do, on the multiple lake vistas each with its own backdrops and scapes, but spontaneity not being conducive to experiences that happen only at certain timings, we suddenly caught ourselves speed-boating into the sunset at the Fateh Sagar lake. Screaming into the finite void of the lake over the rumble of a motor (which also decided to almost die on us mid-lake, but survived until we got to the bank, talk about over-using a machine), while struggling to absorb and hold into the memory, the orange hues criss-crossing into the ripples left behind and sparkling all around reflecting the numerous hills surrounding the city, and the infinitude of activity in the beautifully planned out public space around the lake.&lt;/p&gt;

&lt;p&gt;As a proponent of well-constructed functional public spaces, I was so impressed with the clean and well laid-out hangout spots around the lake, calming and stimulating at the same time, with not only its own buzzing economic activity, but also encouraging numerous hobbies for everyone with no gate-keeping.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/udaipur_road.jpg&quot; alt=&quot;Art embedded into chaos&quot; /&gt;
Once in a while you go on a walk in a lane full of noises, to catch only the moving sights, but shutting out the sounds with noise-cancelling technology. Smiling at those vivid bougainvillea shoots bending towards and nodding at you, while a cat’s eyes twinkle and cautiously follow you from a wall and a group of people nearby pamper a baby; effectively drowning out the honking vehicles and rumble of engines.&lt;/p&gt;

&lt;p&gt;But I digress, for this is not how walking down the Jagdish Mandir lane was, because you could not shut out the noises around and expect to leave without a scratch. Lanes large enough to fit only an auto-rickshaw, with traffic jams every time two people walked on either side of the lane in addition, having to weave in and out of folks adorning the local colours and fabric, while trying to take stock of everything being sold on either side of the street. 
Shops overflowing on to the narrow lanes selling pretty and colourful goods, all hand-made by local artisans with vivid aesthetic tastes. Camel leather bags, wallets, leather-bound notebooks, bright fabric-bound notebooks, vivid patterned tiles, quirky prints on shirts, silver jhumkas, wooden figurines, wrought-iron figurines, miniature paintings large and small framed and unframed, interspersed here and there by kullad chai, mango lassis, kullad rabdi and kachoris, not to mention the honking and chatter. What an overpowering delight for the senses!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/udaipur_door.jpg&quot; alt=&quot;Ornate door frames abound&quot; /&gt;
The sky line is dotted with numerous palaces, and competing with them are the new tall buildings each with its own share of the Mewari-inspired arches and balustrades posing a puzzle to identify if it is a heritage building or not. So very curious to know how different royal dynasties had developed their own unique aesthetic styles, ensured there were adequate artisans carrying it over geographies and handing it over time.&lt;/p&gt;

&lt;p&gt;Equally curious to understand how economies circled around the royal families, with their massively massive palaces, each adorned so tastefully with artwork. In ages where every output of the mind had to be manually executed patiently with attention to craft and with reliance on a minimal set of tools, it’s quite incredible that there was so much abundance that beauty was prioritised that it had created its own economy. When we think about artisan livelihood in the current era and try to preserve these skills acquired in the yesteryears, and hoping that the concentrated wealth from the royal households has flowed into different tiers of the society (wishful thinking I know), is it because the common man is still struggling for survival that we don’t see beauty getting the attention it used to. True that aesthetic norms change with globalisation, so perhaps attention to the old artistic styles are also cyclic.&lt;/p&gt;

&lt;p&gt;I’m still trying to make sense of the incident where I was shown two beautiful handmade lacquer boxes painted with a vivid red, depicting soldiers in the Mewari style, each with a different price only because of how polished the end result and how precise the strokes were. And, I couldn’t bring myself to pay that cost even though I was completely captivated by that piece of art, without justifying to myself that it had some functional value. 
Are people who grow up in developing economies majorly utilitarian? (Also, a voice from somewhere in the mind saying, if this was Japan, this disparity wouldn’t exist and every work would have the same level of precision.)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/udaipur_pillar.jpg&quot; alt=&quot;Hues transformed in a manmade structure&quot; /&gt;
The absolutely mouth-watering street food that Delhi has to offer apparently came into being when the Mughal royal cooks had to find alternative livelihoods after the end of the Mughal era. The roads around Pichola very much reminded me of the same story, and I can’t but ignore this common thread across cities with historical significances. As much as the royal households accumulated wealth depriving the common man of better lives, and the common theme being civil revolutions or land reforms to distribute this wealth throughout history across geographies, the major contributions of the royals seem to be that of culture and identity.&lt;/p&gt;

&lt;p&gt;Along with all the memories and thought bubbles, I’ve managed to bring over some of this beauty into my home, in the form of home decor and stationery, like most of the other things at home that are reminders of going out into the world and picking to build some more.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://fluid.anbuu.in/assets/images/udaipur_lake.jpg&quot; alt=&quot;City Palace over Pichola Lake&quot; /&gt;
Surely I’m naively downplaying the contributions, who could argue against the engineering wonders and the long-term thinking of building multiple lakes and connecting them all in a desert? The City of Lakes is truly a marvel, and as a friend exclaimed how the ancestors have been more talented and geniuses in getting large-scale projects like this done, I couldn’t but argue that we haven’t really stagnated in intelligence(seeing as intelligence only compounds through evolution and just by more information being available to build upon), but we’ve hit roadblocks of systemic complexity of multiple layers of political webs to wade through to get consensus in executing anything of sufficient impact and complexity.&lt;/p&gt;

&lt;p&gt;Well, I seem to have accidentally drifted off course from the fictional creative to the analytical mood of pondering over the important problems of humanity and wondering “&lt;a href=&quot;https://press.stripe.com/where-is-my-flying-car&quot;&gt;Where is my Flying Car?&lt;/a&gt;”, so I’ll end thus feeling inspired enough from the trip to go and try to build in the real world.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Software delivery as a system engineering problem [WIP]</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2023/02/08/engineering-execution"/>
   <updated>2023-02-08T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2023/02/08/engineering-execution</id>
   <content type="html">&lt;h1 id=&quot;why&quot;&gt;Why&lt;/h1&gt;
&lt;p&gt;Abstract problem statements into concrete units of functionality&lt;/p&gt;

&lt;h1 id=&quot;when&quot;&gt;When&lt;/h1&gt;
&lt;p&gt;Early-stage team - no, it’s an individual commitment problem
Company is past the existential crisis, and product has achieved PMF - yes
Unreliable timelines - yes
Systemic failure, rather than individual failures - yes&lt;/p&gt;

&lt;h1 id=&quot;how&quot;&gt;How&lt;/h1&gt;

&lt;h2 id=&quot;metrics&quot;&gt;Metrics&lt;/h2&gt;
&lt;p&gt;Metrics around execution (DORA metrics)
Reinforcing feedback loops&lt;/p&gt;

&lt;h2 id=&quot;background-tasks&quot;&gt;Background tasks&lt;/h2&gt;
&lt;p&gt;Processes as scheduled jobs with minimum cognitive resource utilisation&lt;/p&gt;

&lt;h3 id=&quot;refinement&quot;&gt;Refinement&lt;/h3&gt;
&lt;p&gt;Estimation&lt;/p&gt;

&lt;h3 id=&quot;planning&quot;&gt;Planning&lt;/h3&gt;
&lt;p&gt;Priorities&lt;/p&gt;

&lt;h3 id=&quot;standup&quot;&gt;Standup&lt;/h3&gt;
&lt;p&gt;Review&lt;/p&gt;

&lt;h3 id=&quot;retrospective&quot;&gt;Retrospective&lt;/h3&gt;
&lt;p&gt;Review missed estimates as feedback to train the team’s estimation model over time&lt;/p&gt;

&lt;h2 id=&quot;monitoring&quot;&gt;Monitoring&lt;/h2&gt;
&lt;p&gt;Monitoring for the execution metrics&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;for steady increase in velocity&lt;/li&gt;
  &lt;li&gt;for steady decrease in defect rate&lt;/li&gt;
  &lt;li&gt;to identify process defects&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Japan!</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2023/01/20/japan"/>
   <updated>2023-01-20T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2023/01/20/japan</id>
   <content type="html">&lt;p&gt;The limited exposure I had to Japan, through all the shows and books consumed, had these different pieces of film that I’d mentally clipped on to different strings in my mind’s darkroom. The two weeks I spent there were about watching these primitives take shape with awe. This trip was like no other for me, because I had these primitives to build upon, which mostly consisted of cultural inquiries and I now have more hypotheses that I want to explore in future trips.&lt;/p&gt;

&lt;p&gt;Aeroplanes are fascinating. Like bridges, like the Guindy Kathipara flyover. After some aeroplane watching at the Singapore airport, I was so primed for more marvelling at human inventions and engineering.&lt;/p&gt;

&lt;p&gt;Starting to get help from strangers right from landing at the Narita airport until leaving, I was politely forgiven as a baka gaijin and was not even noticed as an outsider (except for an uncle who disapprovingly stared at the hem of my coat for 3 straight minutes as I fiddled with the lint on it, on the train(erm.. who was probably worried that I was polluting the pristine environs (?))). Starting from using sign language to helplessly watching my literate-in-Japanese-brother every time somebody asked me something, by the end, I could confidently use all the translating tools at one’s disposal and place an order (+ request other things! onega ishimasu). Having decided that I’ll experience ‘living like a local’, along with everyday konbini trips, I believe I mastered operating the jazzy home appliances that also respond in a human voice with the help of my trusted friend Google Lens. Except for struggling to master ‘daijoubu desu’ that always needed a sign language supplement. Fun times for the people behind me in the Shinjuku Starbucks queue where ‘daijoubu desu’ as question and answer was exchanged a gazillion times, until I realised I could’ve responded with a simple ‘yes’. Why go to Starbucks you ask. Blue Bottle Cafe turned away this young woman entering with eagerness at 6pm on New Year’s Eve. Well, Starbucks made some extra business by being open for 30 more minutes. Every single person in a customer-facing role greeted with cheerfulness and patience, except for one tired station master! It showed what high standards businesses and people are held to, especially when ratings by the locals barely cross 3, even for the top-rated establishments, with elaborate comments on what was great or not in the “experience”.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_hachiko.jpg&quot; alt=&quot;Hachiko at Shibuya&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Thoughtfulness. I was constantly asking myself how this is built into the culture, seeing as there are many philosophical concepts embedded into the ways of the Japanese day to day life. Every space is thoughtfully designed to be inclusive, with ramps, baby stroller straps on bus seats, baby holder seats in public toilets. And also safe - a building undergoing facade repairs in a bylane had boundary scaffolding not encroaching the pavement, with two people in reflective safety jackets on either side looking out for and signalling to the rare vehicle/pedestrian traffic. There was no risk of getting hit by a vehicle when walking completely zoned out, if one kept watch on the pedestrian traffic lights (I can see why shows like ‘Old Enough!’ exist here). The principles of Universal Design are applied everywhere, promoted by the government with &lt;a href=&quot;https://scholarspace.manoa.hawaii.edu/server/api/core/bitstreams/1fdc0704-904b-487c-8b50-69f077cf284b/content&quot;&gt;initiatives that began in 1987&lt;/a&gt; and strictly implemented with the &lt;a href=&quot;https://www.mlit.go.jp/kisha/kisha05/01/010711/04.pdf&quot;&gt;2000 transportation barrier-free law&lt;/a&gt;. I would love to understand the what-and-how of the incentives that helped in carrying this over past public spaces, to retail and other consumer products. How can one explain the far better functional effectiveness and reliability of a danchi in a Japanese suburb, compared to an apartment in an upscale neighbourhood in Koramangala?&lt;/p&gt;

&lt;p&gt;How this thoughtfulness carries over to public behaviour blew my mind, as we walked from Miyashita Park towards the Yoyogi Park zelkova trees to watch the Christmas illuminations, as I was suddenly walking on Koen Dori amid about 1000 people all going to the same destination. It was incredible that there was no pushing or shoving, people were talking and having fun but not at all loud, everybody stopping for the pedestrian lights and patiently walking through the 500metres for about 30 minutes! (Also whatte beautiful studio Amazon Music has here!)
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_yoyogi.jpg&quot; alt=&quot;Walk to the illuminations&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I read somewhere that the Japanese industriousness in optimising every space for humans has made it such that, you can land anywhere even in the remotest of outdoors and still find human traces. Walking in to the tunnels in Enoshima, this was quite apparent in how the trade-offs between maintaining the authenticity and history of the space, safety to the visitors, and also ensuring access to information, had been made. After revelling in the beauty of the sunset and the breathtaking views of the Japanese island from the Enoshima Sea Candle as sunlight seeped out with the city lights coming up, I stepped out of the observatory stopping in my tracks completely wide-eyed at the numerous illuminations that had popped up all around! It was a perfect example of man trying to outsmart nature.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_enoshima.jpg&quot; alt=&quot;Walk to the illuminations&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The sunlight has an orange hue closer to red than yellow, I wonder why. The blue skies were beautifully blue and all the water bodies were beautifully blue. The air quality was excellent all the time during my stay with low AQI levels. Perfect for morning runs! Very much enviable for a person who comes from a land of AQI levels always at red. (The smoke from factories is white how!)
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_blue.jpg&quot; alt=&quot;Pleasant morning blues&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Japan, of course being one of the top world economies having pushed up the baseline quality of life long back, has a great art scene, even not taking into the account the traditional art forms. Just look at the &lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_concert_halls&quot;&gt;list of concert halls around the world&lt;/a&gt; to realise what correlation it has to developed countries. I couldn’t make it to all of the Art Triangle Roppongi, but Mori Art Museum’s contemporary art exhibit showed a lot about how the current generation Japanese artists are looking at the world, be it the travails of immigrants; or the artist collective SIDE CORE playfully showcasing the country’s industriousness in rebuilding; or how the pandemic has affected sensibilities in a country where hikikomori is already acknowledged; or the questioning of originality and creativity through trying to emulate a beaver. Teamlab Planets did not disappoint at all, in what a brilliant mix of art and technology and people it was. It was incredible how hundreds of people could stay inside the art exhibit with the exhibit itself changing its nature or responding to people’s actions. Of course, it’s all instagrammable and aesthetically flashy, but there are layers to unravel if one’s willing to, making it a great art museum experience. One could either be part of the artwork in interacting with the elements and altering the universe, or step out to perceive it as a whole.&lt;/p&gt;

&lt;p&gt;Speaking of flashy, I was quite curious about the numerous Christmas illuminations, but it looks like &lt;a href=&quot;https://www.japantimes.co.jp/life/2022/12/17/lifestyle/christmas-illuminations-tokyo/&quot;&gt;somebody else had the same question and tried to answer it&lt;/a&gt;. That so much thought is being given to design of urban spaces and to add delight to inhabitable public spaces is what makes this an excellent city. People still stepping out in a close-to-zero-temperature weather shows how welcoming these public spaces are. Just look at how delightful manholes are. Perhaps true that the country could manage this better than &lt;a href=&quot;https://www.bbc.com/news/world-asia-63830490&quot;&gt;spending up to $900 on each manhole&lt;/a&gt;(also &lt;a href=&quot;https://noahpinion.substack.com/p/actually-japan-has-changed-a-lot&quot;&gt;read this more optimistic take&lt;/a&gt; if you just clicked on the previous link) and adding to the pile of public debt, but also these tiny things subconsciously contribute to cultural values that people living there absorb, and to just serve as an inspiration to do better.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_manhole.jpg&quot; alt=&quot;Delight on a manhole&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m glad my first skiing and snow experience was at Hakuba, which once hosted the Winter Olympics and which has amazing powder snow! Tsugaike Kogen being the last stop in the Hakuba area, was less touristy, mooore snow, but sadly also no availability of English instructors in the Ski school on the day we went. I ended up learning all the wrong ways to ski and ultimately sprained the ankle in the most rigid pair of boots literally designed to not let this happen, which even my rescue patrol officer sounded surprised about, oh well. 
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_snow.jpg&quot; alt=&quot;Somewhere along the ski course&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After this (mis)adventure I still managed to have the best of times, being nestled in the warmth of &lt;a href=&quot;https://www.tripadvisor.com.au/Hotel_Review-g1120616-d7395832-Reviews-Tsugaike-Otari_mura_Kitaazumi_gun_Nagano_Prefecture_Koshinetsu_Chubu.html&quot;&gt;@tsugaike&lt;/a&gt; with my cheesecake crepes, a big Japan guide with stories to pore into and having interesting conversations with the host Marcello(and his experiences of having moved from Australia to Japan with the family and the children adjusting into the Japanese school system, and more stories), who was also very nice to recommend and drive us around to one of the best onsens around. I find it incredible how the country has standardised, as well as made accessible to everyone, these geothermal resources by passing a Hot Spring Law, and ensuring the mineral composition in each onsen is shared.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_sunrise.jpg&quot; alt=&quot;Sunrise, snow and forest&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Most favourite food experience was &lt;a href=&quot;https://goo.gl/maps/P5qF6mAw7wHtp2bq9&quot;&gt;Gossoya in Tsurumi&lt;/a&gt;, a tiny izakaya/yakitori restaurant with the warmest staff and the most curious owner very delighted at our enthusiasm towards each plate of his omakase. And amazing takoyaki finally! Exactly one year after deciding to fly across the ocean only to try out this snack that James May had in Osaka, well I’m kidding, but takoyaki on the streets, takoyaki in izakayas was happily had. Also, how has chocolate and cocoa mixes perfected so well, that the konbini ones taste like luxurious ones? The hot chocolate at Hakuba station while waiting for the bus, was one of the best I’ve ever had, and I’ve been on the hunt for a pack of the Meiji couverdark CB58 that they use, ever since(please to send me some if you find one). &lt;a href=&quot;https://goo.gl/maps/PAfyTjgyGGAx4vpZA&quot;&gt;Shinshu salmon in Nagano&lt;/a&gt; more than made up for the disappointment of unagi being unavailable. Midori in the Nagano station was a fairyland selling confectionaries made of the famous Nagano apples. Another fairyland being the Ecute in the Shinagawa station (where I landed after being lost alone with a switched off mobile phone, Pasmo card, a few thousand yen notes and a rough idea of which line to reach home), where I happily lost myself in the yummy smells and sights of the pastries and food and flowers, amid the rush of New Year’s Eve. Well, why don’t I have a picture of the Ginza Cozy Corner cheesecake? Of course, it was steadily devoured with no other thought.
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_salmon.jpg&quot; alt=&quot;Shinsu salmon&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mottainai culture means that the second-hand industry is trustworthy and has surprisingly high quality products. Simple things like nobody keeping their bags down even on the pristine floors on the public trains or elsewhere, showed how much care people show to things, which seems to be influenced both by religious ideas and post-war scarcity. Can already see the circular economy booming here.&lt;/p&gt;

&lt;p&gt;I’m officially a Japanophile now, like many others whom I’ve met, who couldn’t stop with a single trip to Japan, and I can’t wait for the next one. Hoping I can make some native Japanese friends on my next one. Pico Iyer introduced some interesting cultural observations through his book, A Beginner’s Guide to Japan, and I continue to read more contemporary translations. And what better than running into the Official Guide at the local book store upon return to home!
&lt;img src=&quot;https://fluid.anbuu.in/assets/images/japan_guide.jpg&quot; alt=&quot;Sunrise, snow and forest&quot; /&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Acquiring taste</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2022/09/10/acquiring-taste"/>
   <updated>2022-09-10T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2022/09/10/acquiring-taste</id>
   <content type="html">&lt;p&gt;To have experienced an acute sadness before, for that particular note and the arrangement of chords to evoke an emotion from deep down the chambers of the heart and the mind.&lt;/p&gt;

&lt;p&gt;To be able to taste that exotic or not so exotic culinary concoction, and be able to discern the different notes, and to trace the geographical parameters of nature and the creative human infusions that went into making it.&lt;/p&gt;

&lt;p&gt;To be on the lookout for beauty in the quest to unlocking more; more in the emotional processing centres of the brain, of love, of betrayal, of sorrow, of the pain of the unrequited; stoking emotions not felt before.&lt;/p&gt;

&lt;p&gt;To be able to feel the rhythm and lose oneself to movement; either to beats and tunes, in order to dance; or to the instructions while punching a heavy bag; and to feel as if in a vignette with nothing else in perspective - only after having survived the difficulty of catching breaths and panting through the process of acquiring the muscle memory.&lt;/p&gt;

&lt;p&gt;To be able to perceive in others, even if not lived experiences, and to be connected enough to others, to be able to live their experiences - happy, joyous and sad.&lt;/p&gt;

&lt;p&gt;To be able to feel through visual storytelling of others, and to feel inspired by a certain song, and feel transported to an alternate universe; that sitting on a swing, unaffected by pesky mosquitoes buzzing around, tapping feet and shaking fingers to the beautiful tune in the gentlest of drizzles, and typing out poetry prose on the phone’s text editor, is such an unexplained joy of being in the flow - absolutely enjoying the experience, unaware of the numerous people moving around as gleaned in the peripheral vision.&lt;/p&gt;

&lt;p&gt;To be able to feel acutely, the pain inherent in the journey and the joy of standing up for beliefs, portrayed in a novel featuring idealistic people, only after having lived through relatable experiences oneself or through others.&lt;/p&gt;

&lt;p&gt;Art is born as we move to uncover new emotions, and only when enough time has passed does someone feel surprise or the pangs of nostalgia, as Nicole Krauss says.&lt;/p&gt;

&lt;p&gt;Thomas Nagel famously said how you can never know what it feels to be somebody else, when he wrote “What is it like to be a bat?”. When references and metaphors are added to the prose, either it narrows the set of people who can relate to the writing, or attracts people who want to know, in the pursuit of more.&lt;/p&gt;

&lt;p&gt;To be able to pursue, and learn, and critique, and tune the skills of appreciation, and enable that parallel stream of feed for the soul, that the taste unlocked so far, can maintain its continuity through humanity’s.&lt;/p&gt;

&lt;p&gt;To be able to push the levels of personal optimal hedonic value gradually, as more and more appreciation of aesthetes is uncovered, and to genuinely find pleasure without the pressure of relative status games, while escaping the momentum of mimetic desires that put one of the path to seeking out, in the first place.&lt;/p&gt;

&lt;p&gt;To contemplate the utilitarian values of happiness and improving the net happiness of those around, by constant honing of judgement, to discover and surface hidden talents and the distribution of possible pleasures to more..&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>On tribe-ing in boxes</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2022/08/27/tribe-ing-in-boxes"/>
   <updated>2022-08-27T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2022/08/27/tribe-ing-in-boxes</id>
   <content type="html">&lt;p&gt;As we wander from a room to another, we become a part of one tribe, then another. We begin the morning waking up from our own personal box and into the wider world, a world of wonder and numerous possibilities (if it’s a holiday with no plans, even more so). A world, where we co-exist with beings, who can not quite communicate with us, but add to the beauty with their own chirping and swaying and strewing different gradients of colour on a wide canvas throughout days and months and years, which one can appreciate only if one slows down to perceive.&lt;/p&gt;

&lt;p&gt;In this setting of a larger background that’s evolved naturally, have we built our own boxes to travel to. Different hours of the day, different days of the week, different days of the year. We travel to our own workplaces, in a group, in public transport, in private vehicles on roads, walk on (sometimes non-existent) pavements, all towards their own destinations, but with the same purpose, to get somewhere. A tribe of going places.&lt;/p&gt;

&lt;p&gt;We all have our own workplaces - large office buildings, cafes, small co-working spaces, small office floors. We move around with numerous thoughts and actions branching out throughout the day, but all towards a bigger goal. In the large structure of a workplace, we move from one room to another, assuming a role in each, assuming different persona and sauntering through varied conscious states of mind. A tribe of getting things done.&lt;/p&gt;

&lt;p&gt;We run and jog in parks; we sweat it out together in group workouts; we dance it out with synchronised movements; we pedal towards conquering those distances; we hike towards surmounting peaks. A tribe of exploring the limits of the human body.&lt;/p&gt;

&lt;p&gt;We enter structures of squares and rectangles (and spheres?) to relish the human concoctions of various flavours. All towards a singular cuisine or an appreciation of a similar aesthetic or the cherishing of a similar set of flavours. More compartmentalisation into tables of squares and rectangles (and spheres?). A tribe of relishing craft.&lt;/p&gt;

&lt;p&gt;We receive invites and traverse into a beautifully crafted space of another, where we meet people assembled from their own respective personal boxes. We spend evenings chatting, sharing food and drinks with many stories and laughs, willing together to stitch together enjoyable moments into the quantum of time, and spin them into memories. A tribe of growing into more, in quantity and quality.&lt;/p&gt;

&lt;p&gt;Tribes everywhere, single-streams and multi-streams. How we adapt and mould to people and groups, in a non-verbal, synchronous dance. How have we ascended the hierarchy of needs to imagine and create, with cognitive sparks turned into material substances. And how we pursue and peruse, with thoughts morphing in colour and shape, from one tribe to another.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Money and Banks</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2022/02/22/money-and-banks"/>
   <updated>2022-02-22T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2022/02/22/money-and-banks</id>
   <content type="html">&lt;p&gt;How do governments create money? What does it mean when the abundance mindset is that the economy will grow so that everybody gets wealthier, and not transfer of wealth from one to the other?&lt;/p&gt;

&lt;p&gt;This is a simplified summary of the book &lt;a href=&quot;https://www.amazon.in/Where-Does-Money-Come-Ryan-Collins-ebook/dp/B00FFAKEQU&quot;&gt;‘Where does money come from’&lt;/a&gt;, a brilliant book by Josh Ryan-Collins, peppered with my own annotations.&lt;/p&gt;

&lt;p&gt;In contrast to the popular mental image that physical money is printed when a government infuses more money into the economy during a recession, it sets off the system in motion, hoping to reinforce the positive feedback loops in favour of growth.&lt;/p&gt;

&lt;h3 id=&quot;where-is-money-created&quot;&gt;Where is money created?&lt;/h3&gt;
&lt;p&gt;The form of money currently in circulation is predominantly digital, and physical currency in the form of notes and coins form a minor percentage. The commercial banks that we all know and maintain deposits in, are the creators of money! How? 
Banks follow double book-keeping, with deposits being marked as ‘liabilities’, since the bank owes this money to the depositor and loans as ‘assets’ since this is money owed by a borrower in the future.&lt;/p&gt;

&lt;p&gt;Let’s follow this with an over simplified example. When person P1 deposits 100INR into bank B1, the bank’s now eligible to lend 90INR, if the reserves to be maintained, as per the Central Bank, is 10%. The bank creates a deposit into P1’s account and the balance sheet now says [Assets - 90INR, Liabilities - 100INR], with the entire system actually containing 190INR. The bank just created 90INR, which the borrower P2 can spend towards productive activities - say manufacture lamps, hence pay vendors for raw materials and employees, pushing the borrowed money into circulation for consumption. Say the borrower P2 pays a vendor P3, who deposits in his account B2, who’s now eligibile to lend 81INR to borrower P4. This cycle goes on until the value diminishes for a single deposit’s lifecycle, effectively creating money through circulation.
In the same vein, money is destroyed when the credit is repaid. For example, when you repay your credit card bill, money is effectively destroyed.&lt;/p&gt;

&lt;h3 id=&quot;how-is-money-creation-controlled&quot;&gt;How is money creation controlled?&lt;/h3&gt;
&lt;p&gt;There has to be a central traffic controller, ensuring this money creation system doesn’t go out of hand. The Central Banks enforce this not through a binding constraint on lending, but by moderating the interest rates on reserves. Bad economy? Central bank reduces interest rates making money cheaper, inducing more supply to nudge towards productivity. Banks can purchase Central Bank reserves at lower cost to maintain reserve requirements, hence having a higher capacity to lend.&lt;/p&gt;

&lt;p&gt;The commercial banks determine their capacity to lend, based on its profitability, which is a trickle-down effect of the central bank’s lending rate. This is turn determines how many deposits are created by the commercial banks via lending. The amount of bank deposits then influences how much reserve the commercial bank needs to hold to maintain requirements in terms of liquidity and insolvency.&lt;/p&gt;

&lt;h3 id=&quot;case-against-lowering-interest-rates&quot;&gt;Case against lowering interest rates&lt;/h3&gt;
&lt;p&gt;Does lowering interest rates automatically stimulate borrowing by people, or just infuse more supply thereby creating inflation, since the value of money is reduced by abundance? Rather, when there’s demand for credit from the people for productive operations, that ensures non-inflationary growth, since the value for money is maintained by a match in supply and demand. Credit controls in the Asian hyper-growth countries into the right productive sectors, rather than into speculative sectors, helped achieve the desired nominal GDP growth rates.&lt;/p&gt;

&lt;h3 id=&quot;is-credit-the-wealth-creator&quot;&gt;Is credit the wealth creator?&lt;/h3&gt;
&lt;p&gt;Credit then, is not borrowing from one person to the other, rather it’s borrowing from the future, to produce something now, in order to expedite meeting that future. Wealth continues to grow if the future money that’s been pulled into the present, is invested into science and tech, or things that propel humanity, instead of getting locked up in speculative or illiquid assets like housing(?).&lt;/p&gt;

&lt;h3 id=&quot;quantitative-easing-qe&quot;&gt;Quantitative Easing (QE)&lt;/h3&gt;
&lt;p&gt;What if the central bank hit the lower bound of interest rates, to stimulate economy (For example, Zero Interest Rate Policy)? QE has been used as an aggressive method to further stimulate the economy by the increasing private sector spending. We’ve heard that the governments have been printing money at will for the past few years. What actually happens? Since this system is regulated by the amount of central bank reserves, creating new money is effectively increasing the quantity of reserves.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://www.bankofengland.co.uk/-/media/boe/files/quarterly-bulletin/2014/money-creation-in-the-modern-economy.pdf&quot;&gt;Bank of England 2014 Q1 Bulletin&lt;/a&gt; lays this out clearly, so to quote,&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Consider, for example, the purchase of £1 billion of government bonds from a pension fund. One way in which the Bank could carry out the purchase would be to print £1 billion of banknotes and swap these directly with the pension fund. But transacting in such large quantities of banknotes is impractical. These sorts of transactions are therefore carried out using electronic forms of money. As the pension fund does not hold a reserves account with the Bank of England, the commercial bank with whom they hold a bank account is used as an intermediary. The pension fund’s bank credits the pension fund’s account with £1 billion of deposits in exchange for the government bonds. The Bank of England finances its purchase by crediting reserves to the pension fund’s bank — it gives the commercial bank an IOU.The commercial bank’s balance sheet expands: new deposit liabilities are matched with an asset in the form of new reserves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;hmmm&quot;&gt;Hmmm…&lt;/h3&gt;
&lt;p&gt;I’m not sure if all of the above could by applied to the Indian banking system as well. But on a different note, most of the large banks’ lending entities operate as separate NBFC businesses.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Self Organising Engineering Team</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2020/08/14/self-organising-team"/>
   <updated>2020-08-14T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2020/08/14/self-organising-team</id>
   <content type="html">&lt;p&gt;What could an ideal self-organising engineering team look like?&lt;/p&gt;

&lt;p&gt;We assume a common structure for an engineering team, comprising product engineers, designer(s) and a product manager. Ideally an individual would be able to execute independently or contribute significantly in terms of the below. The ideal team member handles all of these for a particular problem statement. Note that we don’t deal with product features, instead we deal with customer pain points or problem statements.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Technical&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Managerial&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Contextual&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;technical-how&quot;&gt;Technical (How)&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Understands the problem statement in terms of the customer need and could propose an appropriate technical solution.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Can independently execute and implement the technical solution without a senior guide.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Can break down the problem into defined units of work.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Can implement solutions with the quality of code as agreed with peers, and can contribute to evolve the quality in terms of, scaling codebase and engineering pipelines for agility with minimum bugs.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;managerial-when&quot;&gt;Managerial (When)&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Can self-manage by estimating timelines for the broken-down units of work and collating it.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Is committed to agreed timelines and takes ownership to place their work into the hands of the customer (for example, code deployed to production or closing a communication loop with a stakeholder).&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Can identify blockers/potential delays in delivery and flag them to the team.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;contextual-what&quot;&gt;Contextual (What)&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Can propose and weigh multiple solutions to a problem statement in order to identify the best approach for the customer segment that we’re serving.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Can help in scoping the problem to realistic sizes, for each iteration.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;hiring&quot;&gt;Hiring&lt;/h2&gt;

&lt;p&gt;The team composition will matter more than the individual team members, in that the team members can work together as one cohesive unit. Each team will vary based on the stage of the company, the maturity of the product, the nature of working relationships with the stakeholders.&lt;/p&gt;

&lt;p&gt;Define minimum thresholds in key skills that each potential hire needs to meet. Every additional hire needs to add something to the team in terms of complementary skills so that individual strengths and weaknesses can balance out. There are always tradeoffs to make, so we might be hiring for potential in a certain area. In that case, look for evidence of rate of growth in an adjacent area.&lt;/p&gt;

&lt;h2 id=&quot;operating&quot;&gt;Operating&lt;/h2&gt;

&lt;p&gt;Focus on creating the right environment for everybody to excel.&lt;/p&gt;

&lt;p&gt;Create cadences to minimise cognitive overload on processes, rather enable team for deep work and focus on solving customer problems, while the cadences run as background processes to aid in maintaining shipping momentum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minimise ambiguities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Product engineering and delivery, is ultimately an exercise in visualising and leavening multiple abstract ideas in people’s heads, into a solid product that can be experienced by the human senses. This leads to a fine balancing act in minimising ambiguities at multiple steps along the way, while identifying the right amount of effort to spend on it, as subjectively determined by the team composition. This is a two-way reinforcing feedback loop between product and engineering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engineering&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seek to minimise ambiguity in&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The need for the problem&lt;/li&gt;
  &lt;li&gt;The scope of the problem
Product Requirements Documents (PRDs) capture both the above and feed into the appropriate solution, to help the engineers working on the problem. The AI generators are solving this better with apps like Lovable generating high fidelity prototypes in a few minutes.&lt;/li&gt;
  &lt;li&gt;The solution decided
Technical Design Documents, Architecture Design Records (ADRs) and Request for Clarification (RFCs) have been historically relied upon to help the engineers visualise the solution and to identify tradeoffs and bottlenecks. It’s turtles all the way down and it’s all about how much we need to drill down into defining specs as per the maturity of the team.&lt;/li&gt;
  &lt;li&gt;The engineer should be able to answer the question ‘Do I have full clarity of how to implement and get to production?’, else should ask questions to resolve any unknowns.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Product&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seek to minimise ambiguity in&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Estimated timelines (When will it be ready?)&lt;/li&gt;
  &lt;li&gt;Scope of the solution in iterations (What exactly is the customer going to get?)
Sprint boards have been relied upon to get a sense of the progress and planning epics with milestones can give a sense of the timelines.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;parameters-feedback-loops&quot;&gt;Parameters (Feedback loops)&lt;/h3&gt;

&lt;p&gt;The levers that the team could continually tweak to get to the point of being totally self-organised.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Velocity&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Measure and improve time taken from requirement planning to delivery on production. Honestly I wouldn’t focus on getting a quantitative measure of this. The correct answer is “it depends” on the business timelines and whether the team is able to sustain the momentum of delivery. Any time the momentum falls, the root cause for that could be any of&lt;/li&gt;
  &lt;li&gt;Code and architecture. In this case, it’s time for a refactor by identifying the areas that slow down people.&lt;/li&gt;
  &lt;li&gt;Processes. It could be anything like a release pricest or a QA process. If there’s a bottleneck here, question if the process is still solving the problem in a way that it was originally intended to. A system is always how it currently behaves and not how it was designed.&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;People. Is there a morale problem in the team or an individual? Is there a lack of skill for the current set of customer problems being solved by the team? Is there an individual weighing down the team?&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Time to deploy (CI/CD pipelines)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;Fail-fast feedback loops
An environment where the team can face failures safely, without impacting the customer. Tactical things would involve:&lt;/li&gt;
  &lt;li&gt;automated tests running on every pull request, that assist code reviews&lt;/li&gt;
  &lt;li&gt;any bugs identified to feed into the automated test suite, to avoid a future regression. This also requires active maintenance by the team to ensure this serves as a good feedback layer.&lt;/li&gt;
  &lt;li&gt;a development environment with error tracking and it’s own monitoring and alerting systems.&lt;/li&gt;
  &lt;li&gt;nightly regression tests that can catch issues across the system&lt;/li&gt;
  &lt;li&gt;be as aggressive as possible about the pipeline durations so that they always run as quickly as possible. Parallelize runs wherever possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Static code analyses, linting tools, to eliminate nit-picks and differences over coding styles in reviews&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Code reviews. AI code review tool integration as the first pass check, so that team members need only verify functional requirements.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Automated test suites (Unit tests, Integration tests and End-to-end tests)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;QA process (manual and exploratory). Dependent on the product. For example, a payment product might involve exploratory testing to identify 
flows that aren’t straightforward and to identify potential fraud scenarios. Whereas in a SAAS product with no operational touch points, it maybe possible to automate all the flows.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Maintainability&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Monitoring with defined Service-level indictors and Service-level objectives&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Observability with logs and traces.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Alerting&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Dashboards with ownership&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>Pride and Principle [WIP]</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2020/08/10/pride"/>
   <updated>2020-08-10T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2020/08/10/pride</id>
   <content type="html">&lt;p&gt;Is sticking to your principles when the going gets tough, an indication of pride?&lt;/p&gt;

&lt;p&gt;Imagine this. You’re running a fledgling restaurant business with your four employees. You’ve raised significant funding from different investors to launch your ambitious franchise, for which you’ve already acquired many aspiring restaurant owners who also have invested capital. But then, the investors withdraw at the last minute, only for you to realise it was all a ploy by your rival. While having to deal with hurt reputation and angry customers, your employee’s grandmother, who also happens to be a rich investor, offers to help you with capital as favour. Do you accept it or refuse because you don’t want to use your employee as leverage? (If all this sounds like a plot out of a drama, you’re right. It is. Danbam!)&lt;/p&gt;

&lt;p&gt;Like every moral dilemma, there are different sides to this. As the owner, you’re responsible for your employee’s wellness at work, hence accepting the favour would mean fulfilling the responsibility. But on the other hand, there’s the case of an unfavourable means to achieve the favourable end.&lt;/p&gt;

&lt;p&gt;[Ethical relativism]&lt;/p&gt;

&lt;p&gt;Jayamohan’s Aram captures the real-life stories of twelve individuals who were absolutists in their idealism, irrespective of how it affected them.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Get Started with Web App performance</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2018/01/25/web-perf"/>
   <updated>2018-01-25T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2018/01/25/web-perf</id>
   <content type="html">&lt;p&gt;In a web application, performance might refer to&lt;br /&gt;
— &lt;strong&gt;Loading performance&lt;/strong&gt;: How quickly the page loads&lt;br /&gt;
— &lt;strong&gt;Rendering performance&lt;/strong&gt;: How quickly the page elements respond to user interactions&lt;/p&gt;

&lt;p&gt;I always recommend this &lt;a href=&quot;https://developers.google.com/web/fundamentals/performance/rail&quot;&gt;Google web fundamentals&lt;/a&gt; guide as a good place to start with detailed explanations on the different metrics. But, once we understand what the different metrics and the optimisation techniques are, how do we actually go about the process? Which is what I’ll attempt to guide you through here.&lt;/p&gt;

&lt;p&gt;Performance is about the cycle of Optimise -&amp;gt; Measure -&amp;gt; Optimise. Here lies a sample application (&lt;a href=&quot;https://girlswhojs.herokuapp.com/&quot;&gt;https://girlswhojs.herokuapp.com/&lt;/a&gt;) with a huge hero banner image and a map loaded on another route. We’re going to attempt to improve the perceived performance, which involves optimising the critical rendering path to prioritise the display of relevant content to the user, by adopting a few techniques, some of which are on the client and some on the server.&lt;/p&gt;

&lt;p&gt;Some of the useful tools are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;WebPageTest&lt;/li&gt;
  &lt;li&gt;GTMetrix&lt;/li&gt;
  &lt;li&gt;Google PageSpeed&lt;/li&gt;
  &lt;li&gt;Pingdom&lt;/li&gt;
  &lt;li&gt;YSlow&lt;/li&gt;
  &lt;li&gt;Google DevTools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’re going to be using the &lt;a href=&quot;http://www.webpagetest.org/&quot;&gt;webpagetest&lt;/a&gt; tool to understand our sample app’s performance, as we proceed through each step. I’ve got a simple Heroku instance setup with Github deployment pipeline enabled, so that as I make the changes in each step, I deploy them to the instance and run Webpagetest on it. If you’re unfamiliar with interpreting a waterfall chart, &lt;a href=&quot;https://blog.radware.com/applicationdelivery/wpo/2014/03/waterfalls-101-how-to-use-a-waterfall-chart-to-diagnose-performance-pains/&quot;&gt;this&lt;/a&gt; should serve as a good place to start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step — 1: Compression (on server)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gzip compression reduces the size of the files from the server to the browser by about 70%. Since this is a Node application, all I had to do was to include the compression middleware and, voila! The below table shows the differences in loading times after this step was performed.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*0ZR6R3b-8HvQikYQargoIw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Webpagetest results — The gains on such a small effort&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*5UeFOCHoK-Iybt7XI2k5Mg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This image shows, in the Size column, the original size(below) and the compressed size(above).&lt;/p&gt;

&lt;p&gt;The new kid on the block for compression is Brotli, which promises &lt;a href=&quot;https://blogs.akamai.com/2016/02/understanding-brotlis-potential.html&quot;&gt;better compression ratios&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step — 2: Asynchronous loading of resources (on client)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Anything not required immediately for user action needs to be loaded asynchronously, so that main thread is free to process critical resources. In our case, we have a map displayed only after a user action(navigating to a different route), so google maps script could be downloaded asynchronously.&lt;/p&gt;

&lt;p&gt;&amp;lt;script src=”&lt;a href=&quot;https://maps.googleapis.com/maps/api/js?&amp;amp;key=AIzaSyC5kgVtsX9_WAWV-4Vzp77gs9mxs9hsE7o&quot;&gt;https://maps.googleapis.com/maps/api/js?&amp;amp;key=x&lt;/a&gt;yz” async&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*JJxpoBguys-ZTTgJ_TGwuA.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step — 3: Cache static resources (on server)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Caching helps in improving repeat view loading times. This is done by setting the max-age header in the asset response, so that the subsequent requests to the assets are served from the browser cache for the same user.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*vzPYZ7v8zAQXh4oOUDCvGg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step — 4: Preloading resources of priority (on client)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is currently fully supported only on Chrome, but doesn’t impact the perf on other browsers, until they catch up. Here, I tried preloading the huge hero image, so that the visually complete time for the user is perceived to be shorter, but then from the result below, this seems to negatively impact the performance, so the measuring phase is very important to validate our theories on improving performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preload&lt;/strong&gt;: Fetch resources with high priority immediately, while the HTML is being parsed, as soon as the tag is encountered&lt;br /&gt;
&lt;strong&gt;Prefetch&lt;/strong&gt;: Fetch resources needed for further navigation with lower priority(subsequent routes), in the background&lt;br /&gt;
&lt;strong&gt;DNS-prefetch&lt;/strong&gt;: Perform DNS lookup to a URL in the background&lt;br /&gt;
&lt;strong&gt;Preconnect&lt;/strong&gt;: Setup connections to a URL before requests are triggered&lt;/p&gt;

&lt;p&gt;&amp;lt;link rel=”preload” as=”font” type=”font/woff” href=”/fonts/font.woff2”&amp;gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*FJxi1xbDLtnuZe1FhQ-E5Q.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step — 5: HTTP/2 (on server)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A key performance bottleneck in HTTP/1.1 was the latency and the limited number of simultaneous TCP connections per host (typically 6), while on HTTP/2, a single TCP connection can be reused for multiple asset requests. The resulting improvement should be pretty obvious from the below images.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*rxAFX60xZAQ8JSGlenOzBA.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Waterfall — Before HTTP/2 implementation&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*7JQo23Go3XVktkcbVlXhzA.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Waterfall — After HTTP/2 implementation&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Though browser support is still not 100%, HTTP/2 pushes us to rethink some of the good practices currently adopted, like bundling, domain sharding, image sprites and inline assets.&lt;/p&gt;

&lt;p&gt;HTTP/2 should be enabled on the server, by installing the SSL certificates and most of the browsers currently support HTTP/2.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*nV1MAlQr7i2CYat7qzqGsw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This table summarises the journey of optimisation we just took and the gains achieved.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://slides.com/anbarasiu/deck&quot;&gt;These slides&lt;/a&gt; contain in the speaker notes, the links to elaborate reports of all the Webpagetest runs above.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>import tales from &apos;London&apos;;</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2017/04/07/import-tales-from-london"/>
   <updated>2017-04-07T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2017/04/07/import-tales-from-london</id>
   <content type="html">&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*Vcpi2veDpPMaWle_BGA5bw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Visiting the UK amid warnings of snow/sleet for a few weeks of work, was a first-of-sorts of many sorts(ahem, I like to kill the language in many possible ways). The excitement of traveling alone/spending most of the time with self in a foreign country among foreign people, is a refreshing experience. When you have a few weekends in London, why wouldn’t you venture out to explore the land of so much art and culture? Especially when your curiosity levels ebb a little more above the average (‘can curiosity kill the cat?’). Reading through some of my old travelogues got me regretting that I haven’t penned down some of the recent trips that I’ll put this down for myself.&lt;/p&gt;

&lt;p&gt;I boarded the flight to find an amazing view of the wing and nothing else(only to the greatest dismay did I find right when landing, that the flight had 3 cameras thru’ which I could’ve watched the mountains over which we were flying &lt;em&gt;silentwail&lt;/em&gt;)! Interesting though was having a co-passenger who was an engineer in the same airways working on satellite technology and ending up having an entertaining trip discussing technology in flights and all that jazz. Having landed into a winter, the first surprise hit in the form of a dark window, way before it was supposed to be dusk! (Ooh.. I thought long summer days and short winter days was a Scandinavian thing! #blissofignorance) After battling the wind and the cold with tears streaming down, it took 2 days to find the right amount of layers and then to live happily ever after.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*jylzquYKcjK59wLGAxnsnA.jpeg&quot; alt=&quot;Shakespeare&apos;s Globe&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Okay, the tale hasn’t ended yet (you’ve to put through more drab considering you’re already here). Spiralling the reel of flashback into childhood till present flashed past all the literature consumed that featured/was set in Britain, that I just had to satisfy the cravings from my synapses and strengthen their visual associations.&lt;/p&gt;

&lt;p&gt;The first fascination was to watch an authentic Shakespearean play in the native tongue/accent, after having been struck by an amazing performance by Madurai’s American College students in the school days. Though disappointed that the Shakespeare Globe (being an open theatre) didn’t stage plays in winter, the tour turned out to be one the most fascinating things because, there I was, standing right in the middle of a replica of a 17th century Shakespearean theatre and visualising all that could have happened as the guide narrated about no-water-only-beer, London-only-2miles-radius, 3000-people-crowd-in-single-show, no-bathing-plague-scare, heaven-hell-sound-effects-stage-arrangements, theatre-banned-so-on-Bankside, penny-stinkers, etc. of what one could have witnessed in the same place in the Victorian era. Snapping out of the vision brought the realisation that life didn’t seem so easy in the olden days.&lt;/p&gt;

&lt;p&gt;Once out of the Globe, a few steps to behold the beautiful Thames and what better than watching it flow, from the Westminster Bridge, like Wordsworth did, while composing his poem at the early hours of the day…&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://www.walks.com/&quot;&gt;London Walk&lt;/a&gt; on the Old London, touches upon the Dickens and Shakespeare’s era and some of the key places in their lives and writings, and there are more literary specials in the Walks’ schedule. Especially interesting was how Robert Louis Stevenson met in the Barts hospital, William Henley, who inspired the creation of the character of pirate Long John Silver in Treasure Island!
If you’re not into Classics, the contemporary world of Harry Potter has a prominent presence everywhere and where else other than King’s Cross to begin? There’s a platform 9 3/4 to get photographed at and a goodie store right next, to gape at. The sleepy little village Lacock has the Potters’ house Godric’s Hollow and it is assumed that(according to our really fascinating guide, Tony) a boy named Harry live(d) there and there’s a pottery store right in front of it, which Rowling put together as Harry Potter.
Saving the best for the last, the most loved place was Bath with its rich and unique Roman architecture, renowned hot springs and.. Jane Austen! Watching some of the places depicted in my most favourite novels of hers was amusing and physical structures where Elizabeth and Darcy moved about, came to life from imagination and catching Sense and Sensibility on the flight back, sealed the experience. I feel an unexplained strong pull to the city of Bath and more fun was having a Finnish acquaintance with whom to discuss the politics and culture in Europe and learning how the grandeur of privilege in Windsor castle is an oddity in a country like Finland where everybody’s considered equal.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*J7-9YhmujS8nYQ6U4u4nlA.jpeg&quot; alt=&quot;Lacock&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Though having very little second-hand exposure to art, I wanted to understand how/why modern art is created and how it is understood(mainly to understand why my family’s cynical of my so-called artwork), so ventured to Tate Modern, where I failed to glean much, though it just opened the vistas of what we generally consider art. For example, I couldn’t fathom social experiments like, a woman placing all kinds of weapons in front of her and letting the audience handle it on her however they wish. So, I still live with the open questions of what is considered art and whether it even has any criteria (and how my family would react to tons of human hair as art).&lt;/p&gt;

&lt;p&gt;The most curious thing is how London preserves all its old buildings of heritage and the co-existence of the old with the new, with plaques placed at unexpected places explaining the significance of the building or the location. Especially significant was how lights that streak from beneath put the architecture into spotlight. We should try to make some of our prominent architecture in the cities similarly well-lit(as long as we pull in the power from a renewable energy source). You can even see where the bullets hit during the WW on the wall near the Barts hospital and some lucky survivor structures of the Great Fire. It is awe everywhere you turn around and the city is like an artwork in itself.&lt;/p&gt;

&lt;p&gt;After all the solo-time, I got to visit the South coastal scene with a group of friends and catch up with some bright light and sun, after all the dull, dreary winter days in London. Brighton is a beautiful town(with the fun Brighton Pier and its upside-down ride over the sea, on the Booster) and the bus ride to Seven Sisters Country Park with its innumerable stop every 0.2mi along the coast is picturesque (&lt;em&gt;tiptip&lt;/em&gt; - places to file in retirement plans). The Park is a huge sprawling area of green grazing lands through which trail you could walk to get to the beach full of pebbles, walking past the beautiful lagoon and catch sight of the cake-like-cut bright white chalk cliffs. A small but scary steep hike over the cliff, got us to an amazing view of different hues of green and blue, totally worth the heart skipping a beat or two while climbing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*hY2vxTs584BAzxHWSmb3sw.jpeg&quot; alt=&quot;HP store&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Foooddd… is the best part of any trip and London has every cuisine imaginable at accessible distances. Though my most loved was the Indian I had at Neem Tree in Welwyn Garden City (having the same Herb and Cheese naan every single time), Leather Lane was an everyday fun experience too with its rice bowls and wraps and Lasagna. To keep crisp and not go on about food, Creme Brulee at Fish Central(absolute yum!), Rosemary chips and burger from Honest Burgers, Veeraswamy, Cozzo, Pieminster, etc. are some of the worthy mentions enjoyed.&lt;/p&gt;

&lt;p&gt;Also loved the public transport experience while in London and I just couldn’t shake off how easy it was to get around the city with an Oyster Pass and CityMapper app, hopping on and off the tube and buses, blending in with the local hustle and bustle, of people hurrying with purposeful strides. Now that’s a pace of life to have.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Let&apos;s do our bit</title>
   <link href="https://fluid.anbuu.inhttps://fluid.anbuu.in/2016/05/05/do-our-bit"/>
   <updated>2016-05-05T00:00:00+00:00</updated>
   <id>https://fluid.anbuu.in/2016/05/05/do-our-bit</id>
   <content type="html">&lt;p&gt;Perhaps, you also, crib about the living conditions we’ve to put up with everyday, when stepping out of the safe shell called our home. Today, being Environment Day, I’m sure there are millions of articles out there, claiming how the world could be made a better place to live in. Why not add my own small bit to the humongous effort, so I thought.&lt;/p&gt;

&lt;p&gt;It all started when I moved to Bangalore (remembered as the ‘Garden City’ from my school General Knowledge textbooks), which according to the people living there for long, is nothing like what it was a few years back and is deteriorating in a rapid pace due to the population explosion. I lived in an area where I had to wait for the garbage collector’s whistle, so that I could dispose the garbage and a few minutes later on the way to office, I’d see all the garbage collectors assemble from different streets near a truck and segregate(!) the waste manually. And there would be huge piles of waste on the road sides — people crossing it everyday, food stalls at an alarmingly close radius to the dump, even more appalling when it rains. A very appalling picture on the whole.&lt;/p&gt;

&lt;p&gt;This led to a series of questions. Why do we have to waste time every single day on the basic necessity of garbage disposal from home, waiting for the disposal truck, when I could be doing better things? Why does the government have to take care of this for every single household, when it could be doing better things? So, I started looking for options.&lt;/p&gt;

&lt;p&gt;Apparently, these were problems that were being solved brilliantly by some organisations. Waste segregation at the individual household level is the first step to free the government workers from manually doing it. But, what after waste segregation? I still don’t want to be disposing garbage everyday. And then I remembered dad showing me a video on composting sometime back. Apparently, there’s only &lt;a href=&quot;http://dailydump.org/learn/sorting.html&quot;&gt;10% of what we’re throwing, that has to go to the landfills&lt;/a&gt;. All the organic waste from home could be conveniently converted to compost and fed to the plants. True that, composting takes some time to get right, but when I started out and started seeking solutions for the different problems popping out of the compost bin, I found that there were a lot of good resources out there to help. These are some of the resources that will help starters.&lt;/p&gt;

&lt;iframe height=&quot;400&quot; src=&quot;https://www.youtube.com/embed/-7IM5sWl9GY&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href=&quot;http://dailydump.org/&quot;&gt;Daily Dump&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://myecobin.in/&quot;&gt;MyEcoBin Indoor Bokashi Compost Bin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greentechlife.in/smartbin/&quot;&gt;Smartbin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s better awareness about composting these days and I see a lot of &lt;a href=&quot;https://agreenventure.wordpress.com/&quot;&gt;free workshops happening around&lt;/a&gt;. I now have my own minuscule kitchen garden, and hopefully will feed them nutrients from my own compost bin, breaking down all the kitchen waste from my home. It’s a nice cycle and already the garbage generated at my home has gone down to a minimum. Happy that I’m doing my bit, and hope this post will help somebody else to do too.&lt;/p&gt;
</content>
 </entry>
 

</feed>
