<?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[Console.Log(Everything Tech)]]></title><description><![CDATA[A DevOps engineer's playground: Exploring the latest in cloud-native tools, automation, and infrastructure. Reviews, hands-on tutorials, and lessons learned from the tech I try.]]></description><link>https://anushasridharan.in</link><image><url>https://cdn.hashnode.com/uploads/logos/60ba0f214f018f10d6234b4c/1af6e5e6-02f1-469a-a856-9250372ec1d4.png</url><title>Console.Log(Everything Tech)</title><link>https://anushasridharan.in</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 22:05:43 GMT</lastBuildDate><atom:link href="https://anushasridharan.in/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[From Concept to Code]]></title><description><![CDATA[Building apps used to mean spending weeks on boilerplate, setting up databases, and wrestling with CSS. But recently, I’ve been experimenting a lot more with Lovable!
Instead of getting bogged down in]]></description><link>https://anushasridharan.in/from-concept-to-code</link><guid isPermaLink="true">https://anushasridharan.in/from-concept-to-code</guid><category><![CDATA[webdev]]></category><category><![CDATA[lovable]]></category><category><![CDATA[Build In Public]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sun, 01 Mar 2026 03:05:15 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/60ba0f214f018f10d6234b4c/25770df1-75c0-40da-b2bd-b0b315facb50.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Building apps used to mean spending weeks on boilerplate, setting up databases, and wrestling with CSS. But recently, I’ve been experimenting a lot more with <strong>Lovable</strong>!</p>
<p>Instead of getting bogged down in the "how," I’ve been focusing on the "what." In this post, I want to share 8 unique projects I’ve built recently ranging from sustainability tools to retro gaming consoles.</p>
<h3>1. 🌍 Digital Carbon Calculator</h3>
<p><strong>The Goal:</strong> To help users understand the environmental impact of their digital life.</p>
<p><strong>Function:</strong> This app analyzes your digital habits: streaming, browsing, storage and calculates your estimated carbon footprint. It provides actionable tips to help you reduce your "e-waste" and live a more sustainable digital lifestyle.</p>
<p>🔗 <a href="https://digital-footprint-compass.lovable.app/">Check out Digital Carbon Calculator</a></p>
<h3>2. 📖 Book Trek</h3>
<p><strong>The Goal:</strong> An interactive "choose-your-own-adventure" story engine.</p>
<p><strong>Function:</strong> Book Trek isn't just a reader; it's a path-seeker. Users enter a premise, and the app generates a branching narrative where your choices determine the outcome. It’s a showcase of how AI can drive interactive storytelling.</p>
<p>🔗 <a href="https://story-path-seeker.lovable.app/">Check out Book Trek</a></p>
<h3>3. ⚡ Pokédex (Animated)</h3>
<p><strong>The Goal:</strong> A nostalgic yet modern take on the classic Pokémon encyclopedia.</p>
<p><strong>Function:</strong> I wanted to create a Pokédex that felt alive. This version features smooth animations, real-time data fetching, and a "wow" factor in the UI. It’s a perfect example of how Lovable handles complex UI components and external API integrations.</p>
<p>🔗 <a href="https://animate-poke-dex-wow.lovable.app/">Check out Pokédex</a></p>
<h3>4. 💸 Expense Tracker</h3>
<p><strong>The Goal:</strong> To turn boring financial tracking into visual insights.</p>
<p><strong>Function:</strong> This is a clean, intuitive dashboard for managing personal finances. It allows users to log expenses, categorize spending, and view "void" insights—helping you see exactly where your money is disappearing so you can take control.</p>
<p>🔗 <a href="https://expense-insight-void.lovable.app/">Check out Expense Tracker</a></p>
<h3>5. 🥠 Thought Cookies</h3>
<p><strong>The Goal:</strong> A digital "Fortune Cookie" for daily inspiration and journaling.</p>
<p><strong>Function:</strong> A minimalist personal blogging and reflection tool. You can save your daily random thoughts, and the app features a "Fortune Cookie" randomizer that picks a random thought from your past to inspire you today.</p>
<p>🔗 <a href="https://thought-cookie-creations.lovable.app/">Check out Thought Cookies</a></p>
<h3>6. 🎡 Emotion Wheel</h3>
<p><strong>The Goal:</strong> A mental health tool to help identify and resolve complex feelings.</p>
<p><strong>Function:</strong> Based on the "Emotion Wheel" concept, this app helps users narrow down vague feelings into specific emotions. It provides a visual, interactive way to check in with yourself and find "resolutions" or coping strategies for how you're feeling.</p>
<p>🔗 <a href="https://emo-resolver.lovable.app/">Check out Emotion Wheel</a></p>
<h3>7. 🕹️ Retro Verse Console</h3>
<p><strong>The Goal:</strong> A love letter to the 8-bit and 16-bit gaming eras.</p>
<p><strong>Function:</strong> This app acts as a hub for the "Retro Verse." It features a console-inspired UI where users can explore retro-style aesthetics, information about classic games, and perhaps even some mini-games. It’s all about that neon-pixel vibe.</p>
<p>🔗 <a href="https://retro-console-verse.lovable.app/">Check out Retro Verse Console</a></p>
<h3>8. 📚 TBR Shelf Quest</h3>
<p><strong>The Goal:</strong> To gamify your "To-Be-Read" book pile.</p>
<p><strong>Function:</strong> Every reader has a mountain of unread books. TBR Shelf Quest turns your reading list into a "quest." You can track your progress, set goals, and visually organize your virtual shelf to stay motivated to finish your next great read.</p>
<p>🔗 <a href="https://tbr-shelf-quest.lovable.app/">Check out TBR Shelf Quest</a></p>
<hr />
<h3>What I Learned</h3>
<p>The most amazing part of building these was the speed of iteration. Using Lovable allowed me to jump from a simple prompt to a working React + Supabase application in record time. Whether it was handling the logic for the <strong>Expense Tracker</strong> or the animations for the <strong>Pokédex</strong>, the AI acted as a true pair programmer.</p>
<p><strong>Which of these is your favorite?</strong> I’d love to hear your thoughts in the comments! If you’re a builder, I highly recommend giving Lovable a try for your next MVP.</p>
]]></content:encoded></item><item><title><![CDATA[Discover Code Weaknesses Through Polyglot Execution Engine | Cert-X-GEN]]></title><description><![CDATA[Modern Security
Modern security scanning has evolved significantly beyond the limitations of static templates. In today's complex digital landscape, effective vulnerability detection often demands the]]></description><link>https://anushasridharan.in/discover-code-weaknesses-through-polyglot-execution-engine-cert-x-gen</link><guid isPermaLink="true">https://anushasridharan.in/discover-code-weaknesses-through-polyglot-execution-engine-cert-x-gen</guid><category><![CDATA[Security]]></category><category><![CDATA[securityawareness]]></category><category><![CDATA[vulnerability]]></category><category><![CDATA[security testing ]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sat, 07 Feb 2026 10:22:27 GMT</pubDate><enclosure url="https://cloudmate-test.s3.us-east-1.amazonaws.com/uploads/covers/60ba0f214f018f10d6234b4c/ef08011e-3fff-4eb0-a5e0-145a64fdebfb.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Modern Security</h3>
<p>Modern security scanning has evolved significantly beyond the limitations of static templates. In today's complex digital landscape, effective vulnerability detection often demands the use of real programming logic to accurately identify and address potential threats. This process involves a deep level of protocol-level control, enabling security professionals to interact with and analyse data streams in a more sophisticated manner.</p>
<p>Additionally, it requires advanced processing capabilities to handle large volumes of information efficiently and to extract meaningful insights from it.The ability to reuse existing scripts is crucial, as it allows for the leveraging of previously developed solutions and methodologies, thereby enhancing the efficiency and effectiveness of the scanning process. Despite these advanced requirements, many security scanners still rely heavily on YAML-only abstractions, which can be restrictive and insufficient for addressing the dynamic and multifaceted nature of modern security challenges. These scanners often force all operations into a YAML format, limiting the flexibility and depth of analysis that can be achieved, and potentially leaving systems vulnerable to emerging threats.</p>
<h3>About CERT-X-GEN</h3>
<p>CERT-X-GEN stands out as a unique type of security scanner, offering a fresh approach to vulnerability detection. Unlike traditional scanners that rely heavily on static configurations, CERT-X-GEN functions as a <strong>polyglot security execution engine</strong>. This means it treats vulnerability detection as a coding task rather than a mere configuration setup.</p>
<p>With CERT-X-GEN, you can write detection logic using the programming language that best suits the specific problem at hand. This flexibility allows for more precise and effective threat identification. The engine itself takes care of the complex tasks of orchestration, ensuring that all components work together seamlessly. It also manages sandboxing, providing a secure environment for testing and execution, and handles the output, delivering clear and actionable results. This comprehensive approach not only enhances the accuracy of vulnerability detection but also empowers security professionals to leverage their coding skills to tackle complex security challenges.</p>
<h3>Highlights</h3>
<ul>
<li><p>A <strong>language-agnostic runtime</strong> for vulnerability detection logic, which allows security professionals to write detection scripts in any programming language they are comfortable with. This flexibility ensures that the most effective language can be used for each specific security task, enhancing the precision and adaptability of the detection process.</p>
<ul>
<li><p><strong>The Engine:</strong> Built in Rust for performance and safety.</p>
</li>
<li><p><strong>The Templates:</strong> Written in Python, Go, Rust, C, or even Shell scripts.</p>
</li>
<li><p><strong>The Orchestration:</strong> It handles the "boring" parts—sandboxing, target management, and unified output (JSON/SARIF)—so you can focus on the exploit logic.</p>
</li>
</ul>
</li>
<li><p>A <strong>unified execution layer</strong> for security checks across 12 languages, providing a consistent and streamlined approach to executing security scripts. This feature ensures that regardless of the language used, all scripts are executed in a standardized manner, reducing the potential for errors and improving the reliability of the security checks.</p>
</li>
<li><p>A <strong>bridge</strong> between research scripts and production scanners, enabling seamless integration of cutting-edge research into practical, real-world applications. This connection allows for the rapid deployment of new security findings into production environments, ensuring that systems are protected against the latest threats.</p>
</li>
<li><p>A scanner <strong>designed for CI, automation, and agentic systems</strong>, which means it is optimized for integration into continuous integration pipelines and automated security workflows. This design facilitates the incorporation of security checks into the development process, promoting a proactive approach to security and reducing the time and effort required to maintain secure systems.</p>
</li>
</ul>
<h3>Try It Yourself</h3>
<p>To explore and experiment with this powerful tool yourself, you can visit their <a href="https://github.com/Bugb-Technologies/cert-x-gen">GitHub repository</a>, where you will find the complete source code along with detailed documentation to guide you through the setup process. They also offer a <a href="https://github.com/Bugb-Technologies/cert-x-gen-templates">template library</a> that provides a variety of pre-built templates. These templates can help you quickly get started by offering ready-made solutions that you can customize to fit your specific needs. By utilising these resources, you can gain a deeper understanding of how the tool operates and how it can be integrated into your own projects to enhance security measures effectively.<br />If you find this project useful for your security workflow, please show your support by leaving a <strong>star</strong> on GitHub! ⭐</p>
]]></content:encoded></item><item><title><![CDATA[My Experience at the New Relic x AWS Gameday]]></title><description><![CDATA[I had the exciting opportunity to participate in New Relic’s AWS Gameday on the 18th of June, 2025. This event was a thrilling and fast-paced competition that gathered a diverse group of individuals, including tech enthusiasts, cloud engineers, and m...]]></description><link>https://anushasridharan.in/my-experience-at-the-new-relic-x-aws-gameday</link><guid isPermaLink="true">https://anushasridharan.in/my-experience-at-the-new-relic-x-aws-gameday</guid><category><![CDATA[new relic]]></category><category><![CDATA[newrelic]]></category><category><![CDATA[Game day]]></category><category><![CDATA[AWS]]></category><category><![CDATA[team collaboration]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Wed, 18 Jun 2025 19:13:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1750273874468/1416f490-4f80-4a9a-badd-480a1f1b8b79.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had the exciting opportunity to participate in <strong>New Relic’s AWS Gameday</strong> on the 18th of June, 2025. This event was a thrilling and fast-paced competition that gathered a diverse group of individuals, including tech enthusiasts, cloud engineers, and monitoring fanatics. Participants came from various backgrounds and levels of expertise, all eager to test their skills in a challenging environment. The event was designed to simulate real-time operations, providing a hands-on experience using the New Relic observability platform in conjunction with AWS infrastructure. Throughout the day, we engaged in a series of complex scenarios that required quick thinking, strategic planning, and effective collaboration. This immersive experience not only tested our technical abilities but also fostered a sense of community and learning among participants, making it a memorable and enriching experience for everyone involved.</p>
<h3 id="heading-challenges">Challenges</h3>
<ul>
<li><p>Identify the vulnerability of the OS with the help of New Relic’s Vulnerability Management: <a target="_blank" href="https://one.newrelic.com/vulnerability-management">https://one.newrelic.com/vulnerability-management</a></p>
</li>
<li><p>Create Alert Condition for AJAX Response Time</p>
</li>
<li><p>Optimise Database queries to reduce latency issues</p>
</li>
<li><p>Fix TypeErrors across pages with the error of the Uniflix App</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750273713652/42a37eea-e441-4551-8e80-f5b8a0bb1fd2.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-the-power-of-teamwork-and-humor">The Power of Teamwork (and Humor)</h3>
<p>While we didn’t end up among the top scorers on the leaderboard, we <em>did</em> win a different kind of award — <strong>Best Team Name</strong>!</p>
<p>More than the points, though, what made this Gameday unforgettable was the collaboration, quick thinking, and learnings shared along the way. It was a reminder that solving complex problems is just as much about communication and creativity as it is about technical prowess.</p>
<h3 id="heading-key-learnings">Key Learnings</h3>
<p>Here are a few gems I walked away with:</p>
<ul>
<li><p><strong>New Relic is an incredibly powerful ally</strong> when troubleshooting complex environments. The platform’s observability tools helped us go from blind guesswork to informed decisions.</p>
</li>
<li><p><strong>Team dynamics matter.</strong> Splitting tasks effectively, asking the right questions, and staying calm under pressure made a huge difference.</p>
</li>
<li><p><strong>Learning through play is powerful.</strong> Gameday offered a pressure-free space to try, fail, and learn — all in a simulated but realistic environment.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[StrimziCon 2025 - VIRTUAL]]></title><description><![CDATA[I had the wonderful opportunity to attend StrimziCon on the 4th of June, 2025. StrimziCon is a conference dedicated to the Strimzi project, which focuses on running Apache Kafka on Kubernetes giving the forum for developers, DevOps engineers, and sol...]]></description><link>https://anushasridharan.in/strimzicon-2025-virtual</link><guid isPermaLink="true">https://anushasridharan.in/strimzicon-2025-virtual</guid><category><![CDATA[strimzicon]]></category><category><![CDATA[kafka]]></category><category><![CDATA[Strimzi]]></category><category><![CDATA[conference sessions]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Thu, 05 Jun 2025 02:48:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749091594164/50204d71-2454-4cb5-b348-7bc64ae4be07.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had the wonderful opportunity to attend StrimziCon on the 4th of June, 2025. StrimziCon is a conference dedicated to the Strimzi project, which focuses on running Apache Kafka on Kubernetes giving the forum for developers, DevOps engineers, and solution architects to learn more about Strimzi and event streaming.</p>
<p>It started off with Keynote address, current project status, improvements, and inviting contributors who are interested to bring in the features they would love to see Strimzi have.</p>
<p>Each session had a 10 minutes coffee break in between and a question to reflect on, giving the attendees the time to interact and get to know their journey with Strimzi so far.</p>
<h3 id="heading-phased-upgrades-of-strimzi-managed-kafka-fleets-thomas-cooper-red-hat"><strong>Phased upgrades of Strimzi managed Kafka fleets (Thomas Cooper @ Red Hat)</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1749041467793/28f61750-79c5-43d8-90e8-c19160d03c4e.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p><strong>Day 2 Operations of Managing a Large Fleet of Kafka Clusters</strong><br />  Managing a large fleet of Kafka clusters involves a variety of complex tasks that go beyond initial deployment. These tasks include monitoring cluster health, ensuring data integrity, and maintaining optimal performance. Day 2 operations require a strategic approach to handle the ongoing management and scaling of these clusters efficiently.</p>
</li>
<li><p><strong>Things to Watch Out For</strong><br />  When managing Kafka clusters, there are several critical factors to keep in mind. These include monitoring resource usage to prevent bottlenecks, ensuring data replication to avoid data loss, and keeping an eye on network latency to maintain smooth data flow. Additionally, it's important to regularly check for any security vulnerabilities and apply patches as needed to protect the clusters from potential threats.</p>
</li>
<li><p><strong>How to Do the Upgrades Better: A Phased Process</strong><br />  Upgrading Kafka clusters can be a daunting task, but a phased upgrade process can help mitigate risks and ensure a smooth transition. This involves planning the upgrade in stages, starting with non-critical components to test the process. Once the initial upgrades are successful, gradually move to more critical parts of the system. Throughout the process, it's essential to have a rollback plan in place in case any issues arise, and to communicate clearly with all stakeholders to minimize disruptions.</p>
</li>
</ul>
<p><strong>Github</strong>: <a target="_blank" href="https://github.com/tomncooper/strimzi-phased-upgrade">https://github.com/tomncooper/strimzi-phased-upgrade</a></p>
<h3 id="heading-stretching-strimzi-exploring-multi-cluster-kafka-for-high-availability-aswin-a-ibm"><strong>Stretching Strimzi: Exploring Multi-Cluster Kafka for High Availability (Aswin A @ IBM)</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1749043866125/06f02eb6-7a17-443e-be8c-0ff46cbbd5f0.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-strimzi-amp-opentelemetry-building-end-to-end-observability-for-kafka-on-kubernetes-neel-shah-middleware"><strong>Strimzi &amp; OpenTelemetry: Building End-to-End Observability for Kafka on Kubernetes (Neel Shah @</strong> <strong>Middleware)</strong></h3>
<ul>
<li>Integrating Strimzi with OpenTelemetry is a crucial step towards enhancing observability within your Kafka on Kubernetes setup. This integration allows for comprehensive monitoring and tracing of your Kafka clusters, providing deep insights into their performance and behavior. By leveraging OpenTelemetry, you can collect detailed metrics and traces that help in identifying bottlenecks, understanding latency issues, and diagnosing errors more effectively. This integration not only aids in real-time monitoring but also supports historical analysis, enabling you to track trends and patterns over time. As a result, you can make informed decisions to optimize your Kafka deployment, ensuring high availability and reliability. Furthermore, this setup facilitates proactive troubleshooting, allowing you to address potential issues before they impact your system's performance. Overall, integrating Strimzi with OpenTelemetry significantly improves your ability to maintain a robust and efficient Kafka environment.</li>
</ul>
<h3 id="heading-when-gitops-goes-wrong-and-other-challenges-for-strimzi-platform-teams-bjorn-lofroth-irori-ab"><strong>When GitOps goes wrong, and other challenges for Strimzi platform teams (Björn Löfroth @ Irori AB)</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1749048515607/93c3f9fc-8abb-4f27-ae9e-0b2bdfedf517.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1749048759753/5d6331f7-9692-4d92-80ac-0155ebce2820.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-improving-kafka-monitoring-with-native-prometheus-metrics-reporter-owen-corrigan-federico-valeri-mickael-maison-red-hat"><strong>Improving Kafka monitoring with native Prometheus Metrics Reporter (Owen Corrigan, Federico Valeri, Mickael Maison @ Red Hat)</strong></h3>
<h3 id="heading-managing-a-kafka-cluster-in-kraft-mode-with-strimzi-tina-selenge-red-hat"><strong>Managing a Kafka cluster in KRaft mode with Strimzi (Tina Selenge @ Red Hat)</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1749052432367/f7076c39-15ac-4866-bd02-3e9356e312b2.png" alt class="image--center mx-auto" /></p>
<p>Tina provided a comprehensive explanation on how to migrate a Strimzi-operated Kafka cluster from a ZooKeeper-based setup to a KRaft-based architecture. This process is crucial for those looking to leverage the benefits of KRaft, which simplifies the Kafka architecture by removing the dependency on ZooKeeper. Prior to the release of Strimzi 0.40.0, the transition between these two architectures was managed using the <a target="_blank" href="http://strimzi.io/kraft"><code>strimzi.io/kraft</code></a> annotation within the <code>Kafka</code> custom resource. By setting this annotation to <code>disabled</code>, users could define a ZooKeeper-based cluster, whereas setting it to <code>enabled</code> would configure a KRaft-based cluster.</p>
<p>With the advent of Strimzi 0.40.0, the functionality of the <a target="_blank" href="http://strimzi.io/kraft"><code>strimzi.io/kraft</code></a> annotation has been expanded to include two new values, enhancing the flexibility and control over the migration process. The <code>migration</code> value initiates the migration process, allowing users to transition their cluster from ZooKeeper to KRaft seamlessly. This is particularly beneficial for those seeking to modernize their Kafka infrastructure without significant downtime or disruption.</p>
<p>Additionally, the <code>rollback</code> value provides a safety net by enabling users to revert the migration if needed. This rollback capability ensures that any unforeseen issues during the migration can be addressed promptly, maintaining the stability and reliability of the Kafka environment. Overall, these enhancements in Strimzi 0.40.0 offer a more robust and user-friendly approach to managing Kafka clusters, empowering administrators to adopt KRaft with confidence.</p>
<h3 id="heading-become-a-local-development-jedi-with-strimzi-and-kind-colt-mcnealy-littlehorse"><strong>Become a Local Development Jedi with Strimzi and KIND (Colt McNealy @ LittleHorse)</strong></h3>
<p>Colt provided an in-depth exploration of the various challenges associated with testing Kafka in a local development environment. He explained that setting up Kafka locally can be complex due to its distributed nature and the need for multiple components to interact seamlessly. Colt highlighted how LittleHorse can play a crucial role in simplifying this process. By using LittleHorse, developers can create a more manageable and efficient local testing setup, which helps bridge the gap between local development and production environments. This approach not only streamlines the testing process but also ensures that developers can identify and resolve potential issues early in the development cycle, leading to more robust and reliable Kafka deployments.</p>
<p><strong>Demo</strong>: <a target="_blank" href="https://github.com/coltmcnealy-lh/strimzicon-demo-2025">https://github.com/coltmcnealy-lh/strimzicon-demo-2025</a></p>
<p>These sessions provided valuable insights into best practices, innovative solutions, and emerging trends in the world of Kafka and Kubernetes. If you are interested to check out the playlist from 2024, here you go: <a target="_blank" href="https://youtu.be/m6gq7vXIDZE?si=3o6knOdlNoGLdycV">Strimzicon 2024</a></p>
]]></content:encoded></item><item><title><![CDATA[Create Amazing Websites Quickly with Lovable]]></title><description><![CDATA[INTRODUCTION
Lovable provides an easy-to-use platform that lets you create a fully working website in just a few minutes.
Features

AI-Driven Code Generation

Full-Stack Integration: Seamlessly

Visual Editing Interface

GitHub Synchronization

One-C...]]></description><link>https://anushasridharan.in/create-websites-quickly-with-lovable</link><guid isPermaLink="true">https://anushasridharan.in/create-websites-quickly-with-lovable</guid><category><![CDATA[Generative AI Development Services]]></category><category><![CDATA[gen ai]]></category><category><![CDATA[lovable]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Tue, 03 Jun 2025 18:17:30 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1748974541434/44d4c9a5-02a4-4d54-86c5-f8897b4e9363.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">INTRODUCTION</h2>
<p>Lovable provides an easy-to-use platform that lets you create a fully working website in just a few minutes.</p>
<h3 id="heading-features">Features</h3>
<ul>
<li><p>AI-Driven Code Generation</p>
</li>
<li><p>Full-Stack Integration: Seamlessly</p>
</li>
<li><p>Visual Editing Interface</p>
</li>
<li><p>GitHub Synchronization</p>
</li>
<li><p>One-Click Deployment</p>
</li>
</ul>
<p>One of the standout features is its seamless integration with Supabase, a popular database service. This integration simplifies the process of managing your website's data, making it an excellent choice for developers who want to focus on building rather than backend management.</p>
<h2 id="heading-pricing">Pricing</h2>
<ul>
<li><p>Lovable provides users with 5 credits per day for generating websites quickly with a few simple instructions.</p>
</li>
<li><p>This feature is beneficial for creating multiple sites or testing different designs.</p>
</li>
<li><p>If more credits are needed, Lovable offers a monthly subscription for $25.</p>
</li>
<li><p>The subscription is a worthwhile investment for professionals who regularly build and deploy websites, as it significantly speeds up the development process.</p>
</li>
</ul>
<h2 id="heading-my-experience"><strong>My Experience</strong></h2>
<p>Prompt:</p>
<pre><code class="lang-plaintext">Help me create a website for personal blogging for daily random thoughts, that is minimalistic and creative at the same time, 
it should have an appealing look and add a randomiser in the end to read randomly picked thought of the day in a fortune cookie style
Lovable
</code></pre>
<p>Lovable response/thoughts:</p>
<pre><code class="lang-plaintext">I'll help you create a beautiful minimalistic personal blogging website with a creative touch! This will be a clean, modern blog for daily thoughts with a delightful "fortune cookie" randomizer feature.

