<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[The V Word]]></title><description><![CDATA[The V Word]]></description><link>https://vikky.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 21:01:58 GMT</lastBuildDate><atom:link href="https://vikky.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Unblocking paste on some websites]]></title><description><![CDATA[Sometimes the best things happen when you're frustrated over some petty inconvenience. I had one such moment recently by getting frustrated by bad user experience in my bank website. Banks and governm]]></description><link>https://vikky.dev/unblocking-paste</link><guid isPermaLink="true">https://vikky.dev/unblocking-paste</guid><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Wed, 15 Apr 2026 17:10:00 GMT</pubDate><content:encoded><![CDATA[<p>Sometimes the best things happen when you're frustrated over some petty inconvenience. I had one such moment recently by getting frustrated by bad user experience in my bank website. Banks and government websites are the biggest offenders when it comes to user experience — they break basic browser features like the back button, copy-paste, etc.</p>
<p>I was logging into my banking website one day after my password expired. I generated a new, secure password, but they wouldn't let me paste it into the box. I tried typing one myself, but it wasn't "strong enough" apparently. I thought, enough is enough, and started looking at ways to disable paste-blocking on a per-site basis.</p>
<p>I know extensions exist for this, but I don't trust them around password fields. So I went with good ol' <a href="https://bookmarklets.com/">bookmarklets</a>.</p>
<p>The one below, when clicked, strips out any paste blockers on the current page:</p>
<pre><code class="language-javascript">javascript: (function () {
  ["paste", "cut", "copy"].forEach(function (e) {
    document.addEventListener(
      e,
      function (e) {
        e.stopImmediatePropagation();
      },
      true,
    );
  });
})();
</code></pre>
<p>It's not bulletproof — won't catch every site or inline event listeners — but it works for the majority of cases and that's good enough for me.</p>
]]></content:encoded></item><item><title><![CDATA[Using My Phone in Tamil]]></title><description><![CDATA[I set my phone’s language to Tamil a few months ago. There was no big reason behind it. I was typing something on WhatsApp in Tamil and just noticed how the rest of the UI was in English. Felt a sudden rush and changed the language.
Tamil is written ...]]></description><link>https://vikky.dev/using-my-phone-in-tamil</link><guid isPermaLink="true">https://vikky.dev/using-my-phone-in-tamil</guid><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sun, 18 Jan 2026 17:18:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/j2X9B8NSVWU/upload/240729cc4fcd8174436ade22f242504c.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I set my phone’s language to Tamil a few months ago. There was no big reason behind it. I was typing something on WhatsApp in Tamil and just noticed how the rest of the UI was in English. Felt a sudden rush and changed the language.</p>
<p>Tamil is written and spoken differently. It confuses even native speakers if they’re not into reading lots of Tamil. I didn’t have that much trouble except for the technical glossary in app UIs.</p>
<p>A lot of Tamil speakers, maybe Indians too in general, just use their phones in English except for grandmothers. So there aren’t enough words available in the general culture for recent tech terms. I feel that’ll be solved if more people start using electronics in their own language. But most of Indian population adopted computers and mobiles when English was the only option they understood, they have no reason to change now.</p>
<p>After a couple of weeks I thought of changing it back to English. But I saw one of my colleagues using his laptop in German and got inspired by it, so I put off the change. I don’t think I’ll change the phone language back to English now. The Tamil letters look amazing on some screens.</p>
<p>Some apps like Kindle don’t care about phone language settings and still show English menus. I learned why it’s important to design apps with i18n in mind.</p>
<p>One thing I’ve noticed less after the change is the number of websites/apps assuming I’m a Hindi speaker just because I’m from India. I don’t know if this change is affecting that or not, but if it does, I’m grateful.</p>
<p>Now I’m thinking of trying it on my laptop too. I know it’ll be a difficult change, but why not?​​​​​​​​​​​​​​​​</p>
]]></content:encoded></item><item><title><![CDATA[Setting up a new Macbook at work]]></title><description><![CDATA[2025 was an eventful year for me. I know it was a tough year for a lot of people and I had my fair share of losses in the year. Though I’m still processing some of it, overall the year done a lot of good to me. I joined HCL Technologies in March and ...]]></description><link>https://vikky.dev/setting-up-a-new-macbook-at-work</link><guid isPermaLink="true">https://vikky.dev/setting-up-a-new-macbook-at-work</guid><category><![CDATA[macOS]]></category><category><![CDATA[Developer Tools]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sat, 20 Dec 2025 15:05:10 GMT</pubDate><content:encoded><![CDATA[<p>2025 was an eventful year for me. I know it was a tough year for a lot of people and I had my fair share of losses in the year. Though I’m still processing some of it, overall the year done a lot of good to me. I joined HCL Technologies in March and started working at a client office in Bengaluru. New job, the travels and some personal incidents had me completely occupied for most of the year. That's part of the reason that I did not post anything on the blog.</p>
<p>I got a M4 Macbook pro at work. I'm returning to the Apple desktop after a year. Every time you set up a new machine, it is always a good time to review your workflows to reevaluate the setup. Let's get to the final setup, but before that I need to rant about Microsoft first.</p>
<blockquote>
<p>Disclaimer: This is my personal blog. Even if I gain experience and insights from my job and share them here, All the opinions are still completely mine and doesn’t reflect the view of my employer. They are not affiliated or responsible for anything you read on this blog.</p>
</blockquote>
<h3 id="heading-windows-sucks-remote-desktop-sucks-twice"><strong>Windows sucks, Remote Desktop sucks twice</strong></h3>
<p>I had to use Windows laptop as my main driver at work. I was a mild windows hater until windows 11. Now I hate it to the core and <a target="_blank" href="https://www.aleksandrhovhannisyan.com/blog/making-windows-11-usable">I'm not</a> <a target="_blank" href="https://anarchaeopteryx.bearblog.dev/2025-08-19-win11-utilities/">alone</a>. To make matters worse, this was my first time of using a company-managed laptop in a restricted enterprise setup. All my previous jobs were at firms where I reinstalled OS multiple times by myself. I even tried out different Linux distros on a work laptop and settled with the one I like.</p>
<p>If that doesn't feel bad enough, I had to use Windows CloudPC through Remote desktop for accessing the client environment. It had a lot of connectivity and audio issues. The friction of opening and logging in to two Windows machines everyday and after every break is very high.</p>
<p>On top of this, The project I'm working on is a Ruby on Rails app, which requires linux environment. So I installed WSL inside the cloud windows PC and used that as the main dev machine. So it is three layers of virtualisation before your keypress appears on screen.</p>
<p>WSL is amazing except, for the part when it suddenly got corrupted and I had to redo all the setup again. VSCode and WSL worked great together. But the constant need of internet connectivity was a problem. The multiple levels of virtualisation means things can go wrong at any layer, and I had to spend time trying to fix that instead of working.</p>
<p>As a developer, I need a low friction machine to focus well. If the machine constantly disconnects or gets in the way, it is useless. When Microsoft wised up and released VSCode, Terminal, Powertoys and WSL, I thought they are on a redemption arc. But their decisions around AI, the general user experience of Windows 11, and mandating a Microsoft account to even login in to Windows made it clear: they are not changing anything, just getting worse.</p>
<h3 id="heading-why-not-linux"><strong>why not Linux?</strong></h3>
<p>Linux desktop is much better, except when you have to fight with bluetooth audio issues, device drivers, display server protocols and broken updates and PPAs. I used Ubuntu for a long time, Linux Mint and Cinnamon for sometime. I love the flexibility and absolute control we have over the machine but it is time consuming fight these minor annoyances, especially when you have a looming deadline. To be fair, it is almost 5-6 years since I used Linux on the desktop. I heard there are some great new players and things could be better now.</p>
<p>But Linux was not even an option in my current situation due to work restrictions. Some other time linux.</p>
<h3 id="heading-so-mac-it-is"><strong>So Mac it is</strong></h3>
<p>Due to the number of issues we had with the cloud PCs, the upper management decided to move to an actual laptop to everyone. We had a choice between Windows laptop and M4 macbooks. I'm a big advocate for Macbooks and MacOS ever since I got an M1 MBP at work before. They are beautiful, fast and no-nonsense machines that just work. Lots of Apple design choices are opinionated, and it is good when something is made well.</p>
<p>The quality of software we get for Windows/Linux often feels compared to MacOS. I don't know if it is the app store review process or the chance to earn more money from Mac users, the software there feels better. I don't know how to explain it, but it generally works better than windows/linux. The battery backup and the silent nature of the Apple silicon machines is something that no one can deny.</p>
<p>I know <a target="_blank" href="https://shkspr.mobi/blog/2020/04/things-i-cant-do-on-macos-which-i-can-do-on-ubuntu/">there are people</a> who don't agree about macOS. But I have had great experience with Macbooks than any other machines and our team decided to choose the same.</p>
<h3 id="heading-setting-up-the-mac"><strong>Setting up the mac</strong></h3>
<p>once I got the new machine, I began the process of setting it up from backup and my memory. I did have a <a target="_blank" href="https://github.com/shivenigma/dotfiles/">dotfiles repo</a> but it wasn't set up properly in my last work machine. I never noticed that the dotfiles weren't syncing to the repo until now. I lost around 2 years of configuration at my last work laptop, with no way to know. All I had was a basic setup with Zsh/Prezto in the backup, but that isn't complete. Also, I forgot a lot of stuff because I was spending time on Windows in the past year.</p>
<p>Naturally, it became a chance to evaluate the apps/tools I need and start fresh. Here are the things I use as of now: I will try and write about some of these tools and configurations as separate blog posts</p>
<h5 id="heading-ide"><strong>IDE</strong></h5>
<ul>
<li><p>Zed<br />  Starting with Zed as one of my IDEs. I couldn't try it before due to Windows unavailability. But they launched Windows version on the same day I switched to the mac, well done Zed.</p>
</li>
<li><p>VSCode<br />  I never was a fan of VSCode, I'm a hardcore Jetbrains guy. But I was using it for the past year and it is ok. Still, it never matches Jetbrains level of sophistication. Not using it anymore as I am getting used to Zed.</p>
</li>
<li><p>Cursor<br />  This is my main driver now unless I want to write code manually like a primitive human without AI assistance. I still do write code manually and continue trying to do it. But the world moves fast with AI tools and familiarity is necessary and Cursor is damn good.</p>
</li>
</ul>
<h5 id="heading-browser"><strong>Browser</strong></h5>
<ul>
<li><p>Google chrome - For all work related websites and stuff</p>
</li>
<li><p>Firefox - Personal use</p>
</li>
<li><p>Arc Browser - This used to be my default. What a fall, stopped using Arc as the company abandoned it and Atlassian acquired the browser company now.</p>
</li>
</ul>
<h5 id="heading-others"><strong>Others</strong></h5>
<ul>
<li><p>GNU Stow - I learned the lesson and installed GNU stow to manage dotfiles now. I considered Chezmoi, but it felt too complex for my needs. Stow works great so far.</p>
</li>
<li><p>Apple Music - Using it for over 3 years, again no-nonsense, no-podcast, no-intrusive AI/UI music player with HD audio on base package, they also pay the artists better than Spotify.</p>
</li>
<li><p>Readwise Reader - One stop for all my short form reading</p>
</li>
<li><p>Obsidian - For notes, Todos and archival</p>
</li>
<li><p>Raycast - Back to Raycast, this is something I missed so much on Windows</p>
</li>
<li><p><a target="_blank" href="https://github.com/MonitorControl/MonitorControl">Monitorcontrol</a> - Because Apple doesn't let your external monitor work the way you want</p>
</li>
<li><p>Aerospace - The best tiling window manager ever, period. This definitely demands its own blog post. I haven't used this before and found this recently</p>
</li>
<li><p>Wezterm - I found this terminal accidentally while I was looking for the difference between iTerm2 and <a target="_blank" href="https://alacritty.org/">Alacrity</a>. The configuration through Lua is very easy and the API/docs is amazing. I'm in love with this one now.</p>
</li>
</ul>
<p>The M4 Macbook is awesome. I don't have any complaint with it so far. Apart from having minimal data protection, the work laptop isn't restricted much. I'm a tinkerer and restricted machine gives me headaches. Working with IT support on a problem I know I can fix it by tinkering. But IT support won't try anything out of their SOP, so it feels great to have better control over the machine.</p>
<p>I will try and convert these into an uses page, if you have any app recommendation or want to discuss about one of the apps I use, feel free to send an email.</p>
]]></content:encoded></item><item><title><![CDATA[Life update, 2024 & 2025]]></title><description><![CDATA[Last year passed in a jiffy lot of changes happened in life and work. I used to write a yearly review for every year since 2020 but couldn’t write one for 2024. Me and everyone else at home fell sick since new year and took couple of weeks to recover...]]></description><link>https://vikky.dev/life-update-2024-2025</link><guid isPermaLink="true">https://vikky.dev/life-update-2024-2025</guid><category><![CDATA[life]]></category><category><![CDATA[job search]]></category><category><![CDATA[Career]]></category><category><![CDATA[goals]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Wed, 22 Jan 2025 08:58:55 GMT</pubDate><content:encoded><![CDATA[<p>Last year passed in a jiffy lot of changes happened in life and work. I used to write a yearly review for every year since 2020 but couldn’t write one for 2024. Me and everyone else at home fell sick since new year and took couple of weeks to recover, now it is too late for last year review anyway.</p>
<h3 id="heading-2024">2024</h3>
<p>In short, 2024 was good. I moved away from Angular into React and Node. I worked on a few projects based on NestJS and NextJS and also some legacy application based on CRA. I also worked with <a target="_blank" href="https://vikky.dev/thoughts-on-tailwind">Tailwind and loved it</a>. I read a handful of books and but watched more movies and series this year.</p>
<p>In the last couple of weeks of December, I did something with Python building a desktop PDF viewer that integrates with our web application. It was one of the looming unknows we had in that project. We considered paid solution but everything available was a subscription. Me and the UI team tried some web solutions but those weren’t satisfactory. The python team came up with some basic working version of it, I immediately realized that was it, but no one in our team has build desktop apps before.</p>
<p>Naturally, I was drawn to that problem and started with Python and Tkinter. Within 3 to 4 days, I was able to get the app working as a standalone app in Windows and mac and also finished the protocol registration so that web browser could invoke the desktop app. Normally it would’ve taken at least a few weeks for me to do it, but <a target="_blank" href="https://www.cursor.com/">Cursor</a> has been insanely helpful and let me finish it very quicker. Its been a while since I was excited and proud about something and 2024 ended on that high note.</p>
<h3 id="heading-2025">2025</h3>
<p>The plan for me to do in 2025 is to learn Cloud (AWS) and Golang. I also want to build at least two projects with PostgreSQL because I’ve been hearing wonderful things about it. I want to write more and consume less blog posts, but that is becoming increasingly difficult nowadays due to the wonderful RSS feeds I collected. :)</p>
<p>Another plan I have for this year is to build lot of useless, fun stuff. I learned programming only by reading docs, code and trying to build something and failing. As I gained more experience added to the stress of work projects, I stopped building the useless stuff. Also as someone who writes code full time, you gain the sense of a professional: You always see the waste of time, resources and the limitations before ever building something. I’m trying to shake that off and trying to be <a target="_blank" href="https://www.theguardian.com/lifeandstyle/2021/jan/07/the-joys-of-being-an-absolute-beginner-for-life">like a beginner</a>.</p>
<p>Currently, I’m brushing up on React fundamentals because I never actually spend time learning it except working on projects. I will be starting Go in the coming weeks and try to build some stuff and post the progress here.</p>
<h3 id="heading-work-update">Work update</h3>
<p>Perhaps, the biggest change happened to me in 2024 is that I left my job from Agira technologies on December 31st. I have mixed feeling about leaving that position after 7 long years of mutually beneficial employment. I had a lot of perks, freedom, good compensation, and decent amount of influence over the team. But I’ve also grown very comfortable there that I felt I have stopped growing altogether there.</p>
<p>I am currently open to work, looking for Fullstack developer roles. I am not limited to any tech stack, I have experience with Angular, React, Laravel, Node, Flutter, and some Rust. I’m preferably looking to get into product roles because I have only worked for software agencies so far. While that experience helped me to learn multiple tech stacks, I want to move over to product companies where what we do is not directly limited by the billable hours constraint. If you have an open role or want to refer, here is <a target="_blank" href="https://drive.google.com/file/d/1v1aK0uTlzlPCOFOvJ9SDhtA8poxZIdct/view?usp=drive_link">my resume</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Is blogging still worth it]]></title><description><![CDATA[I came across this interesting question on HN and decided to write my thoughts on this topic as a blog post to see if my views have changed in the future.
The question is there is AI generated SEO content everywhere, and there are platforms that prom...]]></description><link>https://vikky.dev/is-blogging-still-worth-it</link><guid isPermaLink="true">https://vikky.dev/is-blogging-still-worth-it</guid><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sun, 19 Jan 2025 15:06:45 GMT</pubDate><content:encoded><![CDATA[<p>I came across this <a target="_blank" href="https://news.ycombinator.com/item?id=42685534">interesting question on HN</a> and decided to write my thoughts on this topic as a blog post to see if my views have changed in the future.</p>
<p>The question is there is AI generated SEO content everywhere, and there are platforms that promote the engagement bait and demote everything else and an individual blogger writing on his own website may not reach any readership, connection at all in the flood of “Content”. This is a valid question and the concerns listed here are actually true.</p>
<p>I started blogging around 2010 in Tamil and later moved on to my blog somewhere in 2020 I think. I always thought it is important for developers to have their own blogs and websites to showcase to potential employers. I used to write only very serious (what I thought) posts and had a high bar to hit publish. I still have numerous outdated drafts because they didn’t make the cut.</p>
<p>I actually met people, landed a job, created few good friends through blogging. I used to use Google analytics after every post to see how readers behave. Truth to be told, I never had more than 3 digit readership for any posts. I used to follow the SEO playbook, cross post on other blogging platforms, share my links on social media, etc. At that time, writing a post is more of a chore that I must do than I want to do.</p>
<p>But after Elon bought twitter and ran a rail through all of the followers, previous playbooks to get better at Twitter and made it a bot army site, something snapped in me. I stopped caring about making this a bigger blog or to reach out to people, or to cross post to social media and other blog directories. I stopped using Google analytics as they made a change called V4 and making the tool extremely complicated to even understand the site and metrics.</p>
<p>Now this site is my online home. I write what I like to write about and whenever I can. I stopped trying to maintain a regular posting schedule. I stopped adding unrelated Unsplash images as cover to appease the readers. I don’t even look at the built in analytics provided in Hashnode for this blog. I just write to organize my thoughts or to rant about some incident. I sometimes write about random bugs I found and those have been helpful to get back when I face similar issues.</p>
<p>But overall, my view towards writing in online has changed as it is more of a personal activity than anything else. If someone else read it and liked it, that’s just a side effect. I still add this blog on my resume because some of them are technical content, but I’m not limited to write or live only as a developer online anymore.</p>
<p>It turns out, I’m not the only one that feels this way. After the Twitter fiasco, I’ve seen a lot of buzzing activity around personal blogs, and owning your writing. I found amazing sites and my RSS feed has become fat to a level that I can’t read them all even if I had all the time in the world.</p>
<p>There will always be corporations, people, sites that try to control what people see, read or hear with algorithms and agenda. There will always be a small group of people that doesn’t care about that noise and just try to live in their little corner of the internet. I now belong to that small group even though I don’t think I’m a good blogger. But that’s what blogging is about, I’m free to write the worst blog post I can think of and still could publish without needing for approval or validation from others.</p>
<p>After all the AI generated flood online, I seriously think that human written content will have higher value than ever. It is like the short story (I forgot the name) of <a target="_blank" href="https://en.wikipedia.org/wiki/Sujatha_\(writer\)">Sujatha</a> where woman are extinct and men uses robots designed as female companions, but every man yearns a connection and touch of a real woman. I forgot the rest of the story, but I feel we are in a very similar place. When you see something that’s not written by AI and not written for ulterior motive like reach, money, engagement, It feels great to read it.</p>
<p>So, is blogging still worth it? it depends on how you define worth. For me, the activity itself is worth it. I had something to say and I said it. Can you settle for the same thing? Even if you couldn’t, the AI generated, engagement-bait content can’t win in the long run. People will soon feel the brain rot and they will have to come back to human writing. Until then, keep writing in your little corner of the internet.</p>
]]></content:encoded></item><item><title><![CDATA[Thoughts on Tailwind]]></title><description><![CDATA[I’ve been through few busy weeks because I am leading the UI team on a new project at work where everything we use is a new tech stack for all of us. Somehow, project like these seem to find me attractive and land on my plate.
I don’t want to rant on...]]></description><link>https://vikky.dev/thoughts-on-tailwind</link><guid isPermaLink="true">https://vikky.dev/thoughts-on-tailwind</guid><category><![CDATA[tailwind]]></category><category><![CDATA[CSS]]></category><category><![CDATA[Next.js]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Tue, 19 Nov 2024 18:40:38 GMT</pubDate><content:encoded><![CDATA[<p>I’ve been through few busy weeks because I am leading the UI team on a new project at work where everything we use is a new tech stack for all of us. Somehow, project like these seem to find me attractive and land on my plate.</p>
<p>I don’t want to rant on how I ended up here, but in short I was an Angular developer who made few edits in one CRA based react app and suddenly was the lead developer in a NextJS/tailwind project.</p>
<p>We’re only doing the UI mockups so far and the team caught up quickly on some immediately needed parts of NextJS. It is not as hard or as bad as I thought it would be. But this project helped me get into one of the long time tech wish list. That is trying out <a target="_blank" href="https://tailwindcss.com">Tailwind</a>.</p>
<p>Though I’m not <a target="_blank" href="https://www.joshwcomeau.com">Josh Comeau</a>, I like CSS and enjoy working on UI conversions. I’m the kind of psycho that asks you about <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity">CSS specificity</a> calculations in an interview. So the idea of putting all the style definitions into HTML itself is a big anti pattern to me. But I’ve seen developers I admire say many great things about Tailwind and wanted to give it a try.</p>
<p>We’re using a Prime react theme in this project which is based on Tailwind. After using it for few weeks, I have to say that Tailwind makes much more sense once you actually build something with it.</p>
<p>My main concerns of making code unreadable and putting everything in one file violating the single responsibility are not very valid. IDEs can handle long lines and we can always wrap the code or break them into multiple lines.</p>
<p>The other concern about mixing up everything actually makes more sense. Since the styles are not global anymore, there is no worry of which class name convention you should use or how to nest and encapsulate the styles. I’m pretty confident that if I change something it will not break something else in the app.</p>
<p>It is like taking the cascading nature of CSS away and just giving us freedom to use CSS freely without worrying about breaking something else. Since React doesn’t define how you write your style, Tailwind is a perfect combination with it. There is literally very rare cases where you would want to write inline styles and I guess that’s ok if you know what you’re doing.</p>
<p>There are few catches of course:</p>
<ol>
<li><p>I can’t get few classes like max-w-* or truncate to work properly, I’m not entirely sure why. I just changed those into inline styles and added a todo as a stop-gap.</p>
</li>
<li><p>There are lot of classes, though I should read their docs well. Still feels like lot of classes to remember and cycle through.</p>
</li>
</ol>
<p>But overall I like tailwind, it makes working with css, responsiveness much easier than writing plain CSS. I would like to continue using it in upcoming projects as well.</p>
]]></content:encoded></item><item><title><![CDATA[Around the Web #1]]></title><description><![CDATA[I read a lot of blog posts through RSS and newsletters. Some of them are technical content related to my current job. But most of them are slightly outside of by circle of competence and an effort to make that circle big.
I've been sharing some of th...]]></description><link>https://vikky.dev/around-the-web-1</link><guid isPermaLink="true">https://vikky.dev/around-the-web-1</guid><category><![CDATA[curated]]></category><category><![CDATA[links]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sat, 19 Oct 2024 18:18:19 GMT</pubDate><content:encoded><![CDATA[<p>I read a lot of blog posts through RSS and newsletters. Some of them are technical content related to my current job. But most of them are slightly outside of by circle of competence and an effort to make that circle big.</p>
<p>I've been sharing some of those links in our office Teams(weird naming Microsoft, even for you) for a long time now. But I did not think of it as some form of curation when I started doing it. I just thought, this is good or this will be useful and shared it. Only a very few people in our Team actually notice and read those. Some of them mentioned that it was useful/interesting.</p>
<p>I always had a thought of sharing those links in the form of week notes in my web site. But I'm too lazy to organise a system for that and to keep a schedule. I recently read this <a target="_blank" href="https://manuelmoreale.com/https://manuelmoreale.com/creation-and-curationcreation-and-curation">blog post about curation</a> by Manu and I agree with him. In the age of AI generated content firehose, a human sharing a link to another website is a good filter to improve your signal to noise ratio. I decided that I should actually get around sharing the links.</p>
<p>I am planning to do this every two weeks, but my work and other hobbies often come in the way. From the next post, I'll also try to add my thoughts along with the link. Anyway, here is this week's links.</p>
<h2 id="heading-monitoring-amp-observability">Monitoring &amp; Observability</h2>
<ul>
<li><a target="_blank" href="https://zerodha.tech/blog/logging-at-zerodha/">Logging at Zerodha</a></li>
<li><a target="_blank" href="https://andydote.co.uk/2023/09/19/tracing-is-better/">Tracing: structured logging, but better in every way</a></li>
</ul>
<p>The above two links talks about setting up and maintaining logging and observability for distributed systems.</p>
<h2 id="heading-developer-productivity-with-ai">Developer Productivity with AI</h2>
<p>I've started using <a target="_blank" href="cursor.com">Cursor</a> as my main IDE for the last two weeks and moved away from IntelliJ completely. If you asked a week before if I'll be switching to an IDE other than Jetbrain's, I would have said no. But I've seen cursor doing great things and I just wanted to try it for few days.</p>
<p>If you're used to a tool for so long and want to try something new, the best way would be to switch cold turkey and using it for few weeks. That's what I did with cursor and it clicked. I don't want to go back to webstorm as of now.</p>
<p>I'm not pro AI I still think it is over hyped. I'm generally vary of tech trends like the Web3 circus. But Cursor is an exception, it makes experienced developers much more productive. Picking up a old project or working on a new tech is much easier with cursor. But if you're a Junior developer <a target="_blank" href="https://vikky.dev/ai-tools">Stop using ChatGPT and other AI tools
</a>.</p>
<ul>
<li><a target="_blank" href="https://anyblockers.com/posts/how-i-became-3x-more-productive-in-30-minutes-with-cursor">How I became 3x more productive in 30 minutes with Cursor</a></li>
<li><a target="_blank" href="https://www.youtube.com/watch?si=6EV3UDobFZrU5e8a&amp;v=yk9lXobJ95E&amp;feature=youtu.be">Cursor AI Tutorial for Beginners (Video)</a></li>
</ul>
<h2 id="heading-cloud">Cloud</h2>
<ul>
<li><a target="_blank" href="https://www.lastweekinaws.com/blog/the-duckbill-guide-to-aws-reserved-instances/">The Duckbill Guide to AWS Reserved Instances</a></li>
</ul>
<h2 id="heading-interesting">Interesting</h2>
<p>The following links doesn't fall under any specific category, but are just the stuff that I found interesting.</p>
<ul>
<li><a target="_blank" href="https://coryd.dev/posts/2024/tracking-the-music-i-listen-to">Tracking the music I listen to</a></li>
<li><a target="_blank" href="https://pluralistic.net/2024/10/03/mother-may-i/#minmax">Prime's enshittified advertising</a> (P.S: I stopped Amazon prime subscription even before reading this)</li>
<li><a target="_blank" href="https://sean.voisen.org/marginalia/in-praise-of-randomness-james-bridle">In praise of randomness</a></li>
</ul>
<p>That's about it. I'm trying to keep this as low effort as possible because that's the only way I'll keep doing it. Let me know what you think about these links or this format.</p>
]]></content:encoded></item><item><title><![CDATA[My tmux configuration]]></title><description><![CDATA[I’ve been using tmux from a very long time from my Ubuntu days. Today I just read Neil’s notes about his tmux experiment, I wanted to share this file with him and chat about tmux and his current terminal experimentations. But looks like he wants to b...]]></description><link>https://vikky.dev/my-tmux-configuration</link><guid isPermaLink="true">https://vikky.dev/my-tmux-configuration</guid><category><![CDATA[tmux]]></category><category><![CDATA[tools]]></category><category><![CDATA[uses]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Mon, 07 Oct 2024 19:41:00 GMT</pubDate><content:encoded><![CDATA[<p>I’ve been using tmux from a very long time from my Ubuntu days. Today I just read <a target="_blank" href="https://neilzone.co.uk/2024/10/tmux-my-notes-so-far/">Neil’s notes</a> about his tmux experiment, I wanted to share this file with him and chat about tmux and his current terminal experimentations. But looks like he wants to be a hard man to find, there is no contact info available on his website. So I thought why not just post my config file on the internet.</p>
<p>If you haven’t heard about tmux, it is a terminal program that allows complex terminal usage patterns. You can run multiple panes, windows, programs within one actual terminal window in your OS. Their <a target="_blank" href="https://github.com/tmux/tmux/wiki/Getting-Started">home page</a> might be able to put it in better words than me.</p>
<p>I actually stared using it for working inside ssh instances on flaky internet. It is practically a non-existent problem for me today, we’re all doing cloud. But there were times when I used to ssh into the server directly and edit files there or set things up manually. If your connection dropped, you have to start again. Tmux will let you to reattach yourself again to resume whatever you were doing.</p>
<p>Today I’m using it more of a multi pane, window terminal and not much for the SSH thing. It is a great tool if you started using it and setup a correct configuration for yourself. I attached my current config below, it usually resides at <code>~/.tmux.conf</code>.</p>
<iframe style="width:100%;height:1192px" src="https://emgithub.com/iframe.html?target=https%3A%2F%2Fgithub.com%2Fshivenigma%2Fdotfiles%2Fblob%2Fmaster%2Ftmux%2F.tmux.conf&amp;style=default&amp;type=code&amp;showBorder=on&amp;showLineNumbers=on&amp;showFileMeta=on&amp;showFullPath=on&amp;showCopy=on"></iframe>