The design will be inspired by minimalist journals and creative writing spaces, with soft typography, elegant spacing, and subtle animations. I'll use a warm, calming color palette with cream and sage tones, along with thoughtful micro-interactions.

Features I'll implement in this first version:

Clean, minimalistic homepage with recent thoughts
Individual thought cards with elegant typography
A delightful "Fortune Cookie" randomizer that picks a random thought
Responsive design that works beautifully on all devices
Smooth animations and hover effects
Simple navigation between sections
For the design, I'll use:

Soft, warm colors (creams, sage greens, muted earth tones)
Clean typography with good hierarchy
Gentle animations and transitions
Card-based layouts with subtle shadows
A playful fortune cookie interaction
</code></pre>
<p>Take a moment to explore the published website here: <a target="_blank" href="https://thought-cookie-creations.lovable.app">https://thought-cookie-creations.lovable.app</a>. This site showcases a beautifully crafted personal blogging platform by Lovable designed to capture daily thoughts with a unique and creative twist. The homepage features a clean and minimalistic design, highlighting recent thoughts in an elegant manner. Each thought is presented on individual cards that enhances readability and aesthetic appeal.</p>
<p>Overall, Lovable is a powerful tool for anyone looking to create websites quickly and efficiently, with the added benefit of Supabase integration and flexible credit options.</p>
]]></content:encoded></item><item><title><![CDATA[Modularity & DeFi Mixers | PYOR | Road to DevCon'24]]></title><description><![CDATA[Attending the Modularity Mixer on 10th August and the DeFi Mixer on 17th August at PYOR was an absolute delight. Both events offered rich insights into the evolving world of blockchain, and I couldn’t be happier with how the sessions unfolded.
Modula...]]></description><link>https://anushasridharan.in/modularity-defi-mixers-pyor-road-to-devcon24</link><guid isPermaLink="true">https://anushasridharan.in/modularity-defi-mixers-pyor-road-to-devcon24</guid><category><![CDATA[defi]]></category><category><![CDATA[Bitcoin]]></category><category><![CDATA[crypto]]></category><category><![CDATA[modularity]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Mon, 19 Aug 2024 16:08:15 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1724083582866/2ef5a988-fa46-482e-85d3-363c64604349.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Attending the Modularity Mixer on 10th August and the DeFi Mixer on 17th August at <a target="_blank" href="https://x.com/pyorxyz">PYOR</a> was an absolute delight. Both events offered rich insights into the evolving world of blockchain, and I couldn’t be happier with how the sessions unfolded.</p>
<p><strong>Modularity Mixer - 10th August</strong>  </p>
<p>- Prabhav kicked things off with a solid foundation on modularity, setting the stage for deeper discussions.<br />- Punith's exploration of Bitcoin rollup as a service was fascinating, shedding light on why rollups on Bitcoin are essential in the current landscape. Also introducing to us about Surge, a modular solution for Bitcoin L2 Development.<br />Playground - <a target="_blank" href="https://surge.build/playground">https://surge.build/playground</a><br />- Rachit’s presentation on data availability in modular chains was a highlight for me. His emphasis on the criticality of data and the working and functions of Avail Nexus in brief was particularly intriguing, specially the part about interoperability of various blockchain networks allowing different modular chains to communicate and operate seamlessly.</p>
<hr />
<p><strong>DeFi Mixer - 17th August</strong>  </p>
<p>- The DeFi Mixer started with Aakash, PYOR’s Research and Content Head, giving us a comprehensive overview of DeFi.<br />- Nihar, the Research Analyst, delved into the pillars of DeFi and demystified some of the concepts that can often seem complex. His discussion on the various price curve iterations of Constant Product Automated Market Makers (CPAMM) was enlightening. - To wrap things up, Sriram, the Business and Growth Head, engages us with a well-curated DeFi quiz. It was not just a recap but a great way to gauge how much we had absorbed.</p>
<p>The best part? The organizers were incredibly friendly and thoughtful. The snacks—kachoris, samosas, and chai—made for a perfect break! These mixers weren't just about learning; they were about community and connection.</p>
<p>I left both events feeling cheerful, more knowledgeable, and looking forward to the next one!</p>
]]></content:encoded></item><item><title><![CDATA[Laravel Bangalore Meetup | 18 May 2024]]></title><description><![CDATA[I had an amazing time at the Laravel Bangalore May Meetup. The event was well-organized and filled with interesting topics and networking breaks that kept everyone engaged throughout the day.
The event kicked off with an exciting Intro to Laravel and...]]></description><link>https://anushasridharan.in/laravel-bangalore-meetup-18-may-2024</link><guid isPermaLink="true">https://anushasridharan.in/laravel-bangalore-meetup-18-may-2024</guid><category><![CDATA[Laravel]]></category><category><![CDATA[Meetup]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[backend developments]]></category><category><![CDATA[Learning Journey]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sun, 19 May 2024 08:31:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1716101601607/0a669f7a-83bf-405e-85a8-da1eca564477.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had an amazing time at the <a target="_blank" href="https://x.com/LaravelBLR">Laravel Bangalore</a> May Meetup. The event was well-organized and filled with interesting topics and networking breaks that kept everyone engaged throughout the day.</p>
<p>The event kicked off with an exciting Intro to Laravel and the ecosystem by <a target="_blank" href="https://x.com/shrutibalasa">Shruti</a>! We learned how to stay updated in the Laravel space by keeping an eye out for LaraCONs (US, EU, AU, IN) and live meetups in nearby cities. It was amazing to see how the Laravel space has evolved over the last decade, and it's thrilling to know that many developers are eager to return to this space because of its incredible potential!</p>
<p>"Begin your journey into Livewire" by <a target="_blank" href="https://x.com/kumaravelk011">Kumaravel</a> showcased how effortlessly you can get a simple app (ToDo App) up and running in just a few minutes. By demonstrating counter components, the simplicity of using Livewire directives, and how the backend handles requests to object updates, it made us all exclaim, "Livewire is magic!"</p>
<p>We then had a short break, recharged with some coffee, and enjoyed lively chats!</p>
<p>After the break, <a target="_blank" href="https://x.com/shrutibalasa">Shruti</a> provided valuable guidance on "Online Presence 101 - For Devs." She shared practical tips and easy-to-follow strategies, emphasizing the importance of consistency and the significance of following the right people.</p>
<p>We then had <a target="_blank" href="https://x.com/ikkarti">Karthick</a> share his insights on how building APIs in minutes is achievable. He shared new techniques, showed us how to modify slugs for consistent results, and customize them to our needs. His impressive use of the query builder and efficient application of repository patterns left us all inspired!</p>
<p>Before leaving for the day, we did a quick round of introductions and took group pictures, all shouting "cheese" to the camera!</p>
<p>A big thanks to the organizers, <a target="_blank" href="https://x.com/shrutibalasa">Shruti</a> and <a target="_blank" href="https://x.com/greattarun">Tarun</a>, for their dedication in making the Laravel meetups not only fun but also highly informative and <a target="_blank" href="https://x.com/lalitvijay">Lalit</a> for sponsoring beautiful office space for this meetup. They do an excellent job of finding speakers who were not only knowledgeable but also passionate about sharing their insights and experiences with the community. It was a fantastic opportunity to connect with other Laravel enthusiasts and techies and learn from them. The atmosphere was vibrant and welcoming, making it a memorable experience for everyone who attended.</p>
<p>Stay connected. Stay updated.</p>
]]></content:encoded></item><item><title><![CDATA[Understanding the InvalidImageName error]]></title><description><![CDATA[Encountering an "InvalidImageName" error typically relates to issues with the image name specified in Kubernetes resources like Pods, Deployments, or StatefulSets. Here are some specific reasons why t]]></description><link>https://anushasridharan.in/understanding-the-invalidimagename-error</link><guid isPermaLink="true">https://anushasridharan.in/understanding-the-invalidimagename-error</guid><category><![CDATA[Kubernetes]]></category><category><![CDATA[cloud deployment]]></category><category><![CDATA[error handling]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sat, 11 May 2024 03:46:05 GMT</pubDate><enclosure url="https://cloudmate-test.s3.us-east-1.amazonaws.com/uploads/covers/60ba0f214f018f10d6234b4c/0f2afaf5-7a3c-4061-982f-b2fd568604cb.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Encountering an "InvalidImageName" error typically relates to issues with the image name specified in Kubernetes resources like Pods, Deployments, or StatefulSets. Here are some specific reasons why this error might occur in Kubernetes:</p>
<ul>
<li><p><strong>Incompatible Image</strong>: The image name specified in the Kubernetes resource might have syntax errors. Kubernetes expects image names to follow a specific format, typically <code>&lt;registry&gt;/&lt;namespace&gt;/&lt;image&gt;:&lt;tag&gt;</code>. If there are deviations from this format or if illegal characters are present, Kubernetes may throw an InvalidImageName error.</p>
</li>
<li><p>Usual suspects are:</p>
<ul>
<li><p>Uppercase/Invalid characters in the Image name - "reg.org/MY-APP:1b.q0"</p>
<ul>
<li><pre><code class="language-plaintext">  [node1 ~]$ kubectl run nginx-pod --image=Nginx:latest -n image-errors
  error: Invalid image name "Nginx:latest": invalid reference format
  
  [node1 ~]$ kubectl run nginx-pod --image=reg.org/MY-APP:1b.q0 -n image-errors
  error: Invalid image name "reg.org/MY-APP:1b.q0": invalid reference format
</code></pre>
</li>
</ul>
</li>
<li><p>http or https in the Image name</p>
<pre><code class="language-yaml">Image: https://org/****/my-service:main-43
</code></pre>
</li>
<li><p>Setting the tag in the repository field instead of tag in helm chart values.yaml</p>
<pre><code class="language-yaml">image:
  repository: 123456789.dkr.ecr.us-east-1.amazonaws.com/myapp:0.0.2

image:
     repository: "123456789.dkr.ecr.us-east-1.amazonaws.com/myapp"
     tag: "0.0.2"
</code></pre>
</li>
</ul>
</li>
</ul>
<p>Resolving the InvalidImageName error in Kubernetes involves verifying the correctness of the image name, ensuring the availability and accessibility of the image in the specified registry, checking authentication configurations, resolving network connectivity issues, and troubleshooting container runtime and Kubernetes configuration problems.</p>
]]></content:encoded></item><item><title><![CDATA[Serverless Days | BLR | AMD]]></title><description><![CDATA[Hey there, fellow tech enthusiasts! I recently had the incredible opportunity to attend Serverless Days events in both Bengaluru and Ahmedabad and it was an awesome experience. From insightful keynotes to engaging sessions, and some networking during...]]></description><link>https://anushasridharan.in/serverless-days-blr-amd</link><guid isPermaLink="true">https://anushasridharan.in/serverless-days-blr-amd</guid><category><![CDATA[serverless]]></category><category><![CDATA[Meetup]]></category><category><![CDATA[technology]]></category><category><![CDATA[conference]]></category><category><![CDATA[serverless days]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Tue, 19 Sep 2023 17:05:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1695143965344/ff4550b7-4c8f-4f6b-ae10-e3aed7ed5de9.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there, fellow tech enthusiasts! I recently had the incredible opportunity to attend <a target="_blank" href="https://serverlessdays.io/"><mark>Serverless Days</mark></a> events in both Bengaluru and Ahmedabad and it was an awesome experience. From insightful keynotes to engaging sessions, and some networking during tea &amp; lunch breaks, I'm here to share my notes from these two fantastic gatherings.</p>
<h2 id="heading-bengaluru-serverless-days-a-day-packed-with-innovation">Bengaluru Serverless Days - A Day Packed with Innovation</h2>
<p><img src="https://lh5.googleusercontent.com/ha9hsnsf45GJGuQQ5WABrQunCYz6wTj7EK_FnHU3sdaCF89i-62BqcHTPvG5t7zXM1tX2TBRr3-rs5o1IJrY24KNc2a4nybEjkJU-6VnlfNRikTn_3ilK-KueUsQrXsNxP3tmEg6oF5nTnQhWoS7YjA" alt /></p>
<h3 id="heading-keynote-address">Keynote Address</h3>
<p>Serverless Days Bengaluru started with Sindhu's keynote setting the tone for an exciting day ahead, emphasizing the importance of serverless computing in today's tech landscape.</p>
<h3 id="heading-serverless-computing-with-sap-kyma">Serverless Computing with SAP Kyma</h3>
<p>Maheswara delved into serverless computing with SAP Kyma. His session showcased how businesses can harness the power of serverless to streamline their operations and drive innovation.</p>
<h3 id="heading-the-value-flywheel-effect">The Value Flywheel Effect</h3>
<p>David and Shilpa shared their insights into creating a "Value Flywheel Effect" at G-P. Their session explored how serverless technologies can create a virtuous cycle of innovation and value creation. He brought in interesting aspects of the North Star Framework, the clarity of purpose, and how capabilities should be built in Event Driven Architecture.</p>
<h3 id="heading-demystifying-event-driven-architectures-on-aws">Demystifying Event-Driven Architectures on AWS</h3>
<p>Nishant and Anand took the stage to demystify event-driven architectures on AWS. Their examples of synchronous and asynchronous ways of completing an order in restaurants helped relate to the power of orchestration and workflows in serverless. They went over the pub-sub models, choreography between domains, and circuit breaker mechanisms in tightly coupled synchronous architectures.</p>
<h3 id="heading-supercharging-user-experience-with-lambda-response-streaming">Supercharging User Experience with Lambda Response Streaming</h3>
<p>Sandeep showcased how serverless can supercharge user experiences with improved performance and reduced bounce rates. His presentation highlighted the practical applications of serverless technologies in enhancing customer interactions. He also shared about Lambda Response Streaming which was released in April 2023 and the new invocation pattern with really impressive TTFB (time to first byte).</p>
<h3 id="heading-thriving-with-aws-serverless-ecosystem">Thriving with AWS Serverless Ecosystem</h3>
<p>Dhaval provided valuable insights on how early-stage startups can thrive using the AWS Serverless Ecosystem. He took us through the concepts of serverless, its applications, with relatable examples of why adopting Serverless could be a win owing to it cost efficiency, in-built scalability, and speed of development so that developers can focus mainly on core business functionalities. His expertise left the audience inspired and motivated.</p>
<h3 id="heading-achieving-cloud-agnostic-nirvana">Achieving Cloud-Agnostic Nirvana</h3>
<p>Giri shared how event-driven architecture can be a game-changer in achieving cloud-agnostic solutions. His session introduced us to new possibilities in the serverless world.</p>
<h3 id="heading-building-resilient-and-scalable-serverless-apps">Building Resilient and Scalable Serverless Apps</h3>
<p>Akshay talked about the 3-factor Architecture Pattern for building resilient and scalable serverless applications, which comprises of the following 3 factors:</p>
<ol>
<li><p><a target="_blank" href="https://3factor.app/realtime-graphql.html">Realtime GraphQL</a></p>
</li>
<li><p><a target="_blank" href="https://3factor.app/reliable-eventing.html">Reliable eventing</a></p>
</li>
<li><p><a target="_blank" href="https://3factor.app/async-serverless.html">Async serverless</a></p>
</li>
</ol>
<h3 id="heading-panel-discussion-with-serverless-heroes">Panel Discussion with Serverless Heroes</h3>
<p><img src="https://lh5.googleusercontent.com/Z7_rt-asdE83kb1KfwSrMCptbxiL5uzFAwd8ztPgowjutpRvymGpzNrO6JyOO67GdwDcqwlDU7L6gmuh8xjqee-Fh1fxgQ_KXMy5v3OJHFDinyAjG5tOHMAwmm9FafBxhouiET_LHsWIsO83OmmYnEc" alt /></p>
<p>The afternoon brought an exciting panel discussion with Dhaval, Prashanth, Srushith, and Jones with Jeevan moderating and posing some really interesting questions. Their discussion shed light on the challenges and opportunities in the serverless realm.</p>
<h3 id="heading-serverless-apps-and-transactional-sql-databases">Serverless Apps and Transactional SQL Databases</h3>
<p>Charanraj and Rahil delved into the optimal usage of serverless apps and transactional SQL databases. Their insights about client-side pooling and server-side pooling were quite useful. They shared some tips on effective SQL, how to improve query performance, interactability with the databases, transaction contention, and serialization isolation.</p>
<h3 id="heading-serverless-beyond-functions">Serverless: Beyond Functions</h3>
<p>Anchit and Manish took us beyond the basics of serverless, exploring its vast potential and applications. It was a dive at Cloud Functions, a FaaS, function as a service and Cloud Run, containerized app as a service - both powered by KNative which are useful for monitoring, logging, tracing and health checks.</p>
<h3 id="heading-end-to-end-data-governance-with-aws-serverless">End to End Data Governance with AWS Serverless</h3>
<p>Ankit enlightened us on achieving end-to-end data governance using AWS serverless stack. He spoke about the AWS Lake Formation, a managed service that makes it easy to build, secure, and manage data lakes where LF tags could be used for data classification and maintaining data quality with AWS Glue ETL service.</p>
<h2 id="heading-ahmedabad-serverless-days-unveiling-the-future">Ahmedabad Serverless Days - Unveiling the Future</h2>
<p><img src="https://lh5.googleusercontent.com/cqRvliGxo_hLKJIFOamyqRbc9p29ccTZg8ytq_Vn2eqaIzRAdGm3JHkA0DyuqNFEFIJwR8NtUpHj3YvmAqL1UTkDssCv7vFBEcM5r4K0ePmO7wJrGaVUt954t17soMPxvY8XzF4qBHS-DJZ2xfLlHps" alt /></p>
<h3 id="heading-welcome-speech-andamp-keynote-kicking-off-with-enthusiasm">Welcome Speech &amp; Keynote Kicking Off with Enthusiasm</h3>
<p>Ankit set the stage in Ahmedabad with a warm welcome speech. His words resonated with the audience, creating an atmosphere of excitement. <a target="_blank" href="https://www.linkedin.com/in/hnprashanth/">Prashanth</a>'s keynote was inspiring as he took us through his journey in the Serverless world!</p>
<h3 id="heading-thinking-asynchronously-aws-event-driven-architecture">Thinking Asynchronously: AWS Event-Driven Architecture</h3>
<p>Hitesh showcased the power of thinking asynchronously and building a serverless event-driven architecture on AWS.</p>
<h3 id="heading-building-serverless-ml-applications">Building Serverless ML Applications</h3>
<p>Joinal Ahmed dived into the world of serverless machine learning applications. He took us through the various advantages that Serverless brings in like Scalability, Reduced Overhead, Streamlined Maintainance, Easy Integration, and Real-time inference.</p>
<h3 id="heading-sponsor-talk-andamp-activity-time">Sponsor Talk &amp; Activity Time</h3>
<p><a target="_blank" href="https://www.linkedin.com/in/hnprashanth/">Prashanth</a>'s shared a glimpse of how folks at <a target="_blank" href="https://www.antstack.com/"><mark>Antstack</mark></a> have fun on their days out. It was a joy to watch them, watch the video to know more!</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=TG3az7RSaWg">https://www.youtube.com/watch?v=TG3az7RSaWg</a></div>
<p> </p>
<p><a target="_blank" href="https://www.linkedin.com/in/jaymitb/">Jaymit</a> shared about the offerings from <a target="_blank" href="https://www.serverlessguru.com/about"><mark>Serverless Guru</mark></a> and how they empower businesses to understand and adopt Serverless.</p>
<p>We had an interesting activity time where we were asked to guess the movie from which the displayed meme/scene was from and memorize the final math expression values. We had 5 of those and whoever had the right answers got some amazing goodies!</p>
<h3 id="heading-monitoring-serverless-environments-with-elastic-observability">Monitoring Serverless Environments with Elastic Observability</h3>
<p>Ashish educated us on monitoring serverless environments effectively. His talk took us through Elastic Search platform and how it can be used for observability and reliability in serverless applications. He shared the practical uses of serverless monitoring helping improve latency, preventing cold stars, monitoring usage, and identifying invocation errors.</p>
<h3 id="heading-proactive-ops-event-driven-it-operations">Proactive Ops: Event Driven IT Operations</h3>
<p>Dave's was one of the most amusing talks of the day. He shared insights into proactive operations through event-driven IT. His session provided a fresh perspective on IT management.</p>
<h3 id="heading-demystifying-serverless-security-on-aws">Demystifying Serverless Security on AWS</h3>
<p>Vishwas peeled the layers on serverless security with a focus on AWS. His insights taught a way for a secure serverless journey which was coupled with a relatable use-case. He highlighted the differences between AWS Secrets Manager and AWS SSM Parameter store and when to use what while securing secrets and configuring them. He shared more on methods of attack prevention and monitoring which was informative.</p>
<h3 id="heading-innovate-faster-with-aws-serverless">Innovate Faster with AWS Serverless</h3>
<p>Jaymit emphasized how AWS serverless accelerates data strategies. His session was packed with different architectural patterns which was fast-paced and felt like a quick breeze that I hope to catch up on once the slides are made available to us.</p>
<h3 id="heading-thriving-with-aws-serverless-ecosystem-1">Thriving with AWS Serverless Ecosystem</h3>
<p>Dhaval shared his wisdom on thriving with the AWS Serverless Ecosystem for early-stage startups, their challenges and the choices they should optimally take based on their use-case, in similar lines to his talk in the Bengaluru Serverless Days but most of the content was different and not as repetitive as I had assumed it would be.</p>
<h3 id="heading-building-an-event-driven-system-with-azure-functions">Building an Event-Driven System with Azure Functions</h3>
<p>Aashirwad explored the world of Azure Functions and Azure IoT Hub for building event-driven systems.</p>
<h3 id="heading-panel-discussion-the-future-of-serverless">Panel Discussion: The Future of Serverless</h3>
<p>Nilesh, Chirag, and Meghal Shah engaged in a stimulating panel discussion, providing diverse perspectives on the future of serverless technology which was moderated by Ankit.</p>
<h3 id="heading-giveaway-contest-and-closing-note">Giveaway Contest and Closing Note</h3>
<p>The day concluded with a thrilling giveaway contest, adding another element of excitement to the event. Loved the Quiz questions which were a quick test to see how much we had learned through the day.<br />I scored 7/10, with 17th place, and the top scorer got all the answers right!</p>
<p><img src="https://lh4.googleusercontent.com/x1vSpHEy05tYRh-h3qeSNTo8yD_K-rh5Um7R4aSmRPtDmy1LIUprjQ73Zzaz6AgCnNwv5h5JEYa_bdR6SHFA0icYGEWP353gtJQ0ZOVUszkBCo2cwsss_cdFNvuAcTCM1au8agY7AlmzLXvK8LGTwlg" alt /></p>
<p>Summing it up - Serverless Days left us inspired and motivated to continue on our exploration towards Serverless.</p>
<p><img src="https://lh4.googleusercontent.com/0sRXz0QhLDXCDfKpS9hENfwD4m_898YePgpM8RyodSMN2T3yASKRPt-WudHvEFFjr9FzOFhNwVyV6CI8-8RUToRAed008gvGZ169V2iAliWE3aATEfC5xaG8p_1JD7iEx-s_zQ9cLApAEB8EOOg5UQc" alt /></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Both the Bengaluru and Ahmedabad Serverless Days were a ride through the world of Serverless Technology. I left with a wealth of knowledge, a network of like-minded individuals, and an immense sense of excitement for the future of serverless!💡🚀</p>
<p><em>Stay tuned for more exciting tech adventures!</em></p>
]]></content:encoded></item><item><title><![CDATA[Memorable Day at KCD Chennai 2023]]></title><description><![CDATA[[Cover Image Credits: KCD Chennai]
Attending KCD Chennai was a fabulous experience. I got to connect with folks who I knew from the Twitter tech community. The day started with registrations and a brief on the agenda of the planned talks throughout t...]]></description><link>https://anushasridharan.in/memorable-day-at-kcd-chennai-2023</link><guid isPermaLink="true">https://anushasridharan.in/memorable-day-at-kcd-chennai-2023</guid><category><![CDATA[Kubernetes]]></category><category><![CDATA[community]]></category><category><![CDATA[conference]]></category><category><![CDATA[learning]]></category><category><![CDATA[KCDChennai]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Mon, 24 Jul 2023 14:55:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1690107476835/8053ef8c-e8fa-4f75-baab-0d8994d17b76.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>[Cover Image Credits: <a target="_blank" href="https://twitter.com/kcdchennai/status/1682798975685120000/photo/1">KCD Chennai</a>]</p>
<p>Attending KCD Chennai was a fabulous experience. I got to connect with folks who I knew from the Twitter tech community. The day started with registrations and a brief on the agenda of the planned talks throughout the day.</p>
<p><img src="https://pbs.twimg.com/media/F1nGwRgX0AAHsc4?format=jpg&amp;name=large" alt="Image" /></p>
<p>After the kick-off by the organizers, the event officially commenced with an interesting panel discussion revolving around the nuances of platform engineering. The discussion began with understanding - what is cloud-native, the need for Kubernetes clusters, does it fit your use case.<br />The discussion was more open-ended and opinions were shared both from experience and hypothetically addressed when it came to standardization in multi-cloud strategy and challenges. Leading with the ideas for automated application deployment and package management and the emerging need for internal developer portal with organizations which was backed with the net value add it provides for certain abstractions.</p>
<p>Followed by 2 energizing keynote addresses:</p>
<ul>
<li><p>Need for Cloud Native Push by Vishnu Sharma</p>
<ul>
<li>Navigating through the cells of lifecycle management, agile development, increased velocity to fasten the deployment cycles, and orchestration of workloads - Vishnu explained the essence of how cloud native is fueling customers' business imperatives, helping integrate next-gen technologies and making businesses future-ready.</li>
</ul>
</li>
<li><p>Taking control of the reliability of your cloud-native services by Uma Mukkara</p>
<ul>
<li>Uma took us through the details of DevOps Challenges, Retaining reliability, performing chaos on Cloud Native services to ensure better resilience through the process of how chaos is done, what approaches are to be considered while doing chaos, how to achieve chaos maturity and how resiliency score is supposed to be measured and by bursting some myths.</li>
</ul>
</li>
</ul>
<p>We then had a small break for some tea/coffee and biscuits. It gave us a chance to interact with speakers, other attendees and participate in the Quiz. There were Tata Communications, Nginx, Snappy Flow, Talentship and Zoho booths.</p>
<p>After the break, the sessions resumed with the talks for the day:</p>
<ul>
<li><p>Anand <a target="_blank" href="https://twitter.com/anafrajosep">@</a>anafrajosep shared on ArgoCD GitOps in a multicluster setup using Open Cluster Management (OCM).</p>
<ul>
<li>He explained how using the OCM approach, applications can be easily deployed to all of the clusters, a subset of clusters based on filters, or certain selected clusters enabling consistent configuration management in a multicluster or multi-cloud environment.</li>
</ul>
</li>
<li><p>Sidecar pattern in KEDA to provide better security and access control using Azure AD Workload Identity by Karthikeyan</p>
<p>  <a target="_blank" href="https://twitter.com/karthik3030">@karthik3030</a></p>
<ul>
<li><p>Karthikeyan talked about autoscaling in general - HPA, VPA, differences and the need for Event-driven scaling. Although his talk focused on Azure AD Workload identity, the pattern he explained could be easily replicated for other identities as well. He then shared the benefits of using the sidecar pattern and Azure AD Workload Identity in serverless architectures and how to set up KEDA to use a sidecar with Azure AD Workload Identity.</p>
</li>
<li><p>He also shared a little bit about his book <a target="_blank" href="https://www.amazon.in/Developers-Road-ahead-Complete-Architects/">Developers-Road-ahead</a> which has his lessons on becoming an architect.</p>
</li>
</ul>
</li>
<li><p>Securing Kubernetes: Best practices and effective strategies by Nilesh <a target="_blank" href="https://twitter.com/Nilesh_93">@Nilesh_93</a></p>
<ul>
<li><p>Nilesh talked about the Kubernetes attack surface layers, different sources of access that can be gained for exploitation, and how to go about securing the Kubernetes control plane by implementing hardened RBAC and network policies, leveraging security contexts and pod security policies, and integrating with identity and access management systems.</p>
<ul>
<li><p>Configuration scanning with Checkov, Conftest, Kubesec</p>
</li>
<li><p>Image vulnerability scanning (Trivy)</p>
</li>
<li><p>Container hardening (remove shell as part of start-up probe, make file system read-only, run as NonRoot)</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>We then broke for lunch. I took a small walk around and clicked a few pictures. Back with high spirits after eating food, we went back to the main hall for the next series of talks.</p>
<ul>
<li><p>TcpDumping your pods using Kubesniff and Wireshark by Leon</p>
<p>  <a target="_blank" href="https://twitter.com/mediocreDevops">@mediocreDevops</a></p>
<ul>
<li><p>Leon talked about how tcpdumping is more commonly done on nodes compared to pods. He shared details on the available tools that can be used for tcpdump - kubesniff, wireshark, kubeshark, tshark, sysdig</p>
</li>
<li><p>He highlighted the key aspected of traffic analysis, network forensics, and how packets can be followed visually through wireshark, and explained the terms like - SYN, ACK, and FIN.</p>
</li>
<li><p>He also briefly shared on Gloo Edge, Envoy-based API Gateway that provides a Kubernetes CRD to manage Envoy configuration for performing traffic management and routing.</p>
</li>
</ul>
</li>
<li><p>Constructing a Heterogeneous K8S Control Plane with Konnectivity by Tamil</p>
<p>  <a target="_blank" href="https://twitter.com/tamilhce">@tamilhce</a></p>
<ul>
<li><p>Tamil started by sharing about the Kubernetes control plane, communication between controller and worker node and how it needs to be bidirectional along with the need to be within the same datacenter, L2/L3 network domain.</p>
</li>
<li><p>He further explained the benefit of disaggregated design that provides cluster administrators with a much higher available environment, in turn securing controller components and allowing tenants to manage their data plane with self-service node resources and computing environment.</p>
</li>
</ul>
</li>
<li><p>Encrypting Secrets in Kubernetes Clusters using KMS by Chirag</p>
<p>  <a target="_blank" href="https://twitter.com/chiragkyal">@chiragkyal</a> and Swarup <a target="_blank" href="https://twitter.com/SwG_Ghosh">@SwG_Ghosh</a></p>
<ul>
<li>Chirag and Swarup shared the process of leveraging the Kubernetes KMS feature for protecting secrets against attacks like etcd compromise and host compromise</li>
</ul>
</li>
<li><p>The Cornerstone of Modern Data Engineering by Abhishek</p>
<p>  <a class="user-mention" href="https://hashnode.com/@stalwartcoder">Abhishek Mishra</a></p>
<ul>
<li>Abhishek took us through the Modern data stack components, Data Orchestration, and tools used in Data Acquisition, Integration, Analytics and Activation.</li>
</ul>
</li>
<li><p>From Chaos to Calm: Improving Service Mesh Reliability by Atulpriya<a target="_blank" href="https://twitter.com/TheTechMaharaj"><br />  @TheTechMaharaj</a></p>
<ul>
<li>Demo showcased the use of <a target="_blank" href="https://twitter.com/LitmusChaos">@LitmusChaos</a> along with <a target="_blank" href="https://twitter.com/KialiProject">@KialiProject</a> to enable Observability and Reliability on service mesh</li>
</ul>
</li>
<li><p>Hitchhiker's Guide To Kubernetes Networking by Abdul</p>
<p>  <a target="_blank" href="https://twitter.com/abdulkarim_me">@abdulkarim_me</a></p>
<ul>
<li>Abdul Underlying networking key constructs explained with examples (v-eth pairs, bridges and iptables)</li>
</ul>
</li>
<li><p>Leveraging OIDC to Secure Kubernetes Clusters by Akanksha</p>
<p>  <a target="_blank" href="https://twitter.com/AkankshaK97">@AkankshaK97</a></p>
<ul>
<li>Akanksha shared about OIDC setup and configuration with Kubernetes, the authentication workflow, and the benefits of using OIDC as compared to other authentication mechanisms.</li>
</ul>
</li>
<li><p>Pranav <a target="_blank" href="https://twitter.com/theBeginner86">@theBeginner86</a> shared how Meshery is revolutionizing Kubernetes operations, enabling seamless orchestration across multiple environments.</p>
</li>
<li><p>Rohit <a target="_blank" href="https://twitter.com/ghumare64">@ghumare64</a> and Vinuja <a target="_blank" href="https://twitter.com/VinujaKhatode">@VinujaKhatode</a> talked about how Kubernetes acts as a catalyst in the evolution of MLOps and discussed how Kubeflow simplifies ML workflows on K8s, offering scalability &amp; portability.</p>
</li>
<li><p>Unlocking the Secrets of Cluster API and Its Providers by Aniruddha <a target="_blank" href="https://twitter.com/aniruddha_2000">@aniruddha_2000</a> &amp; Subhasmita @<a target="_blank" href="https://twitter.com/iam_subhasmita">iam_subhasmita</a></p>
<ul>
<li>Subhasmita and Aniruddha made us understand why clusters need to be managed and how to Bootstrap Kubernetes clusters effectively by sharing provider examples. More details on <a target="_blank" href="https://cluster-api.sigs.k8s.io/user/concepts.html">Concepts - The Cluster API Book (</a><a target="_blank" href="http://k8s.io">k8s.io</a><a target="_blank" href="https://cluster-api.sigs.k8s.io/user/concepts.html">)</a></li>
</ul>
</li>
</ul>
<p>Despite being a packed event, organizers made sure that the talks were well-paced and that there were enough breaks and opportunities for candid interactions among the attendees.<br />Many thanks to the organizing team of <a target="_blank" href="https://twitter.com/kcdchennai">@kcdchennai</a> for making <a target="_blank" href="https://twitter.com/hashtag/KCDChennai2023?src=hashtag_click">#KCDChennai2023</a> memorable and awesome for us!</p>
<p><img src="https://pbs.twimg.com/media/F1p-ozWaIAE-LPt?format=jpg&amp;name=small" alt="Image" class="image--center mx-auto" /></p>
<p>Follow <a target="_blank" href="https://twitter.com/hashtag/KCDChennai2023">#KCDChennai2023 - Twitter Thread</a> for all updates shared by organizers, speakers, and fellow attendees.</p>
]]></content:encoded></item><item><title><![CDATA[Setting Up Devtron on Kubernetes Cluster]]></title><description><![CDATA[Devtron is a production-ready Kubernetes-native Application Management Platform that covers all your requirements on Kubernetes, such as continuous integration, continuous delivery, GitOps, observability, troubleshooting, security, and governance.
I ...]]></description><link>https://anushasridharan.in/setting-up-devtron-on-kubernetes-cluster</link><guid isPermaLink="true">https://anushasridharan.in/setting-up-devtron-on-kubernetes-cluster</guid><category><![CDATA[devtron]]></category><category><![CDATA[Kubernetes]]></category><category><![CDATA[Platform Engineering ]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sun, 23 Jul 2023 09:43:51 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/GSiEeoHcNTQ/upload/9a85b00ec1dc76469f131803e33703a2.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a target="_blank" href="https://devtron.ai/">Devtron</a> is a production-ready Kubernetes-native Application Management Platform that covers all your requirements on Kubernetes, such as continuous integration, continuous delivery, GitOps, observability, troubleshooting, security, and governance.</p>
<p>I heard about Devtron first at KCD Bengaluru and I couldn't help but get excited when I was told that Devtron could manage your application requirements on Kubernetes end to end. I had to give it a try already.</p>
<h3 id="heading-pre-requisites">Pre-Requisites</h3>
<ul>
<li><p>kubectl Installation (On Windows), Refer <a target="_blank" href="https://kubernetes.io/docs/tasks/tools/">Install Tools | Kubernetes</a> for MacOS / Linux.</p>
<pre><code class="lang-powershell">  curl.exe <span class="hljs-literal">-LO</span> <span class="hljs-string">"https://dl.k8s.io/release/v1.27.3/bin/windows/amd64/kubectl.exe"</span>
</code></pre>
</li>
<li><p>helm Installation, download helm release based on your system, <a target="_blank" href="https://github.com/helm/helm/releases">Releases · helm/helm (</a><a target="_blank" href="http://github.com">github.com</a><a target="_blank" href="https://github.com/helm/helm/releases">)</a></p>
</li>
<li><p>Skip this step if you already have kubectl and helm installed</p>
</li>
</ul>
<h3 id="heading-setup">Setup</h3>
<ul>
<li><p>Create a 2-Node k8s Cluster from your preferred provider, in this article - I'll be using Digital Ocean.</p>
<ul>
<li><p>Minimum system configurations required for Devtron Installation</p>
<ol>
<li><p>1.2 vCPUs</p>
</li>
<li><p>2.4GB+ of free memory</p>
</li>
<li><p>3.20GB+ free disk space</p>
</li>
</ol>
</li>
</ul>
</li>
<li><p>I'll be choosing node size with 2.5GB RAM(usable 4GB)/2vCPU configuration with two of them</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690100022208/67ef2c8e-9ab7-46a4-91ab-af423baf14cc.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Once your cluster is up and running, check the node status</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690100079509/d964f47c-6711-48db-8d48-f3723b50a668.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Install Devtron with CI/CD along with GitOps (Argo CD)</p>
<pre><code class="lang-powershell">  helm repo add devtron https://helm.devtron.ai

  helm install devtron devtron/devtron<span class="hljs-literal">-operator</span> \
  -<span class="hljs-literal">-create</span><span class="hljs-literal">-namespace</span> -<span class="hljs-literal">-namespace</span> devtroncd \
  -<span class="hljs-literal">-set</span> installer.modules={cicd} \
  -<span class="hljs-literal">-set</span> argo<span class="hljs-literal">-cd</span>.enabled=true