<p>I like the setup for switching the panes with vim style key bindings and the pane splitting with the keys which makes it easier to reason about the split. Another great feature is you can just use <code>prefix+z</code> to just make one pane take fullscreen temporarily if you want to focus on that alone while rest of the panes keep running in the background.</p>
<p>This is simple config but gives me a lot of mileage and this stayed mostly unchanged after initial setup. Give it a try yourself and see if tmux helps your mode of working as well.</p>
]]></content:encoded></item><item><title><![CDATA[Attended GDG Devfest Chennai today]]></title><description><![CDATA[It’s been a while since I attended any conferences or meetups in Chennai. I was part of lots of groups before COVID and was attending regular meetups. After the lockdown, some older groups died down and lot of newer groups started doing it online.
I ...]]></description><link>https://vikky.dev/attended-gdg-devfest-chennai-today</link><guid isPermaLink="true">https://vikky.dev/attended-gdg-devfest-chennai-today</guid><category><![CDATA[devfest]]></category><category><![CDATA[conference]]></category><category><![CDATA[chennai]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sat, 05 Oct 2024 18:56:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1728154572299/79f126a6-a88d-4994-ac89-6da3b185417f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It’s been a while since I attended any conferences or meetups in Chennai. I was part of lots of groups before COVID and was attending regular meetups. After the lockdown, some older groups died down and lot of newer groups started doing it online.</p>
<p>I don’t really care about attending a webinar/ online meetup. I believe there are very few things that you can’t learn online on your own that you can learn in an online meetup. The main part of tech events for me is where I pretend to be socialising and end up having slightly awkward conversations with the speakers and co participants (/s).</p>
<p>So I was slightly excited to join the GDG devfest in person and few of our older ChennaiJS group members also joined the conference. The venue choice is actually good, I liked the IIT research park and their infra.</p>
<p>The conference itself was pretty good, not without some usual logistical issues. I was naive enough to just walk into the conference without any plan on what talks to attend to. I had a friend who planned everything and attended almost all of his planned talks. So that’s something I should aspire to in upcoming conferences.</p>
<p>Another interesting thing I found in this conference is that women participants were significantly higher than usual. It felt like 50%, but the organisers told it is around 36% and it is high because of some efforts from <a target="_blank" href="https://x.com/wtmchennai">WomenTechMakers Chennai</a> community. If you’re a woman working in tech, join them. They were also looking for volunteers to help them with organising.</p>
<p>Following the theme of this year, most of the talks were about AI and Google products one way or other. I don’t care about AI, especially the LLMs unless I’m paid to care about them. But I still feel that this is more AI focused conference and AI is not the only tech area we should focus. But I do understand the commercial limitations a conference group, especially the ones backed by corporates might have.</p>
<p>There were three talks I liked, first one is Goroutines by <a target="_blank" href="https://www.linkedin.com/in/xprilion/">Anubhav Singh</a>. It is about Goroutines and Channels for parallel programming where he mixed some sort of AI. I haven’t worked in Go, but I heard about routines. What made this talk interesting to me is the style of the speaker. His session was one of the most energetic one because he kept asking lot of questions and tried to include the audience into the talk too. He also had a cool live demo which users vote and change AI’s decisions. I do wish that he did more deep dive into coroutines than include AI, but still I liked this talk.</p>
<p>Second talk is about starting as an independent consultant by <a target="_blank" href="https://www.bhavaniravi.com/">Bhavani Ravi</a> in which she almost convinced me to quit my job and start my own thing. But I’m too anxious to stay calm without the promise of a pay check every month. But he gave a framework that anyone aspiring to be a freelancer could follow and iterate to make it work for them.</p>
<p>Final one is about some rollback strategy in distributed systems for individual customer data with the help of Opentelemetry logs by Gnanasuriyan from Freshworks. This talk actually had some interesting ideas to restore customer data/specific data to a previous point and a library to help us with it. But I couldn’t find any links to this talk or the library.</p>
<p>The lunch and snacks distribution could’ve been done better, it was a mess. This is India, you’re going to have a crowd problem at everything and should anticipate it while planning. I know the organisers and the vendors tried their best, but this is something they should work better. There were huge lines for food and it took very long to actually start lunch and I missed first 10-15 minutes talk.</p>
<p>But I’m glad I attended this event because I met few old buddies and few new people from Chennai. I’m hoping there will be future events and the tech scene revives itself and match the same energy as Bangalore.</p>
]]></content:encoded></item><item><title><![CDATA[Angular and environment files]]></title><description><![CDATA[I'm coming back to Angular to learn the new stuff happened in Angular 18 and thought of building something small with the Readwise Reader API. The API gives us an API key and we should not share it with others. Let’s use environment files I thought, ...]]></description><link>https://vikky.dev/angular-and-environment-files</link><guid isPermaLink="true">https://vikky.dev/angular-and-environment-files</guid><category><![CDATA[Angular]]></category><category><![CDATA[dotenv]]></category><category><![CDATA[Environment variables]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Thu, 03 Oct 2024 18:27:01 GMT</pubDate><content:encoded><![CDATA[<p>I'm coming back to Angular to learn the new stuff happened in Angular 18 and thought of building something small with the <a target="_blank" href="https://readwise.io/reader_api">Readwise Reader API</a>. The API gives us an API key and we should not share it with others. Let’s use environment files I thought, but that was proven to be complicated than I thought.</p>
<p>The last time I set up an Angular app from scratch must be around 4 years back, having worked on React and Nest.JS recently, I thought we could put this in the .env file and Angular environment file can read from the process.env variable. Turns out, I was wrong. Angular doesn’t support .env files by default, their logic is that whatever stuff you put there is going to end up in the source code once it is built.</p>
<p>But I don’t care about that, all I want is for the API keys to not end up in the git repository. But there is no easier way for us to use the .env file in Angular without relying on 3rd party modules or ejecting from the ng cli into a custom webpack configuration.</p>
<h3 id="heading-git-to-the-rescue">Git to the rescue</h3>
<p>I wanted to do this within the core of Angular, so I thought why not just put the environment files themselves into <code>.gitignore</code>. To begin this, let’s generate the environment files by running the following command</p>
<pre><code class="lang-bash">ng generate environments
</code></pre>
<p>This creates the environments folder with two files in it, we are free to generate multiple environments files here. IIRC, this environment directory and files are used to be generated as a default in older versions of Angular, but I like the current setup where it is optional but still easy to create if needed.</p>
<p>Once these files are generated, I just added them into .gitignore and put the API key directly in the env files. It solved the immediate issue at hand, but there is another problem. If you want to share this code with another developer, they don’t know what are the actual env variables they must create.</p>
<h3 id="heading-environment-interface">Environment Interface</h3>
<p>To overcome the issue of non-sharable environments, I just created an interface called <code>IEnvironment</code>, and changed the .gitignore to add this file into VCS while ignoring the other environment files.</p>
<pre><code class="lang-typescript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">interface</span> IEnvironment {
  apiKey: <span class="hljs-built_in">string</span>;
}
</code></pre>
<p>This interface should contain all the env variables you have in you application and it shared to others by git. They must add values and create env files based on this interface.</p>
<p>This, of course is far from perfect setup. We previously used some sort of node script to replace the environment file values at run time. But this felt much easier than that.</p>
<p>But I do wish the comfort of just adding the .env file and forgetting about it, I don’t really know why Angular did not implement the gold standard for env files called <code>dotenv</code>. Let me know if you know the reason.</p>
]]></content:encoded></item><item><title><![CDATA[Catching up with Angular releases]]></title><description><![CDATA[The tech world moves fast and while you’re looking at something else, you miss what’s happening under your feet. That’s what happened to me in regards to Angular’s recent features.
The last project and the last time I worked in Angular is about 6 mon...]]></description><link>https://vikky.dev/catching-up-with-angular-releases</link><guid isPermaLink="true">https://vikky.dev/catching-up-with-angular-releases</guid><category><![CDATA[Angular]]></category><category><![CDATA[Angular 18 features]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Sun, 22 Sep 2024 15:24:52 GMT</pubDate><content:encoded><![CDATA[<p>The tech world moves fast and while you’re looking at something else, you miss what’s happening under your feet. That’s what happened to me in regards to Angular’s recent features.</p>
<p>The last project and the last time I worked in Angular is about 6 months ago and the project was Angular 14. The team was downsized and I had to move to other assignments, so I never had the chance to work on the upgrade path or on understanding the new features released since 14 like standalone components, new control flow syntax and signals.</p>
<p>But I’ve been working in Angular so long that people expect me to be to be on top of every change. My rule of thumb is don’t look deeply into what’s not currently relevant. I was learning React and NestJS along with MongoDB in the meantime.</p>
<p>I got along very well with NestJS, but I will need few more projects to be able to independently work with react. MongoDB is quite simple as well. I wrote schema and decent db design with the help of a teammate. But I couldn’t still wrap my head around how to write the lookup and pipeline in Mongo for querying data from different collections. I know, Mongo is not the best for this kind of work. But we can’t completely live without some data relationship.</p>
<p>Back to Angular, the updates reminds of the past of AngularJS to Angular 2 with some breaking changes and some fundamentals changes like removing modules altogether, rewriting control flow syntax, etc. This is the exact reason why react caught on instead of Angular like wildfire.</p>
<p>The only thing I understood on basic level was the standalone components and removal of modules. The reasoning behind the change as I understood is that they want to,</p>
<ol>
<li><p>Simplify learning</p>
</li>
<li><p>Simplify development</p>
</li>
<li><p>Lazy loading made easy</p>
</li>
</ol>
<p>I don’t know how #1 and #2 are true, because now a developer has to learn both the old way and new way, not every business prioritise angular upgrades. The simplified development is not a strong reason either. I believe modules are not complicated to wrap your head around, you just think of them as some sort of index file. Whatever Angular team thought they are simplifying here, was not very complicated to begin with.</p>
<p>Now #3 could be interesting depends on what exactly happened, but lazy loading was easy even with modules as well. So the whole standalone component thing feels like unwanted optimisation to my eyes. But I don’t understand the whole story yet, just getting started with this catch up.</p>
<p>But I don’t want Angular to give us options, option of choosing between modules and standalone. Option to choose between structural directives and control flow syntax. Stay opinionated. What makes react very complex is that they have multiple options for every thing and then change the right way for something on every major release. We don’t want Angular to go down that path.</p>
<p>The nice thing about Angular is they provide automated upgrades/migrations for any breaking change. So all the above upgrades could also be done with few terminal commands. I’m going to try and build some small application with Angular 18 and see how it goes. Will share with you about the progress.</p>
]]></content:encoded></item><item><title><![CDATA[Combatting phone addiction and reducing screen time]]></title><description><![CDATA[My family politely pointed out (more like forcefully made me acknowledge) that I was using my phone too much. It is true, I'm not using the phone only when I'm driving, sleeping or working on a very difficult task at the office.
The screen time stats...]]></description><link>https://vikky.dev/combatting-phone-addiction-and-reducing-screen-time</link><guid isPermaLink="true">https://vikky.dev/combatting-phone-addiction-and-reducing-screen-time</guid><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Thu, 22 Aug 2024 15:28:59 GMT</pubDate><content:encoded><![CDATA[<p>My family politely pointed out (more like forcefully made me acknowledge) that I was using my phone too much. It is true, I'm not using the phone only when I'm driving, sleeping or working on a very difficult task at the office.</p>
<p>The screen time stats gave me a shocking revelation: I was using my phone a lot. No shit, Sherlock.</p>
<p>I mostly read books in Kindle or articles from my Readwise library. Even though this is somewhat productive usage, the numbers still do not indicate a healthy relationship with my phone. Instagram, Facebook (yes, I'm still using it) takes 3rd and 4th place of more used apps.</p>
<p>Despite my overuse, I still don't pick up calls and am hard to reach by phone. Text me, you'll get an instant reply. Lots of people told me that I'm the only one replying within minutes, no matter the time. I don't know if being a perpetually connected person is doing any good to me.</p>
<p>I had tried to cut back my screen time before but always came back. This time, I decided to make a better attempt. The main things I did were:</p>
<ol>
<li><p>Unsubscribed from lot of Subreddits that I was a member of.</p>
</li>
<li><p>Enabled privacy restrictions for Safari and disabled Facebook, Instagram, twitter, and reddit through websites.</p>
</li>
<li><p>Made the phone grayscale by applying a grayscale colour filter in accessibility settings.</p>
</li>
</ol>
<p>Even after taking these extreme measures, I still found myself picking up my phone frequently and temporarily disabling steps 2 and 3. Now I understand how substance addicts might feel. Insta and Facebook are really hard to resist and avoid.</p>
<p>#1 worked, Reddit is now boring and only lists software engineering related repeated questions. However, Instagram and Facebook are extremely addictive. I found myself accessing them from my laptop. I also installed/uninstalled the Instagram app 4 times within this week.</p>
<p>Since Mr.Zuckerberg is very persuasive, I deactivated my Facebook and Instagram accounts. This should stop me from accessing them easily from desktop as well. I do have some friends and writers on Facebook that I want to keep tabs on. But it is a small price to pay and missing out these things will not matter in the long run.</p>
<p>I don't know how long I can keep this up, but it's worth giving a try. I do not want to deactivate twitter though. Because it is mostly about software development and is not as addictive as it used to be.</p>
<p>Now, it is just Readwise Reader and Kindle. If Readwise started working on Kindle or just make it easier to send articles, I can reduce my screen time even further. Let's see if I can reduce my screen time permanently in this attempt.</p>
]]></content:encoded></item><item><title><![CDATA[Finally, I graduated BCA]]></title><description><![CDATA[If you know me or read my previous post about education you know I don't have a bachelor's degree and somehow managed to stay employed in India. Not having a degree or dropping out of college is still a taboo and mostly associated with incompetence i...]]></description><link>https://vikky.dev/finally-i-graduated-bca</link><guid isPermaLink="true">https://vikky.dev/finally-i-graduated-bca</guid><category><![CDATA[education]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Wed, 21 Aug 2024 14:50:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/8CqDvPuo_kI/upload/4d2f98cc41b8ac1a64f2e721ae9cc54d.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you know me or read my previous <a target="_blank" href="https://vikky.dev/college-degree">post about education</a> you know I don't have a bachelor's degree and somehow managed to stay employed in India. Not having a degree or dropping out of college is still a taboo and mostly associated with incompetence in lots of Indian IT companies.</p>
<p>I somehow managed to get a job and stay in the job for 10 years. But there are lot of instances where I felt discriminated due to my educational status in multiple places. I've heard the light fade from recruiter's voice and also have seen people's face light up in surprise when they learn that I don't have a degree.</p>
<p>Finally I managed to get a BCA degree from the University of Madras through distance education. I passed out on 2018 and cleared my arrears in 2020, but just got my degree certificates today after multiple visits. I thought it wouldn't make any difference to me, but I do feel very happy after getting this degree. Now I'm not limited to pursue a lot of other education, post graduation, etc.</p>
<p>It is interesting that I did not feel this happiness when I actually passed the degree 4 years ago. The actual process of getting a degree is done but getting a paper from the university acknowledging that is what made me happy. A good chance to ponder about the philosophy of human feelings, but I take a pass here.</p>
<p>As much as I'm happy, this is not going to make any significant difference in my future job prospects. Indian companies still differentiate between a full time degree, distance education, and online programme. Most job descriptions mandate a 15 years of full-time education as a requirement. The companies that would hire me now would hire me even without this degree. So nothing's lost and nothing has gained.</p>
<p>Nevertheless, I feel this is a personal improvement and I am thinking of pursuing further education either in computer science or in corporate or criminal law. It is just a thought now, let's see where it takes me.</p>
]]></content:encoded></item><item><title><![CDATA[Stop using ChatGPT and other AI tools]]></title><description><![CDATA[The title of course is a clickbait. So if you expected some great Anti-AI, dystopian terminator kind of post. Stop right here and consider reading something else. AI tools are very useful. But I've seen a trend of juniors who just got into their job ...]]></description><link>https://vikky.dev/ai-tools</link><guid isPermaLink="true">https://vikky.dev/ai-tools</guid><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[Developer]]></category><category><![CDATA[software development]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Tue, 23 Jul 2024 15:43:45 GMT</pubDate><content:encoded><![CDATA[<p>The title of course is a clickbait. So if you expected some great Anti-AI, dystopian terminator kind of post. Stop right here and consider reading something else. AI tools are very useful. But I've seen a trend of juniors who just got into their job using it, a lot. I'm just trying to argue a case with them to learn on their own and not to rely on the LLMs.</p>
<p>It is okay to use AI tools to do the mundane, repetitive work. But don't keep that as your daily driver or as your magical genie that makes your work 10x easier and 10x faster.</p>
<ul>
<li><p>I've been reviewing code clearly written with the help of AI</p>
</li>
<li><p>I'm getting emails from team mates that is literally written by AI</p>
</li>
</ul>
<p>Let's take software development as a career path. When you begin your career, you must learn the basics. Most of you would agree that our college education is very disconnected from the expectations of job market. Some of us know that most of our colleges aren't doing a very good job of teaching even in the outdated syllabus.</p>
<p>So most of our first chance at any actual, real world learning happens at your first job. There you have to go through a cycle of doubts, confusion, frustration, self doubt and then success. This incremental learning loop make sure that you get your fundamentals right and you develop an approach at problem solving and analytical thinking.</p>
<p>What I feel is that this loops is broken by the shortcut of the seemingly intelligent AI chatbots. If I ask someone to send me an email, they ask chatGPT for content, when I ask them why, they say their English isn't that good. I was very poor in English as well until my second job, where I <s>was forced</s> had to chat and discuss with a UK client on daily basis. After a few weeks, the fear of English went away and I keep getting better at it the more I write, read and make mistakes.</p>
<p>Imagine if I never had the chance to make mistakes and just kept using chatgpt, my English skills may not have improved (<em>Some pedantic people can still find lot of issues in my English, but shhhh go away now, I'm making a point</em>).I'm picking English as an example, but put any skill there.</p>
<p>I now see junior devs copy and paste code directly from chatGPT, business analysts taking document queues from there. But if you keep using these tools to hide your quirks and imperfections, how are you going to improve and how are you going to receive feedback?</p>
<p>How a developer can develop the very critical problem solving, debugging and breaking down issues if he turns to chatGPT at the sign of every issue?</p>
<h2 id="heading-am-i-using-ai">Am I using AI?</h2>
<p>I'm using <a target="_blank" href="http://claude.ai">Claude</a> almost every day, It is better that other chatbots IMO. But I only use it as a search engine. Not as a problem solver, not as my content writer, not as my debugging assistant.</p>
<p>My main use case is,</p>
<ol>
<li><p>Ask it to compare few products/services</p>
</li>
<li><p>Ask it to analyse and state pros/cons of different designs</p>
</li>
<li><p>Ask it to format/improve/optimise code, then double check it manually</p>
</li>
<li><p>Ask it to explain some basic overview of tech topics I want to explore more</p>
</li>
<li><p>Sometimes Using AI to create abstract wallpapers for phones</p>
</li>
</ol>
<p>I used to the below things, but now stopped doing those.</p>
<ol>
<li><p>Using it to write code and copy paste</p>
</li>
<li><p>Using it to fine tune my blog posts or emails</p>
</li>
<li><p>Using it as prompt for blog ideas</p>
</li>
<li><p>Using it within my IDE</p>
</li>
</ol>
<p>This helps me to do some mundane stuff faster, but I always make sure it doesn't hallucinate by cross checking. Because I've already wasted 2 hours when chatGPT suggested some non-existent syntax for Elasticsearch.</p>
<h2 id="heading-do-the-hard-stuff">Do the hard stuff</h2>
<p>As a junior dev, it always pays off learning the hard stuff. I suggest people to learn javascript instead of react. CSS instead of tailwind. Similarly, learn on your own. Find out the weird corners of the internet, find out people who worked on similar stuff and similar issues, find out old memes about the current stuff you're working on.</p>
<p>You're missing out a lot if you use AI as your daily driver. They are not smart, they are just statistical models fooling you into thinking that they can answer everything. This is not to discredit the novelty, they are good and they'll keep getting better. But there are <a target="_blank" href="https://seths.blog/2024/04/chatgpt-is-dumber-than-it-looks/">equally</a> <a target="_blank" href="https://feedpress.me/link/23795/16608497/of-course-ai-is-extractive-everything-is-lately">good</a> <a target="_blank" href="https://aftermath.site/the-internet-is-full-of-ai-dogshit">reasons</a> to <a target="_blank" href="https://indieseek.xyz/2024/05/25/is-it-time-to-start-blocking-googlebot-and-all-ai-bots-in-robots-txt/">not to use AI</a> tools, but I'm not asking you think the big picture here.</p>
<p>Just stop using AI for your own learning and sake. Don't do something with AI that you can't do on your own yet.</p>
]]></content:encoded></item><item><title><![CDATA[Being Agile]]></title><description><![CDATA[I'm leading a small project at work now and it is almost over. I'm just documenting my experience and what's on my mind about the project now.
One day, our QA guy asked why I'm not conducting a daily standup at a fixed time. I told him I'm not planni...]]></description><link>https://vikky.dev/being-agile</link><guid isPermaLink="true">https://vikky.dev/being-agile</guid><category><![CDATA[agile]]></category><category><![CDATA[leadership]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Mon, 22 Jul 2024 15:46:32 GMT</pubDate><content:encoded><![CDATA[<p>I'm leading a small project at work now and it is almost over. I'm just documenting my experience and what's on my mind about the project now.</p>
<p>One day, our QA guy asked why I'm not conducting a daily standup at a fixed time. I told him I'm not planning to conduct daily standup and will stick to separate discussions with the team members and a weekly check of working software.</p>
<p>I understand that daily standup meetings are very useful for remote teams and for stakeholders to understand the progress, blockers that are happening. It is essential when you're actually agile in everything.</p>
<p>But this is a project with fixed scope/budget and there is not much room for change. I did not see the value for conducting a standup as the only stakeholder in a fixed scope project. The team is sitting together in an office and they're free to discuss within them, or with me whenever they feel the need to.</p>
<p>But I like running sprints with clear definition and delivery expectation. So we settled on bi-weekly sprint. We start the sprint with a kick-off and a rough outline of the features we want to develop. There are unknowns at the time of beginning but we'll get to those eventually and finish things mostly by the end of the sprint.</p>
<p>Some members of the team are new to NodeJS and NestJS, me leading the project is new to React, NodeJS, NestJS, and MongoDB. I had to read through lot of MongoDb docs on first week to learn how to create better schema (mongoose) design for Mongo and how not to let my traditional SQL mindset define things in Mongo.</p>
<p>We struggled a lot for a first two sprints and often was working till 2 AM. But it was a good learning experience. I am now able to debug and write React, NestJS code. Create schemas for MongoDb and write complex match and lookup statements with documentation lookups.</p>
<p>We finalised on the database structure within first few days of the sprint even for features on the last sprint. I like to keep the database stuff planned in advance and try to avoid changes in database and keep changes only at code level.</p>
<p>IMO, if the database is defined, the rest of the work becomes easier as CRUD request towards each collections and juniors have easier time wrapping their head around features. If the database wasn't fixed at first, I couldn't see that if we could've had the same mileage.</p>
<h2 id="heading-the-fun-part">The fun part</h2>
<p>Since most of the team are juniors, lot of decisions were on my plate about the design of the app. Sometimes they are mundane layout and UI stuff and sometimes they are interesting architectural problems to think about. I wanted to list few of the questions and the decisions we made.</p>
<h3 id="heading-how-to-identify-unique-search-criteria-and-how-to-skip-paginating-the-result-set">How to identify unique search criteria and how to skip paginating the result set?</h3>
<p>We had a credit system that reduces on each search, we need to identify unique search requests. When the user come back to the first page from the 3rd page of the results, we should not reduce their search count again.</p>
<p>I decided to create a hash of the search query and store it in Redis with an expiration. On every new search we check if the hash exists there and compare it with the current criteria, if the hash matches, then we don't reduce the credit count as it is an existing search. The hash gets overwritten if the search results created a different hash and a credit will be reduced.</p>
<h3 id="heading-queue-vs-event-emitters-for-some-asynchronous-activities">Queue vs Event emitters for some asynchronous activities</h3>
<p>We used event emitters for some of the activities like sending email or notifications to the user. I was skeptical of this as a server crash could make us lose data. But I do not want to add complexity to the simple app by adding a big queue system as this app is going to run in a single instance as a monolith.</p>
<p>I discussed the event emitters in our chennaiJS group and had some profound dialogue with Claude and finally decided it is better to go for a queue for some of the payment related notifications for better resilience. We settled with BullMQ, which uses redis. This is excellent because I'm not adding anything additional then what's already in the project but still got proper queue system.</p>
<h2 id="heading-mundane-stuf">Mundane stuf</h2>
<p>There are still client demos that I have to give after each sprint, there were changes that we accommodated within the fixed scope. We used to go over some small items in great details and change things that are done already. But in my experience, this is unavoidable in any scale of project.</p>
<p>There are some implementation details that you can not anticipate or plan for at the planning stage, no matter how thorough you were. There were some choices the clients could not visualise at the design stage and they often realise it once they see the actual implementation. This, exactly is the reason why Agile is created in the first place, right?</p>
<p>All good as long as we don't exceed the cost or the timeline by a large margin.</p>
<hr />
<p>I think this is Agile for the constraints and the project's specific needs. The only metric I used was working software. I know most scrum masters and project managers might say this is not Agile and we did not follow the scrum framework properly. But that's alright.</p>
<p>In my opinion, Agile is all about context and being able to adapt, not following a specification to the letter. I'm pretty sure this method would have failed in a different project with different set of constraints, there is no silver bullet or a blanket method that works for any context.</p>
]]></content:encoded></item><item><title><![CDATA[Today is a great day]]></title><description><![CDATA[I've been doing a lot of stuff at work in this week but nothing felt significant as it today. There are two things that made me really happy today.
Fixed a long standing issue in social login with LinkedIn
In my current project, we implemented social...]]></description><link>https://vikky.dev/today-is-a-great-day</link><guid isPermaLink="true">https://vikky.dev/today-is-a-great-day</guid><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Fri, 19 Jul 2024 18:31:56 GMT</pubDate><content:encoded><![CDATA[<p>I've been doing a lot of stuff at work in this week but nothing felt significant as it today. There are two things that made me really happy today.</p>
<h3 id="heading-fixed-a-long-standing-issue-in-social-login-with-linkedin">Fixed a long standing issue in social login with LinkedIn</h3>
<p>In my current project, we implemented social login with google and LinkedIn. Google worked well from the beginning, but LinkedIn failed most of the times and only worked randomly. We're facing this issue for almost 2 months and luckily our app isn't released to users yet. We had the liberty to put a lid on the issue until now.</p>
<p>Today, I managed find time to pair with the team member who worked on the social login. We followed the social login flow from LinkedIn docs and various blogs and he did not make any mistakes. We were able to get the access_token successfully every time from the <code>https://www.linkedin.com/oauth/v2/accessToken</code>.</p>
<p>The problem happened at the next stage when we tried to get the user profile by calling <a target="_blank" href="https://api.linkedin.com/v2/userinfo"><code>https://api.linkedin.com/v2/userinfo</code></a> with the access token. The request failed randomly and we couldn't figured out why.</p>
<p>Both of us looked for a solution for this in multiple places with no luck. But I found this <a target="_blank" href="https://dev.to/fardinabir/fetching-linkedin-user-data-and-sign-in-with-linkedin-using-openid-connect-3kf">blog post</a> which covers the same flow we used. But I read an interesting thing in this post, if we add openId in the scope of an auth call, LinkedIn will return a JWT token which contains all the info we need. So we removed our code to call user info and used the data from the decoded JWT.</p>
<p>After this change, the social login is working well now. It is a huge relief since we are very close to going live and this issue was a mystery for so long.</p>
<h3 id="heading-created-my-first-meaningful-pr-to-our-react-app">Created my first meaningful PR to our react app</h3>
<p>I am an Angular developer and never worked with react before. But ever since I started to lead this project, I've been doing some minor tweaks, bug fixes here and there in our react code without understanding much of react.</p>
<p>My usual method is to search for the page URL, go to the relevant component, search for the nearby text or element in code, then find out the function being called or adding some more components in that place.</p>
<p>Today I created a PR that involves some significant understanding of how the whole app works and how things are connected. I wanted to add something into the global state with redux and reading it in different part of the app, then doing some more work with the data.</p>
<p>I'm really surprised after I finished the feature because I never really learned anything about react except for frustrated or confused tweet from React developers. It got me thinking, if you're good enough in one framework or language, you can pick something else up with relative ease.</p>
<p>Any developer who is worth his salt should be able to figure out other frameworks within few hours and can get good at it within 3-4 months. Companies usually filter out resumes/candidates based on what's on their resume. But the map is not the territory and a good developer is almost always language agnostic.</p>
<h3 id="heading-other-updates">Other updates</h3>
<p>This poor job market makes me scared shit, so I finally got out of my comfort zone and started a course on MongoDB. I'm already working on NestJS and MongoDB and wrote out match and lookups that are complex with the help of Claude.</p>
<p>But I wanted to get better at querying mongo to the level of SQL. I can write basic SQL queries without internet, but every time I see some match and lookups, I flinch away in embarrassment, that I'm not smart enough to understand this. That's why I started on the course I purchased years ago. Let's see how it goes in a few weeks.</p>
]]></content:encoded></item><item><title><![CDATA[A rant about Indian driving and car culture]]></title><description><![CDATA[It is almost 1 AM and I'm exhausted. I should be sleeping but few things keep me up. Apart from the constant pressure about work, the other frustration I have is, how the whole country is unfit for driving any size of vehicle at all and how easier it...]]></description><link>https://vikky.dev/a-rant-about-indian-driving-and-car-culture</link><guid isPermaLink="true">https://vikky.dev/a-rant-about-indian-driving-and-car-culture</guid><category><![CDATA[rant]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Tue, 21 May 2024 19:23:23 GMT</pubDate><content:encoded><![CDATA[<p>It is almost 1 AM and I'm exhausted. I should be sleeping but few things keep me up. Apart from the constant pressure about work, the other frustration I have is, how the whole country is unfit for driving any size of vehicle at all and how easier it is getting a driving license and buying a vehicle.</p>
<p>I was on a trip to attend a friend's marriage and faced a lot of usual stuff on Indian roads such as bus cutting me down very closely, people jumping at the vehicle at random places and the usual driving on the wrong side like their father own the road.</p>
<p>I usually stay frustrated for a few hours and then it'll wear down. But this week, I keep on hearing news after news which makes it really hard to let go.</p>
<p>First thing is <a target="_blank" href="https://timesofindia.indiatimes.com/city/pune/photos-outrage-over-techies-death-in-pune-porsche-taycan-accident/photostory/110292638.cms?picid=110292684">a 17 year old rich <s>dickhead</s> teenager drove his Porsche Taycan at over 150 kmph and rammed it into a software engineer couple on their bike</a>, the teenager was under the influence of alcohol, the couple (despite heavily regretting what happened to them) weren't wearing even basic protection gear like a helmet. The car was not registered under anyone's name and was running on a temporary registration.</p>
<p>If you're from any of the saner countries that doesn't drive to kill, you can instantly feel, "Wow, that's a whole lot of wrong things within one paragraph", right? Not for Indians. In fact, most of the above would not shock Indians because that's the norm here.</p>
<p>The court has granted bail to the accused considering he is minor. I agree minors needs to be tried as juveniles not as adults. But why on earth a minor can get their hands on a sports car, was served drinks on a bar, and was allowed to even get to the steering wheel under influence?</p>
<p>The father, the bar owner have been arrested after a lot of public outcry on social media. But this case has enough loopholes that this 17yo <s>shithead</s> accused can drive his Porsche through and get out safe.</p>
<p>The pressure and attempts to protest organised through social media put pressure on politicians and cops to at least make some arrests. But case may not hold it together in the trial and witness may be bought, bent or... But what worries me more than this is attitude of some self proclaimed car guys and teenagers on Instagram who were spitting golden statements like below.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716318641710/13040161-dc9d-4e64-9f4d-82fe68c9041f.jpeg" alt class="image--center mx-auto" /></p>
<p>Few people attacked the car in outrage and these guys are supporting the rich and the people who are angry are attacking the car because they are jealous.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716318700962/9732392d-c705-4e91-8287-27f75f298c49.jpeg" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716318712929/e9c4696d-e52f-48fe-889e-12d39bf6ffce.jpeg" alt class="image--center mx-auto" /></p>
<p>These are all just samples, you can find millions of comments like this. These comments are showing only one thing, how insensitive an average Indian is about fellow road user and a fellow Indian. All they care about is "his beautiful car".</p>
<p>Don't believe this is just internet attitude which usually brings out the worst in people. In real life too, Indians are very uncivilised in road manners. They want to go fast but never get anywhere. They jump red lights, drive on opposite track/lane, drive on pedestrian crossing continuously, cutting others off, taking incorrect turn lines on street, driving on high beam always, honking at people who stop at signals, and the list goes on.</p>
<p>These people are educated, almost upper middle class who were living normal life otherwise. But when it comes to road manners, they somehow thinks that the road rules are not for them and they are optional. They also believe having a bigger vehicle, costlier vehicle or faster vehicle gives you instant supremacy over other road users. Just watch Fortuner, Creta, Thar guys driving on youtube and the shit they pull everyday.</p>
<p>To add more to it, the government issued a statement that the process to getting license is simplified and people can get their license from driving institutions themselves instead of government. The licenses are handed out like candies, this is going to make things worse, like a lot.</p>
<p>I can write almost 10-20 posts about how bad it is, but I choose to stop here. End of rant.</p>
]]></content:encoded></item><item><title><![CDATA[Making important decisions emotionally]]></title><description><![CDATA[We've been warned by the wise not to make any important decisions when we're in the middle of serious emotion like angry or sad. But I think there is a flip side to it as well. We can't always make decisions by logic alone when there are uncertainty ...]]></description><link>https://vikky.dev/making-important-decisions-emotionally</link><guid isPermaLink="true">https://vikky.dev/making-important-decisions-emotionally</guid><category><![CDATA[rant]]></category><category><![CDATA[#emotional intelligence]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Fri, 17 May 2024 15:32:50 GMT</pubDate><content:encoded><![CDATA[<p>We've been warned by the wise not to make any important decisions when we're in the middle of serious emotion like angry or sad. But I think there is a flip side to it as well. We can't always make decisions by logic alone when there are uncertainty involved.</p>
<p>Purely basing your decisions on logic may lead you to be comfortably numb to any of the minor stuff happening around you. If you're stuck in a job that pays enough but doesn't lead you anywhere, the most logical decision is to stay on the job as long as possible in your comfort zone.</p>
<p>If you're in a relationship that is abusive, you'll eventually will break it up. But if you're in a relationship where it is just ok and not great for you, you're most likely to be stuck on the relationship.</p>
<p>In this case, a sudden surge of emotions such as anger could be the only way to find your way out. The emotion will push you to trust your instinct and find the courage to take the first step towards the change.</p>
<p>Why am I writing this? I'm very angry today and about to make a very important decision due to that. My logical brain screams at me to not to do anything right now, but I know that it is the last straw that broke the camel's back and I should do something about it.</p>
]]></content:encoded></item><item><title><![CDATA[The lows are good, the highs are amazing]]></title><description><![CDATA[This is a continuation on my last post about motorcycle. After selling my last bike, I was looking for an upgrade. I had some options such as the Bajaj Dominar400, Honda CB300R, and the Duke390. Here is some details on the test ride and the final dec...]]></description><link>https://vikky.dev/the-lows-are-good-the-highs-are-amazing</link><guid isPermaLink="true">https://vikky.dev/the-lows-are-good-the-highs-are-amazing</guid><category><![CDATA[Motorcycle]]></category><category><![CDATA[Bikes]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Mon, 08 Apr 2024 18:40:08 GMT</pubDate><content:encoded><![CDATA[<p>This is a continuation on my <a target="_blank" href="https://vikky.dev/87016-kilometres">last post about motorcycle</a>. After selling my last bike, I was looking for an upgrade. I had some options such as the Bajaj Dominar400, Honda CB300R, and the Duke390. Here is some details on the test ride and the final decision.</p>
<h4 id="heading-bajaj-dominar-400">Bajaj Dominar 400</h4>
<p>This one was my top item on the wish list, Bajaj did a great job, making the 300-400cc market alive by launching this great bike. I especially <a target="_blank" href="https://www.youtube.com/watch?v=ydfysshSNTI">love their ads</a> where they mocked Royal Enfield. These ads and the amazing headlights on the Dominar were my main reasons to fall in love with this bike ever before trying it.</p>
<p>But when I test rode it, I was disappointed. The sales and showroom experience is not what you would expect from a company selling a premium product. The bike was decent, but the gear shifts are not smooth, they were jerky. It was vibrating in all the places across the whole RPM range. When I came back to my Fz-S after the test ride, it felt like riding a cycle because of the lack of vibrations.</p>
<p>I asked the sales guy if vibrations would reduce after break-in or is it a problem with this particular bike. His answer was it is what it is, the bike will vibrate like this. I know vibrations are inevitable in a single cylinder vehicle. But Dominar felt like it was not refined at all and was a huge disappointment. In their defense, I don't know if the test ride vehicle was problematic or the model itself is. In the end I decided not to go with a Dominar400.</p>
<h4 id="heading-yamaha-mt-03">Yamaha MT-03</h4>
<p>When Yamaha said they're bringing this to Indian market, I was excited. I put off my upgrade plan for a while because I seriously considered this. They took their sweet time to launch it.</p>
<p>I called the showroom and asked if there is a test ride available, their answer was there is no test ride vehicle available. I can book one, it will be delivered in a month and then I can ride it.</p>
<p>The pricing of this is so high, and Yamaha shouldn't seriously consider people would be booking a vehicle close to 5 Lakhs INR without even offering a test ride. Get off your high horse and read the market Yamaha. It is not like the dead market a few years ago and you're already late to the party of the 300-400CC segment.</p>
<h4 id="heading-kawasaki-ninja-300">Kawasaki Ninja 300</h4>
<p>I wanted to have a twin cylinder for its refined and smooth riding. Ninja was the only one available in the market, except RE's twins. I don't like RE bikes and hate their fan base even more. So Ninja was my only available choice. But it is a fully faired sports bike which needs an aggressive posture. I don't like that posture because it is uncomfortable in long rides. So I removed this from my list.</p>
<h4 id="heading-honda-cb300r">Honda CB300r</h4>
<p>This was one of the best bikes in this segment. Honda did an excellent job and got a lot of things right. This is a criminally underrated motorcycle. I test rode this bike, the power to weight ratio is very close to the Duke390. The bike is very light and had amazing pull even on the lower gears and speeds. There were zero vibrations and the gear shifts are buttery smooth. All other manufacturers should look into how Honda creates gearboxes and reduces vibrations.</p>
<p>But as per usual Honda India behavior they don't understand their target market. The bike is a great for a single rider as a city bike. But we Indians use bikes as main way of commute and a comfortable pillion seat is mandatory. The CB300r has a very small seat that even for a short guy like me was barely enough with a pillion. If I had a backpack, the pillion couldn't sit comfortably.</p>
<p>Another problem is the fuel tank is 9 liters only. The fuel stations in Chennai are crowded most of the time as they're giving away free petrol. So I hate fuel station visits, this tank is not going to help me in long rides either as I have to stop for fuel every 270-300 km.</p>
<p>The headlight is a retro style abomination which is very poor and unusable. Indian roads are bad with full of surprises. A good headlight throw is must even for city rides. We can make do with Auxiliary lights, but those are not legally permitted. The police in some states will be waiting with their ticket books open.</p>
<p>These 3 issues made me not to go for the CB300r. I really regret not being able to choose this as the engine refinement and the smoothness is unmatched, even the 390 failed here. This was great but not practical for my use cases. But if you're in the market, test ride this. In my opinion, The CB300r sets the benchmark on refinement, fuel efficiency, and lack of vibrations.</p>
<h3 id="heading-duke-390">Duke 390</h3>
<p>All of the above lead me to the one I wanted to purchase the least. Only because, I was afraid of its maddening power. It is too much for Indian roads and dangerous in the wrong hands. Also KTM successfully destroyed their brand image in India by selling their 200s in an affordable price to teenagers. They earned the name of <a target="_blank" href="https://www.urbandictionary.com/define.php?term=chapri">Chapri</a> bikes. So anyone who owns a KTM is labelled as chapri by default. Their oddly looking orange color doesn't help with the image either. Their current 2024 Duke390 has a variant that has orange seat. Really KTM?</p>
<p>Despite all that, they make great, powerful machines. I test rode the Duke390 and was blown away. The bike is nimble, powerful, rev happy and has great brakes. The low end torque is good, but the bike has lot of vibrations and noisy on the low end. The sweet spot starts in the 3rd gear and above 5k rpm. For the whole test ride I was feeling like <a target="_blank" href="https://www.youtube.com/watch?v=7uvTBCrIQvI">Ken Miles test riding the GT40</a>, and opening the throttle even more.</p>
<p>After that test ride, I instantly fell in love with that bike and decided the little downsides such as city traffic heat, the chapri image are manageable. Luckily, they have a Blue variant that looks much more matured and less flashy on the road. I opted for the blue one in the end.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1712599873801/de1fba8d-e3db-40a2-8e15-e9277433d0c2.jpeg" alt class="image--center mx-auto" /></p>
<p>After almost a month, I got my bike delivered. I enjoy this bike so much that I finished riding the first 1000kms within 6 days and gave the bike for first service. The heat and the vibrations seems to have reduced after the first service. The fuel efficiency is getting better now as well.</p>
<p>In a nutshell, this is the best of what a single cylinder engine could achieve. The bike does heat up a lot in bumper to bumper traffic and lacks the sudden power on the lower RPM range. But once you find a free road and wide open the throttle, it is like nothing else I've experienced before.</p>
<p>The bike is fast and it is very quick reaching that speed. Above 5k RPM, it feels like a beast and encourages us to open the throttle even more. If the calmness of the CB300r is great, this raw rev happiness is something else entirely. I've been emptying my wallet refueling and riding at nights, sacrificing my sleep only because this bike is too good that I want to keep on riding it.</p>
<p>I am equally afraid of this bike as much as I'm enjoying it because it requires constant attention and control. I've had couple of close calls from car drivers cutting me, but I'm not sure if is entirely my fault, I wasn't really that fast on both cases. I'm trying my best not to add to the stereotype of KTM riders and to stay calm and smooth on the busy roads.</p>
<p>Like Uncle Ben said:</p>
<blockquote>
<p>With great power, comes great responsibility.</p>
</blockquote>
]]></content:encoded></item><item><title><![CDATA[87,016 kilometres]]></title><description><![CDATA[I love motorcycles. I've been riding them since 2007. I started with the Kawasaki's K-Bajaj and then Suzuki's max-100R. At that time, motorcycles were still rare and a luxury to most rural people in India. Often heads turn when you arrive on a motorc...]]></description><link>https://vikky.dev/87016-kilometres</link><guid isPermaLink="true">https://vikky.dev/87016-kilometres</guid><category><![CDATA[personal]]></category><category><![CDATA[life]]></category><category><![CDATA[Motorcycle]]></category><category><![CDATA[Travel]]></category><dc:creator><![CDATA[Vignesh M]]></dc:creator><pubDate>Thu, 28 Mar 2024 16:57:05 GMT</pubDate><content:encoded><![CDATA[<p>I love motorcycles. I've been riding them since 2007. I started with the Kawasaki's K-Bajaj and then Suzuki's max-100R. At that time, motorcycles were still rare and a luxury to most rural people in India. Often heads turn when you arrive on a motorcycle. We call motorcycles as bikes and I will use the word Bike for the rest of the post.</p>
<p>Fast forward to 2016, when I moved to Chennai for work, I never wanted to buy a bike here. I was trying to use public transport and the traffic condition here was intimidating to the village boy. But soon it became evident that I'll have to trade a lot of time waiting for public transport. I was doing a degree along with a full time job and time is what I can't afford.</p>
<p>I was a noob rider for the first 7 to 8 years with the 100cc bikes. I did not know much about riding or motorcycles. I like to go fast whenever there is an open road, that's what I loved about motorcycles. I decided to get a bike and researched about 150CC motorcycles and went with the Yamaha FZ-S V2. The bike costed 98k on road and along with loan I paid 1,18,000 Indian rupees. The other popular options were TVS Apache and Bajaj's pulsar. I did not know at that time that I'm making a great choice. Because this bike never failed me at anytime and taught me a lot of stuff I know about riding and bikes.</p>
<p>This picture is from 2017 when I got this bike. This bike made me realise how liberating it is to own a personal vehicle. This bike helped me in career, relationships and in a lot of other areas. I explored lot of areas in Chennai and did night rides almost everyday.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1711643672140/5f72c8eb-03e4-4803-a3b6-38bfba68596e.jpeg" alt class="image--center mx-auto" /></p>
<p>I started long distance riding on this bike as well. Slowly learned about the importance of gears and motorcycle safety and started gearing up. During the lift of COVID lockdown, I made numerous trips between my native and Chennai on the highway. That highway riding experience created a situational awareness which made highway driving very easy for me when I got the car. I started driving very easily on the highway even before I'm comfortable in the slow city traffic.</p>
<p>The best and the longest trip I done on this bike was a 750km trip within 17 hours on mixed weather. I started early morning and in the afternoon got stuck in one of the heaviest rainfalls of that year in Chennai. it was flooded everywhere and I can't get to my residence in Chennai even can't find any place to eat. I had to go back to my native again on the same day in a downpour.</p>
<p>It was a great inconvenience and butt hurting both figuratively and literally. But if you're geared up properly, riding in the rain is one of the best experiences on a two wheeler. It is dangerous but very enjoyable. If you never rode long distances in rain, try it and you'll love it.</p>
<p>For the past two years, I felt I've reached the limit with this bike and almost always pushing it to redline when I get the chance. I constantly keep it in 6K-8K RPMs where it redlines around 8.5k-9k. I also wanted to start touring even longer distances where a 150CC can't cruise for a long time. So I planned for an upgrade. The original plan was to ride this to 1 lakh (100k) kilometres and I'm pretty close.</p>
<p>I sold this bike to a friend when the odo clocked at 87,016 kms. This was the last ride I did on this bike and the last view was amazing.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1711644348027/6ec22e42-5ecb-48ee-8703-b148c3a8e859.jpeg" alt class="image--center mx-auto" /></p>
<p>The bike is still in great condition. The engine is smooth and still responds as it was on day 1. I love how the Japanese makes great machines that are very reliable. Thank you Yamaha for this great bike.</p>
<p>Thank you FZ for teaching me so much stuff and being a very reliable companion, Good bye.</p>
]]></content:encoded></item></channel></rss>