</code></pre>
</li>
<li><p>You'll get instructions like the below screenshot after running the above command</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690100625791/8edc5ff5-1f04-4cfd-b56d-8f64accd725d.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Get the status of all pods in the devtroncd namespace</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690100741496/3fe29d32-5a79-49ae-9ecb-01b62fce375b.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Get the status of all jobs in devtroncd namespace</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690100780735/9fcf54f6-fef4-4432-ba80-3c68c2da355b.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Access the Ingress Endpoint, IP address from the below command</p>
<pre><code class="lang-powershell">  kubectl get svc <span class="hljs-literal">-n</span> devtroncd devtron<span class="hljs-literal">-service</span> <span class="hljs-literal">-o</span> jsonpath=<span class="hljs-string">'{.status.loadBalancer.ingress}'</span>
</code></pre>
</li>
<li><p>Log in as administrator with the password from the below command:<br />  <code>kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d</code></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101005411/ec132de6-70d6-4605-ab37-cc31a82ea6b3.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>After logging in, you can either pick to create app from scratch or deploy from available helm charts</p>
</li>
<li><p>This is an example of deploying metrics-server helm chart</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101363506/bc0231bb-b359-4fa1-adfa-b6b7e3bb5002.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Before and after metrics-server installation</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101455583/2c312d5f-cb7a-4621-b1b5-5260f92ec06b.png" alt class="image--center mx-auto" /></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101599777/446dd291-e921-4ea9-89ef-32351c276aa4.png" alt class="image--center mx-auto" /></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101472847/9d6bd64b-b4f4-48a1-a92f-24ded578e9b3.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Memory/CPU consumption of pods in devtroncd namespace</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690101533618/bcfde4d2-ed60-4829-8892-fdf40c4860e3.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>You can add integrations from 'Discover integrations' section, ex: Grafana (Monitoring)</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690102030819/8a97d091-d450-4992-bfb1-8c972fc494bc.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Explore resource browser to get a view into currently deployed kubernetes resources</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690102265357/40ce4661-a272-44a1-ae65-79c61ddd2cd6.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Try to install Prometheus helm chart from the CLI</p>
<pre><code class="lang-powershell">  helm install my<span class="hljs-literal">-release</span> oci://registry<span class="hljs-literal">-1</span>.docker.io/bitnamicharts/kube<span class="hljs-literal">-prometheus</span>
</code></pre>
</li>
<li><p>Go back to the Devtron UI to observe that your helm installation from CLI is auto-discovered</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690103032879/3012d8e9-d604-42fe-8036-9e9cb0aceb52.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Port forward Prometheus service to 9090 to view it on your localhost</p>
<pre><code class="lang-powershell">  kubectl port<span class="hljs-literal">-forward</span> -<span class="hljs-literal">-namespace</span> prometheus<span class="hljs-literal">-operator</span> svc/my<span class="hljs-literal">-release</span><span class="hljs-literal">-kube</span><span class="hljs-literal">-prometheus</span><span class="hljs-literal">-prometheus</span> <span class="hljs-number">9090</span>:<span class="hljs-number">9090</span>
</code></pre>
</li>
<li><p>Explore different metrics and their graphs</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690104076471/8773edf8-9341-4d5a-a16c-05de0b9bdcc2.png" alt class="image--center mx-auto" /></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690104546890/a0c7ea46-39d4-4335-9864-c41dfadb2675.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Devtron also enables you to ssh into the node of the connected k8s cluster</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1690104686177/07b77b78-dee9-416a-80b1-29a99fe29b96.png" alt class="image--center mx-auto" /></p>
</li>
</ul>
<p>That's all from the setup side of things. Please share your implementations of Devtron in the comments.<br />Thank you!</p>
]]></content:encoded></item><item><title><![CDATA[1Password x Hashnode Hackathon]]></title><description><![CDATA[Introduction
Thank you 1Password and Hashnode for conducting this hackathon. I got to learn about passwordless authentication for web applications and also implement a small part of it. Having gotten exposure to the available tools and CLI, I have a ...]]></description><link>https://anushasridharan.in/1password-x-hashnode-hackathon</link><guid isPermaLink="true">https://anushasridharan.in/1password-x-hashnode-hackathon</guid><category><![CDATA[1password]]></category><category><![CDATA[BuildWith1Password]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Fri, 30 Jun 2023 05:19:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/5fNmWej4tAA/upload/61cc4c1536f9b308f8f089e0742b07d4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-introduction">Introduction</h3>
<p>Thank you <a target="_blank" href="https://hshno.de/2vBgtSn">1Password</a> and <a target="_blank" href="https://hashnode.com/">Hashnode</a> for conducting this hackathon. I got to learn about passwordless authentication for web applications and also implement a small part of it. Having gotten exposure to the available tools and CLI, I have a lot of learnings to take and look forward to implementing those in my future projects as well.</p>
<h3 id="heading-details">Details</h3>
<p>I chose to use an existing project I previously built for <a target="_blank" href="https://anushasridharan.in/appwrite-x-hashnode-hackathon">AppWrite Hackathon</a> and added Passage's passwordless auth on the landing page.<br />The <a target="_blank" href="https://docs.passage.id/frontend/examples-by-framework">examples by framework</a> templates provided by <a target="_blank" href="https://docs.passage.id/">Passage</a> by 1Password were very useful to get started.</p>
<p><strong>Project Name:</strong> WasteAware<br /><strong>Team:</strong> <a class="user-mention" href="https://hashnode.com/@anusha-s">Anusha</a></p>
<h3 id="heading-stack"><strong>Stack</strong></h3>
<p>Front-end: Next.js / Tailwind<br />Hosting: Netlify, <a target="_blank" href="http://wasteaware.netlify.app"><strong>wasteaware.netlify.app</strong></a><br />Backend: AppWrite (to list food wastage test data)<br />Authentication: Passage by 1Password<br /><strong>Github</strong>: <a target="_blank" href="https://github.com/anushas-dev/waste-aware"><strong>anushas-dev/waste-aware</strong></a></p>
<h3 id="heading-motivation"><strong>Motivation</strong></h3>
<p>I always wanted to consciously track food wastage and check where I could help from my side to reduce it. Be it extra meals, spoilt food, or just the food on my plate that I couldn't finish, I would try my best to avoid any wastage or at least keep it to the minimum.</p>
<h3 id="heading-description"><strong>Description</strong></h3>
<p><a target="_blank" href="https://wasteaware.netlify.app/"><strong>WasteAware</strong></a> is a simple site that I plan to build on further but at this point, it is only listing test data on the wastage reported on a few food items. The next plan is to make it user-specific and allow them to use it for food waste tracking on a daily/weekly basis and understand how they can do their bit to reduce the wastage.</p>
<h3 id="heading-implementation-steps">Implementation Steps</h3>
<ul>
<li><p>Create an account on <a target="_blank" href="https://passage.1password.com/">Passage by 1Password</a></p>
</li>
<li><p>After successful account creation, you should be able to see a sample app available for a live preview</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688100605902/122e399e-704a-4869-aa32-b0ea4c584014.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>You can onboard your application by clicking on 'Create New App', you'll be given the option to either go fully passwordless or add passkeys to the existing authentication system.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688100840420/57e56fbe-2b13-462d-87c6-950718b764f1.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Fill in the details as required for your application - Name, domain, direct URL, tech stack etc.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688100943741/ed928ab1-b19b-4bac-afd7-9fc109d5cde0.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Follow the steps as listed in <a target="_blank" href="https://docs.passage.id/frontend/examples-by-framework/next.js">Next.js - Passage Docs</a> and refer to the template for your corresponding stack, as my project was based on Next.js, I referred - <a target="_blank" href="https://github.com/passageidentity/example-nextjs/blob/main/02-Login-With-Profile/pages/dashboard.js">02-Login-With-Profile · GitHub</a>.</p>
</li>
<li><p>Before committing my changes, I updated the ENV variables on my Netlify project required for PASSAGE integration (PASSAGE_APP_ID and PASSAGE_API_KEY)</p>
</li>
<li><p>As Netlify picks up Github changes on the new commit, it deployed the changes made for the Passage Auth element on my Index and redirect pages.</p>
</li>
</ul>
<h3 id="heading-challenges">Challenges</h3>
<ul>
<li>I struggled initially to hide page props and show only when 'isAuthorized' is true. It ended up hiding the passage auth element on the landing page too.</li>
</ul>
<p>I eagerly look forward to future events and collaborations that continue to push the boundaries of what is possible in the realm of password management and digital security.</p>
]]></content:encoded></item><item><title><![CDATA[AppWrite x Hashnode Hackathon]]></title><description><![CDATA[Thank you Appwrite and Hashnode for hosting this hackathon. I got to explore Appwrite for the first time although I had heard a lot about it but hadn't tried it before. This hackathon nudged me to try it and get familiar.
Project Name: WasteAwareTeam...]]></description><link>https://anushasridharan.in/appwrite-x-hashnode-hackathon</link><guid isPermaLink="true">https://anushasridharan.in/appwrite-x-hashnode-hackathon</guid><category><![CDATA[Appwrite]]></category><category><![CDATA[Appwrite Hackathon]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sat, 24 Jun 2023 14:45:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/F1PCLT669UU/upload/eb56f6ab1471197996b5999f1bb52e82.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Thank you <a target="_blank" href="https://appwrite.io">Appwrite</a> and <a target="_blank" href="https://hashnode.com">Hashnode</a> for hosting this <a target="_blank" href="https://townhall.hashnode.com/appwrite-hackathon-2023">hackathon</a>. I got to explore Appwrite for the first time although I had heard a lot about it but hadn't tried it before. This hackathon nudged me to try it and get familiar.</p>
<p><strong>Project Name:</strong> WasteAware<br /><strong>Team:</strong> <a class="user-mention" href="https://hashnode.com/@anusha-s">Anusha</a></p>
<p><strong>Stack:</strong><br />Front-end: Next.js / Tailwind<br />Hosting: Netlify, <a target="_blank" href="http://wasteaware.netlify.app">wasteaware.netlify.app</a><br />Backend: AppWrite (to list food wastage test data)</p>
<p><strong>Github</strong>: <a target="_blank" href="https://github.com/anushas-dev/waste-aware">anushas-dev/waste-aware</a></p>
<p><strong>Motivation</strong>:<br />I always wanted to consciously track food wastage and check where I could help from my side to reduce it. Be it extra meals, spoilt food, or just the food on my plate that I couldn't finish, I would try my best to avoid any wastage or at least keep it to the minimum.</p>
<p><strong>Description</strong>:<br /><a target="_blank" href="https://wasteaware.netlify.app/">WasteAware</a> is a simple site that I plan to build on further but at this point, it is only listing test data on the wastage reported on a few food items. The next plan is to make it user-specific and allow them to use it for food waste tracking on a daily/weekly basis and understand how they can do their bit to reduce the wastage, if not repurpose it judiciously.</p>
<p><strong>Challenges</strong>:</p>
<ul>
<li><p>Finding the right way to pass custom headers to AppWrite Client while listing documents with API Key.</p>
</li>
<li><p>Understanding the right permissions to be added to the Aut User to do CRUD operations.</p>
</li>
</ul>
<p>I am late for the submission but I am glad I attempted it. I would like to continue improving on this further and add more features. Feel free to reach out to collaborate on this project and share your feedback.<br />Thank you.</p>
]]></content:encoded></item><item><title><![CDATA[Transformative Experience at KCD Bengaluru 2023]]></title><description><![CDATA[I have been always excited about KubeCon and anything that's related to Kubernetes. That's the magic word to get me to listen, keenly with undivided attention.
Better late than later, right? I learnt about Kubernetes Community Days 2023 (In-person) e...]]></description><link>https://anushasridharan.in/transformative-experience-at-kcd-bengaluru-2023</link><guid isPermaLink="true">https://anushasridharan.in/transformative-experience-at-kcd-bengaluru-2023</guid><category><![CDATA[Kubernetes]]></category><category><![CDATA[kcd]]></category><category><![CDATA[conference]]></category><category><![CDATA[KCDBengaluru]]></category><category><![CDATA[community]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Mon, 05 Jun 2023 08:59:15 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1685859486284/55567e07-4d3b-4e90-a4dc-171d1c3d8cfc.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have been always excited about KubeCon and anything that's related to Kubernetes. That's the magic word to get me to listen, keenly with undivided attention.</p>
<p>Better late than later, right? I learnt about Kubernetes Community Days 2023 (In-person) event on <a target="_blank" href="https://twitter.com/KCDBengaluru">Twitter</a>. I almost immediately got the tickets as I knew they would run out fast (28th March)</p>
<p>Every day since I got the tickets, the eager me was counting days for June 2 &amp; 3. I couldn't wait to experience the KubeCon vibes in India, in my city Bengaluru.</p>
<p>So, it finally happened. I had bookmarked the <a target="_blank" href="https://community.cncf.io/events/details/cncf-kcd-bengaluru-presents-kubernetes-community-days-bengaluru-2023-in-person/">event page</a> with the lined-up sessions and talks for the day, feeling all prepared to attend them in all excitement. I reached the venue within time, collected the registration tags and coupons (very well-planned and seamless) and ate some breakfast.<br />A happy tummy means an attentive mind 😁 and guess what, I got a chance to make some new friends!<br />So, thank you organizers for making it a well thought and wholesome experience for us.</p>
<p>The agenda board had a full view of what was lined up for this 2-day event. I wish I could clone myself and be in 2 places at the same because there were parallel sessions in the Main Hall / Audi but I chose the sessions I could relate more with. I look forward to knowing the details, presentations/slides from the other side that I missed out on.</p>
<ul>
<li><p>It all began with an energizing beatboxing performance and candid <strong>Keynote address: State of Kubernetes and CNCF: A path to a sustainable and secure future</strong> by <a target="_blank" href="https://twitter.com/theonlynabarun">Nabarun Pal</a> and <a target="_blank" href="https://twitter.com/TheNikhita">Nikhita Raghunath</a> which I particularly loved as they included relatable examples of Kubernetes World in analogies of Bengaluru and trending topics in CNCF space. It was great to learn how India has now grown to be the 2nd largest Kubernetes contributor base and the evolution of the contribution journeys. It was very inspiring and motivated many of those who were looking to start their contribution towards open source.</p>
</li>
<li><p>Followed by a brief talk by <strong>Sajith Ainikkal</strong> on <strong>Turbocharge developer productivity and innovation on how</strong> VMware Tanzu is accelerating development, delivery, and operations across multiple clouds.</p>
</li>
<li><p>After on, I had to choose between the two parallel sessions. I stayed back in the main hall to hear about <a target="_blank" href="https://backstage.io/plugins/">Backstage Plugin <strong>Development</strong></a><strong>: Tales from the Trenches</strong> by <a target="_blank" href="https://twitter.com/debaelopedev">Debabrata Panigrahi</a> and about the emerging importance of having a developer portal unifying the development experience and best practices to consider for building plugins that meet the unique requirements of different environments.</p>
</li>
<li><p><a target="_blank" href="https://twitter.com/girigoudar_"><strong>Aditya Girigoudar</strong></a> spoke about <strong>From Metrics to Mastery: Monitoring vital signs of Kubernetes</strong>, taking us through the metrics that are critical for maintaining the health and performance of pod and container systems.</p>
</li>
</ul>
<p>During the break, I visited a few booths, from <a target="_blank" href="https://newrelic.com/">New Relic</a> and <a target="_blank" href="https://devtron.ai/">Devtron</a> and briefly understood the details of the product offerings and how they can be best utilized.</p>
<ul>
<li><p>After the break, we had a session on <strong>Kubebuilder Intro &amp; Deep Dive</strong> by <a target="_blank" href="https://twitter.com/oshi1136">Oshi Gupta</a>. She presented how custom operators can help extend functionality to the application and how the controller logic works with the help of examples and live demo. She also shared about the tools used for creating custom operators - <a target="_blank" href="https://operatorframework.io/">Operator Framework</a>, <a target="_blank" href="https://kubeops.net/">KubeOps</a>, and <a target="_blank" href="https://github.com/kubernetes-sigs/kubebuilder">Kubebuilder</a>. Kubebuilder has a more simplified experience and is easy to use.</p>
</li>
<li><p><a target="_blank" href="https://twitter.com/harsh_thakur_1">Harsh Thakur</a> presented his session on Policy Control for Software Supply Chain in a fun and interesting way by correlating the supply software chain with food, where the build system can be considered similar to the chef, dependencies - the ingredients and continuous integration to a restaurant. The importance of security, compliance, SBOM scores were well emphasized.</p>
</li>
<li><p><a target="_blank" href="https://www.linkedin.com/in/ajeet-murmu-ba024a9a/">Ajeet Murmu</a> and <a target="_blank" href="https://www.linkedin.com/in/shefalipachori/">Shefali Pachori</a> took us through the specifics of RBAC beyond the traditional scope and how Open Policy Agent (OPA) can help in combination with custom REGO policies. They showed a demo on how UI filtering was done for Admin/User view/actions with OPA based checks.</p>
</li>
</ul>
<p>It was lunch time! Having listened to the amazing talks so far, it was time to refill 😁<br />I got a chance to bond with the amazing host of the event, Shabana Jahangeer, loved her energy and grace on the stage. Got to quickly meet Nabarun and Nikitha, and thanked them for such a wonderful keynote address.</p>
<ul>
<li><p>Panel discussion on <strong>A Journey of CNCF Maintainers From India</strong> was super insightful! We had Madhav Jivrajani, Sayan Chowdhury, Priyanka Saggu, Shubham Sharma, Ashutosh Kumar and Meha Bhalodiya share their learnings, suggestions and experiences during their contribution journeys.<br />  <strong>Key Takeaways:</strong></p>
<ul>
<li><p>Consistency is the key (Grow in the community, stay longer)</p>
</li>
<li><p>Ask the smart questions, use the mentor's time effectively</p>
</li>
<li><p>Find your area of interest, learn in-depth and build on</p>
</li>
<li><p>Explore technical opportunities and gain exposure. There's no need to rush to make an impact</p>
</li>
<li><p>Importance of knowledge and power transfers process, standardized contribution cycles.</p>
</li>
</ul>
</li>
<li><p><strong>Distributed Tracing with Tempo and TraceQL</strong> by Suraj Sidh was very informative, he started with how tracing works, explaining the concepts of content propagation, and ordering information from logs. He justified the need for new query language given there are way too many of them and why <a target="_blank" href="https://grafana.com/docs/tempo/latest/traceql/">TraceQL</a> is worth it.</p>
<ul>
<li><p>It has type awareness</p>
</li>
<li><p>Regex</p>
</li>
<li><p>Aggregators</p>
</li>
<li><p>Pipelining</p>
</li>
<li><p>Structural operators</p>
</li>
<li><p>Built-in autocomplete</p>
</li>
</ul>
</li>
<li><p><strong>Automatic logs, traces and metrics in K8s using OpenTelemetry &amp; SigNoz</strong> by <a target="_blank" href="https://twitter.com/pranay01">Pranay Prateek</a> was interesting. Got to learn about SigNoz, based natively on OpenTelemetry, a vendor-neutral open-source standard for instrumentation. No fear of instrumenting with vendor SDK and getting locked in. The demo on using Opentelemetry Operator in Kubernetes was helpful to understand the working in action. Congratulations to <a target="_blank" href="https://twitter.com/pranay01">Pranay Prateek</a> on hitting 13k Github likes on <a target="_blank" href="https://github.com/signoz/signoz">SigNoz</a>.</p>
</li>
<li><p><strong>Event Driven Scaler Using Keda</strong> by <a target="_blank" href="https://twitter.com/26tanishabanik">Tanisha Banik</a> was driven with examples and use cases on how KEDA (Kubernetes-based Event Driven Autoscaling) makes it possible to easily scale based on any metrics from almost any metric provided.</p>
</li>
<li><p>The focus of Joinal Ahmed and Nikhil Rana's talk, "<strong>Building MLOps Platform with Kubeflow on GKE</strong>," centered around the utilization of Kubeflow for creating a multi-user environment and managing interactive notebooks, while also employing Ray to efficiently orchestrate distributed computing workloads throughout the entire machine learning lifecycle, encompassing tasks in an orchestrated and standardized manner.</p>
</li>
</ul>
<p>I had to leave early so I missed some of the awesome lightning talks which I hope to get some leads or presentations from KCD Bengaluru Official pages/channels.</p>
<p>Moving on to Day 2 in high spirits passed on from Day 1. It was the ethnic theme, and lovely to see the organizing team and a few attendees in their ethnic wear.</p>
<p>Keynote 2: <strong>9 Lessons from k8s in Enterprise</strong> by <a target="_blank" href="https://twitter.com/vishal_biyani"><strong>Vishal Biyani</strong></a> was truly amazing, relatable and insightful.</p>
<ul>
<li><p><strong>Learnings</strong>:</p>
<ul>
<li><p>Community = Innovation</p>
</li>
<li><p>Challenges = Leading factor to innovation</p>
</li>
<li><p>Technology is great but business value is crucial</p>
</li>
<li><p>Technical perfection is good but solving the actual problem is better</p>
</li>
<li><p>One-time operational cost &lt; Managed Serverless</p>
</li>
<li><p>Learn tech at lower levels of abstraction</p>
</li>
<li><p>Minimum viable transformations and align progress over perfection</p>
</li>
</ul>
</li>
<li><p><a target="_blank" href="https://twitter.com/zmrfzn">Zameer Fouzan</a> gave a brief talk on Observability 101 on K8s, as it is a crucial subject in the world of Kubernetes adoption for scalable and secure infrastructure today with four parts to it - Metrics, Events, Logs and Traces and how New Relic brings all observability in one place.</p>
</li>
<li><p>Super informative session on <strong>Tools for eBPF DevSecOps</strong> by <a target="_blank" href="https://twitter.com/SayandeepSen5">Sayandeep Sen</a>. It covered details on how safe and efficient ePBF is and why it is hard to re-use the code owing to the difficulty in finding the relevant code and understanding it. But this space and seen tremendous growth and join the <a target="_blank" href="https://github.com/eBPFDevSecTools">ePBF community</a> by starting small - annotating and learning about the dev tools.</p>
<p>  <a target="_blank" href="https://twitter.com/piece_of_irony/status/1664920750078427137">Anusha on Twitter: "@KCDBengaluru #KCDBengaluru - Tools for eBPF DevSecOps by Sayandeep Sen 9/n</a> <a target="_blank" href="https://t.co/20nWmCNbfj">https://t.co/20nWmCNbfj</a><a target="_blank" href="https://twitter.com/piece_of_irony/status/1664920750078427137">" / Twitter</a></p>
</li>
<li><p><strong>Tackling Container Networking at Scale</strong> by <a target="_blank" href="https://www.linkedin.com/in/yashtandon019/"><strong>Yash Tandon</strong></a> took us through the benefits of Cilium towards advanced security, and efficiency over native CNI, and how Cilium CLI can help in conducting connectivity tests and checking the status. He shared the QR code for us to find more details:<br />  <a target="_blank" href="https://twitter.com/piece_of_irony/status/1664920525070643200/photo/2">Anusha on Twitter: "@KCDBengaluru #KCDBengaluru - Tackling Container Networking at Scale by Yash Tandon 8/n</a> <a target="_blank" href="https://t.co/tlD8ZZGfPe">https://t.co/tlD8ZZGfPe</a><a target="_blank" href="https://twitter.com/piece_of_irony/status/1664920525070643200/photo/2">" / Twitter</a></p>
</li>
<li><p><strong>What is cgroups v2? and how it affects our application</strong> by <a target="_blank" href="https://twitter.com/MahesKBlr"><strong>Mahesh</strong></a> was very informative. He took us through the basics of resource allocations and how cgroups play a role and what's changing with cgroups v2. Shared examples provided insights on how operating in older versions of Java lead to higher compute requirements after upgrading to k8s 1.25. Read more details on <a target="_blank" href="https://github.com/Maheshk-MSFT/cgroupsv2_in_aksv1.25-kcd-talk-slide-2023">Maheshk-MSFT/cgroupsv2_in_aksv1.25-kcd-talk-slide-2023: Java apps running on older JDK &lt; 11 moving to K8s 1.25 shows memory issue (</a><a target="_blank" href="http://github.com">github.com</a><a target="_blank" href="https://github.com/Maheshk-MSFT/cgroupsv2_in_aksv1.25-kcd-talk-slide-2023">)</a></p>
</li>
<li><p><strong>Policy-Based Infrastructure as Code with Kyverno</strong> by <a target="_blank" href="https://github.com/shivamtyagi12345">Shivam Tyagi</a> and <a target="_blank" href="https://twitter.com/kr_mallikarjuna">Kumar Mallikarjuna</a> dived at Why Kyverno, how it solves policy based control use-cases which can be in Audit or Enforce mode, they showed examples on how bucket creation through crossplane was restricted only to us-west-2 in enforce mode and how it was allowed in Audit mode, and how to understand the clusterpolicy report.</p>
</li>
<li><p><strong>Cloud Native Multi-Cluster/Multicloud Global Load Balancer for Kubernetes</strong> by <a target="_blank" href="https://www.linkedin.com/in/tamil-vanan-6273b825/"><strong>Tamil Vanan Karuppannan</strong></a> was quite interesting as he shared the Architecture and working of k8gb controller in multi-cluster/cloud environment and the involved components.</p>
</li>
</ul>
<p>Post lunch was the power-packed unconference extending on to folks interested in contributing to Open Source, challenges faced and how to tackle a few of them with some tips to navigate them. These interactions helped in seeking mentors and mentee connections.</p>
<ul>
<li><p>I was a little late for Simplifying <strong>multi-clusters in Kubernetes using KubeSlice</strong> by <a target="_blank" href="https://www.linkedin.com/in/yachika-ralhan-a0b234154/">Yachika Ralhan</a> and <a target="_blank" href="https://www.linkedin.com/in/rahul-sawra/">Rahul Sawra</a> but found the contents I was looking for on <a target="_blank" href="https://github.com/kubeslice">Github | Kubeslice</a>.</p>
</li>
<li><p>The last and powerful talk of the event - <strong>Running distributed stateful system on Kubernetes - Beyond Statefulsets by</strong> <a target="_blank" href="https://www.linkedin.com/in/babusri"><strong>Babu Srithar</strong></a> stirred up many inquisitive questions about how to deal with databases running on Kubernetes. The evolution of persistent volumes, running stateful systems efficiently on Kubernetes, and tackling the reverse ordinality rolling update with a custom operator helping with faster replication made us more curious and excited.</p>
</li>
</ul>
<p>We had 4 interesting lightning talks:</p>
<ul>
<li><p>How you can save money for your company by <a target="_blank" href="https://www.linkedin.com/in/ramdevcm/">Ramdev CM</a> by leveraging fluentbit, fluentd, opensearch and elasticsearch.</p>
</li>
<li><p>Kubernetes: When DNS Takes a Detour by <a target="_blank" href="https://twitter.com/rr0hit">Rohit</a> explained to us the importance of having FQDN, ndots limited to 1 preferably.</p>
</li>
<li><p>Victoria Metrics by <a target="_blank" href="https://twitter.com/RaghuReddyCloud">Raghu Reddy</a> covered how Victoria Metrics has an edge over Prometheus in terms of storage, and the ease with which you could transition to Victoria Metrics.</p>
</li>
<li><p>In their brief talk on Introduction to Carvel by Anushree and Rohit Aggarwal showed us the composability and package management made easy with ytt and kapp.</p>
</li>
</ul>
<p>What a fabulous time at KCD Bengaluru (In-Person) it was, loved the experience, truly transformational. I will look forward to more KCD events and as the organizers shared - we hope we aren't too far from the day when we'd be having KubeCon in India. To end it with a happy and high note, was the live and vibrant music band performance that made us sway and dance to their tunes!</p>
<p>Congratulations to all the winners of events for the best tweet, best dressed, quizzes, and iPad:</p>
<ul>
<li><p><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664971558442475520">Kubernetes Community Days Bengaluru on Twitter: "Best tweet award goes to @ashageethar 👏🏻 Thank you for sharing event moments. #Kubernetes #KCDBengaluru #CNCF</a> <a target="_blank" href="https://t.co/tlYl8OLwti">https://t.co/tlYl8OLwti</a><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664971558442475520">" / Twitter</a></p>
</li>
<li><p><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664970668494995456">Kubernetes Community Days Bengaluru on Twitter: "Best dressing award goes to @avinash_ukr 👏🏻👏🏻👏🏻 #Kubernetes #KCDBengaluru #CNCF</a> <a target="_blank" href="https://t.co/F863Fvkash">https://t.co/F863Fvkash</a><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664970668494995456">" / Twitter</a></p>
</li>
<li><p><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664972996681904128">Kubernetes Community Days Bengaluru on Twitter: "Best traditional female award goes to Shobha M #kubernetes #KCDBengaluru #CNCF</a> <a target="_blank" href="https://t.co/yu4Q5wuEgb">https://t.co/yu4Q5wuEgb</a><a target="_blank" href="https://twitter.com/KCDBengaluru/status/1664972996681904128">" / Twitter</a></p>
</li>
<li><p><a target="_blank" href="https://www.linkedin.com/posts/suresh-k-c-878156160_cncf-booth-booth-activity-7070421990926405632-S8a9?utm_source=share&amp;utm_medium=member_desktop">https://www.linkedin.com/posts/suresh-k-c-878156160_cncf-booth-booth-activity-7070421990926405632-S8a9</a></p>
</li>
<li><p><a target="_blank" href="https://twitter.com/zmrfzn/status/1664951987006308353">Zameer Fouzan on Twitter: "And it's a wrap with our 2nd winner on day 2 of #KCDBengaluru. Congratulations 🎊 Great participation. Amazing event, thank you @KCDBengaluru ♥</a> <a target="_blank" href="https://t.co/EbcSd7KX6f">https://t.co/EbcSd7KX6f</a><a target="_blank" href="https://twitter.com/zmrfzn/status/1664951987006308353">" / Twitter</a></p>
</li>
</ul>
<p>Job Board: <a target="_blank" href="https://twitter.com/SuperAayush14/status/1664955522720862208">Aayush Sharma on Twitter: "Job board from @KCDBengaluru</a> <a target="_blank" href="https://t.co/mITIKRnba0">https://t.co/mITIKRnba0</a><a target="_blank" href="https://twitter.com/SuperAayush14/status/1664955522720862208">" / Twitter</a></p>
<p>P.S. I must say, what incredible sketch notes for each of the talks summarizing the concepts at large, ICYMI - you can follow on the Twitter thread: <a target="_blank" href="https://twitter.com/search?q=%23KCDBengaluru%20%23Kubernetes%20%23CNCF%20%23SillyStrokes&amp;src=typed_query&amp;f=top">#KCDBengaluru #Kubernetes #CNCF #SillyStrokes - Twitter Search / Twitter</a></p>
<p><a target="_blank" href="https://www.youtube.com/playlist?list=PLo4lFffE9Ct9rvNjSOOL64VTs_qVnrSnI">KCD Bengaluru 2023 - Talks - YouTube</a></p>
<p>Share your experience, learnings and takeways from the event in the comments or share it through #KCDBengaluru hashtag and tag @KCDBengaluru on Twitter.</p>
<p>Thank you KCD, Organizers, CNCF, Sponsors and all you lovely people who attended the event!</p>
]]></content:encoded></item><item><title><![CDATA[Harness: The Key to Efficiently Running Chaos Experiments]]></title><description><![CDATA[I recently happened to attend the Chaos Carnival where I learned about some amazing tools and it was my second year attending it. Chaos Engineering has gained so much value today that is not just a checklist item for the stability of your systems but...]]></description><link>https://anushasridharan.in/harness-the-key-to-efficiently-running-chaos-experiments</link><guid isPermaLink="true">https://anushasridharan.in/harness-the-key-to-efficiently-running-chaos-experiments</guid><category><![CDATA[Chaos Engineering]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sun, 26 Mar 2023 06:32:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/D9Rs61Lfn30/upload/5850444c7f5f2b7f3452099a06ac81f0.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently happened to attend the <a target="_blank" href="https://chaoscarnival.io/">Chaos Carnival</a> where I learned about some amazing tools and it was my second year attending it. Chaos Engineering has gained so much value today that is not just a checklist item for the stability of your systems but also a mechanism by which you are ensuring that the steady state hypothesis of your systems is well known to you and how to better them.</p>
<p><a target="_blank" href="https://www.harness.io/products/chaos-engineering">Harness</a> as a tool has a lot to offer, but in this article, I'll be trying out only the chaos engineering features that it provides.</p>
<ul>
<li><p>To get started, the first step would be to sign up on Harness. You will be getting enterprise trial version for 15 days.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679677727636/5c79a8d5-d0ca-4051-a6d0-91eb8fedacd0.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Create a project</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679677881478/2a4c35fe-7074-4909-9a71-56d19a3089c1.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Setup your environment</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679677919851/9192db6c-8aa8-4b99-8f33-83333c87503a.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Enable Chaos</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679806755932/93526f6f-6354-4b89-881d-a795a87ddae9.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>I'll be setting up a Kubernetes cluster, thanks to <a target="_blank" href="https://kodekloud.com/pages/playgrounds">KodeKloud</a>, I get to easily spin up a k3s cluster.</p>
<ul>
<li><p>Configure chaos infrastructure</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679678038625/827e522f-1ba4-468b-a7dd-424ee9b4f5bb.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>Deploy chaos infrastructure on your k8s cluster using the reference yaml after you click download.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679804890336/f55e7956-7eff-472d-af3f-4166072a12c0.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>After a successful connection, you should see the heartbeat and status 'CONNECTED'</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679807151555/35f49662-d86e-48d0-9beb-d413dfb1ccdb.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>Now, time to create some chaos experiments.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679807277295/6fe99b77-ee24-4aa5-b10b-5d245e94ecf3.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>You can either pick from the available template (LitmusChaos) or make your yaml template. In this case, I'll be using the Kubernetes node CPU hog template.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679807426230/5a7d08ef-e45d-4d78-b2cb-673c343cfc31.png" alt class="image--center mx-auto" /></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679807812342/d3ccb65e-1d76-49f5-a086-4d311255aad0.png" alt class="image--center mx-auto" /></p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>Run the attack</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679808077152/d1c4688f-acaa-45ab-ba4f-8751f67eb2c3.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Check the execution status and logs</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679808305091/06de8b46-22ef-4d58-907f-26dc07b9f890.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>During the attack, try checking the CPU spike,</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679808814756/9ade1b6c-0e97-4b5e-8d45-a37d1a79a4b9.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>At the end of the experiment, you can check the resiliency score.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679808492515/6b47d676-4e73-4e34-bd77-50bceb1f5f75.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Re-run the experiment with additional steps. In the below example, I've added timechaos and kubelet service kill.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679810047873/5238cbd6-2847-4edc-95d4-1d328c80c958.png" alt class="image--center mx-auto" /></p>
<p>  since the experiment did not succeed fully, the resilience score was updated accordingly to 33.33% because only 1/3 stages passed. The last 2 stages failed because I didn't configure them to run on the required pods/nodes.</p>
</li>
<li><p>If you re-run the same experiment after reconfiguration and the attack execution completes successfully, you'll see an improved resilience score.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679811763319/f41d2020-be75-4d2d-a3d5-f416229d075e.png" alt class="image--center mx-auto" /></p>
<p>  I look to explore further more on the probes and combinations of different attacks.</p>
</li>
</ul>
<p>    If you happen to use harness for your chaos engineering attacks, do share about them in the comments!</p>
]]></content:encoded></item><item><title><![CDATA[Avoiding Unexpected Token Errors in Bash]]></title><description><![CDATA[Most of the time, the answer is staring right at us and at times, you can't seem to just get hold of the error when there seems nothing wrong with it. Right?
Let me share a few examples of "Unexpected token" errors that I have been breaking my head w...]]></description><link>https://anushasridharan.in/avoiding-unexpected-token-errors-in-bash</link><guid isPermaLink="true">https://anushasridharan.in/avoiding-unexpected-token-errors-in-bash</guid><category><![CDATA[DebuggingFeb]]></category><category><![CDATA[Bash]]></category><category><![CDATA[debugging]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Tue, 07 Mar 2023 16:02:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/cckf4TsHAuw/upload/a08b149f57ef3f989f4e45308e7e5c3b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most of the time, the answer is staring right at us and at times, you can't seem to just get hold of the error when there seems nothing wrong with it. Right?</p>
<p>Let me share a few examples of "Unexpected token" errors that I have been breaking my head with recently.</p>
<p>This is a test.sh with a simple check, if the <code>a==5</code> echo "yes".</p>
<pre><code class="lang-bash">$ cat test.sh
a=<span class="hljs-variable">$1</span>
<span class="hljs-keyword">if</span> [<span class="hljs-variable">$a</span> == 5] <span class="hljs-keyword">then</span>
        <span class="hljs-built_in">echo</span> <span class="hljs-string">'yes'</span>
<span class="hljs-keyword">fi</span>
</code></pre>
<p>When I try executing it, I see the below error:</p>
<pre><code class="lang-bash">$ ./test.sh
./test.sh: line 4: syntax error near unexpected token `<span class="hljs-keyword">fi</span><span class="hljs-string">'
./test.sh: line 4: `fi'</span>
</code></pre>
<p>It is very easier to forget that $1 is expected to be fed as a value for a, even after I corrected that, the error persisted. So, the issue wasn't just with $1, something else was off.</p>
<pre><code class="lang-bash">$ ./test.sh 7
./test.sh: line 4: syntax error near unexpected token `<span class="hljs-keyword">fi</span><span class="hljs-string">'
./test.sh: line 4: `fi'</span>
</code></pre>
<p>A few mistakes were to be fixed:</p>
<pre><code class="lang-bash">a=<span class="hljs-variable">$1</span> 
<span class="hljs-comment">## Use appropriate spaces between the variable and braces</span>
<span class="hljs-keyword">if</span> [ <span class="hljs-variable">$a</span> == 5 ]; <span class="hljs-keyword">then</span> <span class="hljs-comment"># add ; to if before then</span>
        <span class="hljs-built_in">echo</span> <span class="hljs-string">'yes'</span>
<span class="hljs-keyword">fi</span>
</code></pre>
<pre><code class="lang-bash">$ ./test.sh 5
yes
</code></pre>
<p>Finally, to get it working properly, I modified the code a little bit to echo the usage for the script, and condition set for else to know what happens when a non-5 number is passed.</p>
<pre><code class="lang-bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">"Usage ./test &lt;num&gt;"</span>
a=<span class="hljs-variable">$1</span>
<span class="hljs-keyword">if</span> [ <span class="hljs-string">"<span class="hljs-variable">$a</span>"</span> -eq 5 ]; <span class="hljs-keyword">then</span>  <span class="hljs-comment"># since it was check for equal, I used -eq </span>
    <span class="hljs-built_in">echo</span> <span class="hljs-string">"yes"</span>
<span class="hljs-keyword">else</span>
   <span class="hljs-built_in">echo</span> <span class="hljs-string">"Not 5"</span>
<span class="hljs-keyword">fi</span>
</code></pre>
<p>Thanks to one of the <a target="_blank" href="https://stackoverflow.com/questions/62379433/syntax-error-unexpected-token-bash-scripting">StackOverflow</a> answers, I happened to learn about <a target="_blank" href="https://www.shellcheck.net/">ShellCheck – shell script analysis tool</a>.</p>
<p>I was still not fully set with the script, as the checker pointed out, it didn't have a reference to the shell directive.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1678202998615/5b24e604-9798-4619-bde1-a3d8209924f2.png" alt class="image--center mx-auto" /></p>
<p>After adding that, the checker seems to be happy and passed my script with "no issues found"</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1678203123545/6870232f-c693-42a2-b3cd-0f93e04a372b.png" alt class="image--center mx-auto" /></p>
<p>But guess what, after the debugging journey - comes the realization of how less I've known. I looked up [linux - Difference between [[ ]] AND [ ] or (( )) AND ( ) in Bash - Super User](https://superuser.com/questions/1533900/difference-between-and-or-and-in-bash). I always thought [[]] is used for every operation irrespective. Sometimes, it is the lack of awareness, but we should try going that extra mile to look for better alternatives or rather effective ones than just getting a broken code working.</p>
<p>Let's take this another example,</p>
<pre><code class="lang-bash"><span class="hljs-keyword">for</span> item <span class="hljs-keyword">in</span> $(cat items.txt); <span class="hljs-keyword">do</span>
    <span class="hljs-built_in">echo</span> <span class="hljs-string">"The fruit I see now: <span class="hljs-variable">$item</span>"</span>
    <span class="hljs-keyword">if</span> [[ <span class="hljs-variable">$item</span> == <span class="hljs-string">"apple"</span> ]]; <span class="hljs-keyword">then</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"It is my favorite fruit!"</span>
    <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> [[ <span class="hljs-variable">$item</span> == <span class="hljs-string">"banana"</span> ]]; <span class="hljs-keyword">then</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"That is my pet's favorite fruit!"</span>
    <span class="hljs-keyword">else</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"This might be something I like in a salad!"</span>
    <span class="hljs-keyword">fi</span>
<span class="hljs-keyword">done</span>
</code></pre>
<p>When I execute the above code, I run into my old 'unexpected token' friend, yet again, I am trying to think hard, what could be wrong here?</p>
<pre><code class="lang-bash">$ ./test.sh
./test.sh: line 10: syntax error near unexpected token `<span class="hljs-keyword">done</span><span class="hljs-string">'
./test.sh: line 10: `done</span>
</code></pre>
<p>My simple ignorance was to use else if, instead of elif, after fixing that, it worked like a charm,</p>
<pre><code class="lang-bash"><span class="hljs-keyword">for</span> item <span class="hljs-keyword">in</span> $(cat items.txt); <span class="hljs-keyword">do</span>
    <span class="hljs-keyword">if</span> [[ <span class="hljs-variable">$item</span> == <span class="hljs-string">"apple"</span> ]]; <span class="hljs-keyword">then</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">$item</span> is my favorite fruit!"</span>
    <span class="hljs-keyword">elif</span> [[ <span class="hljs-variable">$item</span> == <span class="hljs-string">"banana"</span> ]]; <span class="hljs-keyword">then</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">$item</span> is my pet's favorite fruit!"</span>
    <span class="hljs-keyword">else</span>
       <span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">$item</span> might be something I like in a salad!"</span>
    <span class="hljs-keyword">fi</span>
<span class="hljs-keyword">done</span>
</code></pre>
<pre><code class="lang-bash">$ ./test.sh
apple is my favorite fruit!
orange might be something I like <span class="hljs-keyword">in</span> a salad!
mango might be something I like <span class="hljs-keyword">in</span> a salad!
grapes might be something I like <span class="hljs-keyword">in</span> a salad!
banana is my pet<span class="hljs-string">'s favorite fruit</span>
</code></pre>
<p>going back to basics is one other key thing we shouldn't hesitate to do. Time to time, works wonders, exploring more scenarios could fast-track that process for you. You don't necessarily have to remember it all but keeping a bunch of bookmarks for syntax checking could help you in long run.</p>
<p>That's it from me for now, good day!</p>
]]></content:encoded></item><item><title><![CDATA[My Dev Retro 2022]]></title><description><![CDATA[2022 has been an amazing year for me for the many firsts. From starting my first technical blog here on Hashnode to participating in my first hacktoberfest...it has been a truly joyful ride for me.
I got to participate in different hackathons - AWS A...]]></description><link>https://anushasridharan.in/my-dev-retro-2022</link><guid isPermaLink="true">https://anushasridharan.in/my-dev-retro-2022</guid><category><![CDATA[#DevRetro2022]]></category><category><![CDATA[#DevRetro2022 #hashnode]]></category><category><![CDATA[Developer]]></category><category><![CDATA[Low Code]]></category><category><![CDATA[#hacktoberfest ]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Fri, 06 Jan 2023 05:22:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/aOC7TSLb1o8/upload/2244680344bb4b22b381cdbce82f1e1c.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>2022 has been an amazing year for me for the many firsts. From starting my first technical blog here on Hashnode to participating in my first hacktoberfest...it has been a truly joyful ride for me.</p>
<p>I got to participate in different hackathons - <a target="_blank" href="https://hashnode.com/preview/63b6c5e773ee0387bc7acba4">AWS Amplify</a> and <a target="_blank" href="https://anushasridharan.in/events-near-me-hack-r-play">HACK-R-PLAY</a>, not that hackathons were new to me, but I was especially motivated to learn through the journey.</p>
<p>Sometimes, you hold on to your chosen technology too close that you are not willing to explore others. I believe through these hackathons I was able to break that barrier for myself and realized that true learning lies outside the comfort zone. And who knows, it could become your favorite too!</p>
<p>Along with the exploration of many open-source tools, I become a fan of several interesting tools that I was more than happy to write documentation for a few as a no-code contribution during Hacktoberfest. I would like to be more proactive and diligent this year in finding the projects I could contribute to much before hacktoberfest starts and not just restrict building/contributing just to the month of October.</p>
<p>Taking an annual subscription of <a target="_blank" href="https://kodekloud.com/">KodeKloud</a> helped me learn Terraform (IaC), golang and brush up on python concepts. I was familiar with KodeKloud for Kubernetes Certification Preparation and Mock tests but they have expanded so much on their learning content that I can relate to - it has become my go-to place. I specially enjoy their <a target="_blank" href="https://kodekloud.com/pages/playgrounds">playground</a> as I don't have to go through the hassle of setting up the environment for my practice or a particular tool or language.</p>
<p>I also got a chance to participate in many virtual conferences - React Day, Chaos Carnival, KubeCon, and AWS Community Day to name a few. KubeCon is my favorite as always. Online quizzes through <a target="_blank" href="https://quiz.konfhub.com/">Konfhub</a> were super fun, got to learn so much.</p>
<p>I want to take this moment to thank the amazing dev community across the world which has been so kind and helpful - making everyone feel welcome. They always are here to encourage you to do better and become your evolved self with their constant support and motivation.</p>
]]></content:encoded></item><item><title><![CDATA[Events Near Me - [HACK-R-PLAY]]]></title><description><![CDATA[Events Near Me is my idea submission for HACK-R-PLAY. 
MOTIVATION

I often find it hard to consolidate events happening around me
Although, I can always visit several event platforms, there's no one place that gets all the information
Being able to f...]]></description><link>https://anushasridharan.in/events-near-me-hack-r-play</link><guid isPermaLink="true">https://anushasridharan.in/events-near-me-hack-r-play</guid><category><![CDATA[Next.js]]></category><category><![CDATA[hackathon]]></category><category><![CDATA[nhost]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Sun, 30 Oct 2022 09:26:29 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/SyYmXSDnJ54/upload/v1667208446125/xqqkmHCcd.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Events Near Me is my idea submission for <a target="_blank" href="https://hustles.reactplay.io/hackrplay/2022/home#about">HACK-R-PLAY</a>. </p>
<h3 id="heading-motivation">MOTIVATION</h3>
<ul>
<li>I often find it hard to consolidate events happening around me</li>
<li>Although, I can always visit several event platforms, there's no one place that gets all the information</li>
<li>Being able to filter events based on interests, preference, location would be beneficial for folks to quickly decide on how they would like to spend their time and in which events.</li>
</ul>
<h3 id="heading-initial-steps">INITIAL STEPS</h3>
<ul>
<li>Creation of project on Nhost
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666447993355/XfLPAm9IP.png" alt="image.png" /></li>
<li>Follow quick start guide from the <a target="_blank" href="https://docs.nhost.io/platform/quickstarts/nextjs">official Nhost documentation</a>. I used their starter code too! Very smooth and you can easily build on it.</li>
</ul>
<h3 id="heading-setup">SETUP</h3>
<ul>
<li>Create Next.js App from the starter code<pre><code>npx create-next-app events-retreat --example <span class="hljs-string">"https://github.com/nhost/quickstart-nextjs"</span>
</code></pre></li>
<li>Install required npm packages<pre><code>npm install @nhost/react @nhost/nextjs graphql
npm install @nhost/react-apollo @apollo/client
</code></pre></li>
<li>Update environment details<pre><code>NEXT_PUBLIC_NHOST_SUBDOMAIN=[subdomain]
NEXT_PUBLIC_NHOST_REGION=[region]
</code></pre></li>
<li><p>Enable Github based Authentication from Nhost
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666457253093/Dk8MKRYad.png" alt="image.png" />
Add the application to OAuth Apps from Develop settings on your Github profile:
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666457517680/_NqFLD0TT.png" alt="image.png" /></p>
</li>
<li><p>Plugin all the pieces within the code - NhostProvider, ApolloProvider, Authentication. I simply followed the instructions listed on <a target="_blank" href="https://docs.nhost.io/platform/quickstarts/nextjs">official Nhost documentation</a></p>
</li>
<li><p>For loading the Data to my events table, I made used of Hasura Engine's mutations to insert data and queries to fetch the data.</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666457771788/CvNTNvtkT.png" alt="image.png" />
Note: You will have to update permissions for new users to be able have write permissions selectively.</p>
<p>I referred a few videos that I would like to share: </p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=s8DDLDrAkZk">https://www.youtube.com/watch?v=s8DDLDrAkZk</a></div>
<p>Thank you <a class="user-mention" href="https://hashnode.com/@atapas">Tapas Adhikary</a> and Koustov for doing ReactPlay Live: Knowing Nhost</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=1qfDkmtuWqg">https://www.youtube.com/watch?v=1qfDkmtuWqg</a></div>
<h3 id="heading-experience">EXPERIENCE</h3>
<p>I had an awesome time building this app. Although, this project has a lot more work to be done, I'm glad that ReactPlay team conducted this HACK-R-PLAY, I got to be more familiar with Nhost and Next.js.
I am completely new to React and Next.js, but Nhost's starter code made it easy for me to build upon. </p>
<p>Many thanks to the ReactPlay and Nhost team for this opportunity. Congratulations to all the <a target="_blank" href="https://hustles.reactplay.io/hackrplay/2022/home#winners">winners</a> 🎉🎉🎉🎉🎉! </p>
]]></content:encoded></item><item><title><![CDATA[Steampipe: Getting Started]]></title><description><![CDATA[About Steampipe

Steampipe organizes your cloud metadata into tables and fields that are easily discoverable and readable. 

It is the universal interface to APIs. You can SQL to query cloud infrastructure, SaaS, code, logs, and more. 
Painlessly joi...]]></description><link>https://anushasridharan.in/steampipe-getting-started</link><guid isPermaLink="true">https://anushasridharan.in/steampipe-getting-started</guid><category><![CDATA[steampipe]]></category><category><![CDATA[SQL]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[AWS]]></category><category><![CDATA[plugins]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Fri, 28 Oct 2022 11:13:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1666955499140/kxiNbGe5c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-about-steampipe">About Steampipe</h2>
<blockquote>
<p>Steampipe organizes your cloud metadata into tables and fields that are easily discoverable and readable. </p>
<ul>
<li>It is the universal interface to APIs. You can SQL to query cloud infrastructure, SaaS, code, logs, and more. </li>
<li>Painlessly join live cloud configuration data with internal or external data sets to create new insights.</li>
</ul>
</blockquote>
<h2 id="heading-plugins-available-on-steampipe">Plugins available on Steampipe</h2>
<p>Steampipe has various plugins ranging from public cloud, SaaS to Software Development &amp; Internet. 
Some of the plugins I see myself using a lot is aws, github, docker. 
Guess what, they have plugin for <a target="_blank" href="https://hub.steampipe.io/plugins/turbot/twitter">twitter</a> and <a target="_blank" href="https://hub.steampipe.io/plugins/turbot/reddit">Reddit</a> too! </p>
<h2 id="heading-how-to-start-using-steampipe">How to start using Steampipe</h2>
<ul>
<li><p>You can find detail installation instructions on their <a target="_blank" href="https://github.com/turbot/steampipe">Github</a> based on where you would like to install steampipe, locally on Linux based host or MacOS.</p>
</li>
<li><p>I used <strong>AWS Cloud Shell</strong> to interact with Steampipe in the following way: </p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666950508883/so8KYwG4s.png" alt="image.png" /></p>
<ul>
<li>Install Steampipe<pre><code>curl -s -L https:<span class="hljs-comment">//github.com/turbot/steampipe/releases/latest/download/steampipe_linux_amd64.tar.gz | tar -xzvf -</span>
</code></pre></li>
<li>Install aws plugin<pre><code>./steampipe plugin install aws
</code></pre></li>
<li>Initiate query<pre><code>./steampipe query
</code></pre></li>
<li><p>I could use the steampipe query to get me the list of S3 buckets (as the screenshot suggests, there weren't any on my account) and get details for EC2 instances, one of them was in <strong>Running </strong> and other in <strong>Terminated </strong> state. </p>
</li>
<li><p>It also has an interactive way of querying which is full quite helpful to autocomplete your queries by pressing  <code>tab</code>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666951051399/e5_9r2q2H.png" alt="image.png" /></p>
</li>
<li><p>To get CPU utilization metric on hourly measure for the EC2 instances:</p>
<pre><code>select * <span class="hljs-keyword">from</span> aws_ec2_instance_metric_cpu_utilization_hourly
</code></pre><pre><code>| instance_id  | metric_name    | namespace | average           | maximum          | minimum   | sample_count | sum                | unit    | timestamp   | partition | region    | account_id   | 
| i-abcd | CPUUtilization | AWS/EC2   | <span class="hljs-number">2.357547108929308</span> | <span class="hljs-number">3.5593220338983</span>  | <span class="hljs-number">2.13114754098358</span> | <span class="hljs-number">60</span>           | <span class="hljs-number">141.45282653575848</span> | Percent | <span class="hljs-number">2022</span><span class="hljs-number">-10</span><span class="hljs-number">-28</span>T08:<span class="hljs-number">55</span>:<span class="hljs-number">00</span>Z | aws  | us-east<span class="hljs-number">-1</span> | xxxxx | 
| i-pqrs | CPUUtilization | AWS/EC2   | <span class="hljs-number">2.830628979262431</span> | <span class="hljs-number">22.1311475409836</span> | <span class="hljs-number">1.50000000000001</span> | <span class="hljs-number">50</span>           | <span class="hljs-number">141.53144896312156</span> | Percent | <span class="hljs-number">2022</span><span class="hljs-number">-10</span><span class="hljs-number">-28</span>T07:<span class="hljs-number">55</span>:<span class="hljs-number">00</span>Z | aws | us-east<span class="hljs-number">-1</span> | xxxxx |
</code></pre></li>
<li><p>To get a detail understanding on the available tables for corresponding plugin you could always refer their thorough documentation - AWS <a target="_blank" href="https://hub.steampipe.io/plugins/turbot/aws/tables">Tables</a>.</p>
</li>
<li><p>To come out of the query results -&gt; <code>ESC + :q</code> and to come out of the query prompt -&gt; <code>ctrl+d</code>.</p>
</li>
</ul>
<h2 id="heading-viewing-twitter-data-using-steampipe-cloud">Viewing Twitter Data using Steampipe Cloud</h2>
<ul>
<li>Create <a target="_blank" href="https://cloud.steampipe.io/login">steampipe cloud</a> account</li>
<li>Create new workspace</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666955334363/_cOg72fUT.png" alt="image.png" /></p>
<ul>
<li>Provide twitter bearer token from your <a target="_blank" href="https://developer.twitter.com/en/portal">twitter developer profile</a> for authentication</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666955367582/4CHxGslip.png" alt="image.png" /></p>
<ul>
<li>I used a simply query to get few public metrics of my profile using the below query:<pre><code>select name, username, public_metrics  <span class="hljs-keyword">from</span> twitter_user
where username=<span class="hljs-string">'piece_of_irony'</span>
</code></pre><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1666953803974/CvPQ1l_WG.png" alt="image.png" /></li>
<li>I could easily get the list of my retweets using the below query:<pre><code>select text, created_at <span class="hljs-keyword">from</span> twitter_user_tweet
where user_id=<span class="hljs-string">'123xxxxx'</span>
and retweeted is not <span class="hljs-literal">null</span>
</code></pre></li>
</ul>
<p>Isn't it quite interesting how Steampipe brings the data together at the comfort of SQL queries? No complex integrations needed, simple to use and configure!</p>
<h2 id="heading-another-example-with-github-plugin">Another example with Github plugin</h2>
<ul>
<li>Add new connection on Steampipe for Github, add the Personal Access Token (PAT) generated from your GitHub profile to connect.</li>
<li>Running this below query got me search results that had 'hacktoberfest' in the code from public repositories. You can tweak and filter more specifically if you wish to.</li>
</ul>
<pre><code>select * <span class="hljs-keyword">from</span> github.github_search_code
where query = <span class="hljs-string">'hacktoberfest'</span>
limit <span class="hljs-number">100</span>;
</code></pre><p>I had a good time exploring <a target="_blank" href="https://steampipe.io/">Steampipe</a>. If you do too or actively use it, share your experience in the comments. </p>
<p>Cheers!</p>
]]></content:encoded></item><item><title><![CDATA[Microsoft Ignite | Cloud Skills Challenge]]></title><description><![CDATA[The Microsoft Learn Cloud Skills Challenge started October 12, 2022 at 4:00 PM UTC (16:00) and will end on November 9, 2022 at 4:00 PM UTC (16:00).
October has been a great month for many many things - Hacktoberfest, Microsoft Ignite, KubeCon, Inktob...]]></description><link>https://anushasridharan.in/microsoft-ignite-cloud-skills-challenge</link><guid isPermaLink="true">https://anushasridharan.in/microsoft-ignite-cloud-skills-challenge</guid><category><![CDATA[Cloud]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[skills]]></category><dc:creator><![CDATA[Anusha]]></dc:creator><pubDate>Thu, 27 Oct 2022 12:01:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/IN30NrknBxo/upload/v1666871205879/AkkxUxfcG.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Microsoft Learn Cloud Skills Challenge started October 12, 2022 at 4:00 PM UTC (16:00) and will end on November 9, 2022 at 4:00 PM UTC (16:00).</p>
<p>October has been a great month for many many things - Hacktoberfest, Microsoft Ignite, KubeCon, Inktober and so many great tech meetups and webinars to attend. 
I stumbled upon Microsoft Ignite Cloud Skill's Challenge. </p>
<blockquote>
<p>By completing one challenge within the Microsoft Learn Cloud Skills Challenge, eligible individuals are entitled to one free Microsoft Certification exam. </p>
</blockquote>
<p>Amazing 🎊, isn't it?</p>
<p>You are free to complete as many challenges you like to, but you can only claim one offer per person, regardless of how many you complete.
Read more on <a target="_blank" href="https://www.microsoft.com/en-US/cloudskillschallenge/ignite/officialrules/2022">Official Rules</a>.</p>
<h2 id="heading-i-opted-for-few-challenges-that-particularly-interest-me"><strong>I opted for few challenges that particularly interest me:</strong></h2>
<ul>
<li>Microsoft Ignite: Cloud Developer Challenge</li>
<li>Microsoft Ignite: AI Automation Challenge</li>
<li>Microsoft Ignite: Protect Everything Challenge</li>
</ul>
<h2 id="heading-there-are-other-challenges-you-could-pick-from"><strong>There are other challenges you could pick from:</strong></h2>
<ul>
<li>Microsoft Ignite: Intelligent Cloud Challenge</li>
<li>Microsoft Ignite: Field Service Automation Challenge</li>
<li>Microsoft Ignite: Modern Work Challenge</li>
<li>Microsoft Ignite: Cloud App Maker Challenge</li>
</ul>
<p>Details of the eligible exams is available on their <a target="_blank" href="https://www.microsoft.com/en-US/cloudskillschallenge/ignite/officialrules/2022">official site</a>.</p>
<p>Do let me know in the comments, which <strong>Cloud Skills Challenge</strong> would you like to take?</p>
]]></content:encoded></item></channel></rss>