<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Prasham H Trivedi</title><link>https://prashamhtrivedi.in/</link><description>Recent content on Prasham H Trivedi</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 16 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://prashamhtrivedi.in/index.xml" rel="self" type="application/rss+xml"/><item><title>The 401 is the map: three OAuth primitives in my private MCP servers</title><link>https://prashamhtrivedi.in/mcp-oauth-primitives/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/mcp-oauth-primitives/</guid><description>MCP OAuth looks like alphabet soup until you watch one client actually connect. Follow a single connection to my private MCP server, from the first anonymous request to the first authorized tool call, and the whole spec collapses into three primitives that fire exactly once, in order. Plus the three hacks the current libraries forced on me, which no documentation will warn you about.</description></item><item><title>Tools vs Resources vs Prompts: the MCP primitive you're misusing</title><link>https://prashamhtrivedi.in/mcp-primitive-youre-misusing/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/mcp-primitive-youre-misusing/</guid><description>MCP has three primitives, not one. Most servers cram everything into Tools, then blame the protocol for bloated context. The fix is one question per call: who pulls the trigger, the model, the app, or the user. Get it wrong on read-only data and you have handed the model a decision it should never have been making, and you cannot see the bad ones on a token counter.</description></item><item><title>MCP transports, decided</title><link>https://prashamhtrivedi.in/mcp-transports-decided/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/mcp-transports-decided/</guid><description>People burn the better part of a day picking an MCP transport for a question that was already settled by where their server runs. Here is the ten-second rule, the SSE migration you keep putting off, and the one stdio gotcha that looks like a dead server and has nothing to do with your code.</description></item><item><title>No, MCP servers aren't dead (and here's the 2007 reason why)</title><link>https://prashamhtrivedi.in/mcp-isnt-dead/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/mcp-isnt-dead/</guid><description>The MCP-is-dead wave is real, and every complaint under it is worth answering. But the death calls measure the wrong axis. The live fight is delivery and update control, and on that axis MCP holds a structural advantage skills and CLIs do not have yet. Part 2 of a series on who controls the update button.</description></item><item><title>Mobile won the platform war on distribution, not capability</title><link>https://prashamhtrivedi.in/mobile-lost-on-distribution/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/mobile-lost-on-distribution/</guid><description>The narrative says mobile won the platform war and the web lost. For most of the 2010s that was simply correct. The lens that emerged later is the load-bearing one: mobile won on distribution and store lock-in, not on capability, and the deciding axis the whole time was update friction. A platform-war retrospective from someone who shipped Android apps for a decade.</description></item><item><title>Three Commands, Four Documents: The AI Workflow That Actually Ships</title><link>https://prashamhtrivedi.in/plan-execute-verify-workflow/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/plan-execute-verify-workflow/</guid><description>I promised to show you how Plan-Execute-Verify actually works. Here&amp;rsquo;s the three-command workflow that replaced my 13-document nightmare-and why complexity scoring is the gate that keeps everything sane.</description></item><item><title>AI Agent Workflow: 13 Documents for a Label Change</title><link>https://prashamhtrivedi.in/how-not-to-arrange-ai-workflow/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/how-not-to-arrange-ai-workflow/</guid><description>I spent $10 and generated 13 documents to change a label. Here&amp;rsquo;s the brilliant workflow that got me there-and why you should absolutely not replicate it.</description></item><item><title>Gemini 3 Pro vs GPT 5.2: A Blind Test Reveals Code Red DNA</title><link>https://prashamhtrivedi.in/code-red-dna-model-comparison/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/code-red-dna-model-comparison/</guid><description>I ran a blind A/B test between Gemini 3 Pro and GPT 5.2 on my slash command converter. Same prompt, same input. One gave me 60 lines I could use. The other gave me 250 lines I had to rewrite. The difference wasn&amp;rsquo;t the prompt-it was the training.</description></item><item><title>Your AI Agent Config is Technical Debt You Haven't Acknowledged Yet</title><link>https://prashamhtrivedi.in/agent-config-technical-debt/</link><pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/agent-config-technical-debt/</guid><description>We&amp;rsquo;ve evolved from slash commands to MCP servers to skills, but our configs haven&amp;rsquo;t. That prompt from the Claude 3.7 era? It&amp;rsquo;s still running. That&amp;rsquo;s not legacy-it&amp;rsquo;s debt.</description></item><item><title>Three AI Agents Walk Into a Bar (and Only One Actually Read the Menu)</title><link>https://prashamhtrivedi.in/ai-agent-comparison-claude-gemini-codex/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/ai-agent-comparison-claude-gemini-codex/</guid><description>I tested three AI coding agents on writing analysis-Claude, Gemini, and Codex. After fixing a configuration bug, the results changed dramatically. Here&amp;rsquo;s what happened.</description></item><item><title>Shopify &amp; WooCommerce AI Automation: Complete E-commerce Integration Case Study</title><link>https://prashamhtrivedi.in/case-studies/shopify-woocommerce-ai-automation-case-study/</link><pubDate>Tue, 01 Jul 2025 10:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/case-studies/shopify-woocommerce-ai-automation-case-study/</guid><description>&lt;p>I installed one running piece on their stack. Shopify and WooCommerce, talking to AI agents over MCP, on Cloudflare Workers, with webhooks for the lifecycle work. Ten to fifteen days to a working install. Then I kept it.&lt;/p>
&lt;h2 id="executive-summary">Executive Summary&lt;/h2>
&lt;p>This case study is that install. Two automation servers on Cloudflare&amp;rsquo;s network, for Shopify and WooCommerce, so merchants could run returns, refunds, and coupon campaigns through AI agents without handing the keys over.&lt;/p></description></item><item><title>Rebuilding Invoice System with AI: A 48-Hour Journey</title><link>https://prashamhtrivedi.in/post/rebuilding_invoice_system/</link><pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/rebuilding_invoice_system/</guid><description>Leveraged LLMs to rebuild our invoice system in 48 hours. Explores AI-driven development, prompt engineering, and lessons learned from this rapid migration.</description></item><item><title>Work 2.0 - the interruptible programmer</title><link>https://prashamhtrivedi.in/interruptible_programmer/</link><pubDate>Fri, 27 Dec 2024 15:30:52 +0000</pubDate><guid>https://prashamhtrivedi.in/interruptible_programmer/</guid><description>&lt;p>This is a good read from Steves String. I discovered this blog from a youtube channel called &lt;a href="https://www.youtube.com/@InternetOfBugs/" target="_blank" rel="noopener">Internet of Bugs&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>. The post completely changes the way we think about productivity and work, especially when your are at the other end of your 30s.&lt;/p></description></item><item><title>Jest ESM Issues: A Meta Tech Cautionary Tale</title><link>https://prashamhtrivedi.in/post/jest_esm/</link><pubDate>Fri, 27 Dec 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/jest_esm/</guid><description>&lt;h1 id="jest-esm-and-the-meta-tech-conundrum-a-cautionary-tale">Jest, ESM, and the Meta Tech Conundrum: A Cautionary Tale&lt;/h1>
&lt;p>You know that moment when you&amp;rsquo;re deep in your TypeScript project, everything&amp;rsquo;s going smooth, and then you import a simple CSV parsing library? Yeah, that&amp;rsquo;s when Jest decides to remind you about Facebook&amp;rsquo;s - sorry, Meta&amp;rsquo;s - opinions on JavaScript modules.&lt;/p>
&lt;p>Here&amp;rsquo;s what happened in my project today: A simple import from &lt;code>csv-parse/lib/sync&lt;/code> led me down a rabbit hole of Jest configuration hell. Why? Because Jest, in its infinite CommonJS wisdom, throws a tantrum when it sees modern ES Modules.&lt;/p></description></item><item><title>AI Code Assistants: Blurring the Lines Between Categories</title><link>https://prashamhtrivedi.in/post/code_assistants_blurring_line/</link><pubDate>Fri, 06 Dec 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/code_assistants_blurring_line/</guid><description>&lt;p>For long, AI Coding tools have naturally split into specialized roles to solve different developer needs, Inline assistants for real-time suggestions and Multi-file editors for broader changes. Today, these approaches are converging, making our development workflows more efficient than ever.&lt;/p>
&lt;p>I see two distinct categories of AI code assistants in our development landscape.&lt;/p>
&lt;p>The &lt;strong>inline assistance category&lt;/strong>, championed by GitHub Copilot and Codeium, excels at real-time completions and suggestions. These assistants are like pair programmers who peek over your shoulder, helping you craft code line by line. While Copilot started with simple completions, its recent addition of chat participants and multi-line edits shows this category expanding beyond its initial focus. Codeium has followed suit for inline edits, with their Windsurf editor earning praise for multi-file edit capabilities.&lt;/p></description></item><item><title>The RAG Challenge: A GitHub Copilot Experiment</title><link>https://prashamhtrivedi.in/github-copilot-rag-app/</link><pubDate>Thu, 21 Nov 2024 01:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/github-copilot-rag-app/</guid><description>Recreating Tim Kitchen&amp;rsquo;s RAG application using GitHub Copilot and exploring how it compares to other AI coding assistants like Aider, Cursor, and Windsurf.</description></item><item><title>Software Is Bananas</title><link>https://prashamhtrivedi.in/software_is_bananas/</link><pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/software_is_bananas/</guid><description>&lt;p>Kent Beck has shared some good insights in his &lt;a href="https://tidyfirst.substack.com" target="_blank" rel="noopener">substack&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>. If I have to start with something, this is probably it. This post takes a short and stingy look around real &amp;ldquo;aglileness&amp;rdquo; of software development. Short but quick deployments and closer feedback loops instead of long and drawn out processes. Because at the end of the day, there is one bug lingering only in production enviorment which is waiting to be revealed.&lt;/p></description></item><item><title>Choose Boring Technology</title><link>https://prashamhtrivedi.in/boringtech/</link><pubDate>Mon, 18 Nov 2024 07:23:01 +0000</pubDate><guid>https://prashamhtrivedi.in/boringtech/</guid><description>&lt;blockquote>
&lt;p>Let’s say every company gets about three innovation tokens. You can spend these however you want, but the supply is fixed for a long while. You might get a few more after you achieve a certain level of stability and maturity, but the general tendency is to overestimate the contents of your wallet. Clearly this model is approximate, but I think it helps.&lt;/p>&lt;/blockquote>
&lt;p>You can replenish the tokens if you can to hire more people who brings new innovation tokens with them.&lt;/p></description></item><item><title>Serverless Invoice Management System with AWS</title><link>https://prashamhtrivedi.in/invoicer/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/invoicer/</guid><description>Revolutionized invoice management with a serverless system using AWS Lambda, S3, DynamoDB, and Anthropic API. Reduced a hours-long task to 5 minutes.</description></item><item><title>What Goes Around Comes Around... And Around...</title><link>https://prashamhtrivedi.in/what_goes_around/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/what_goes_around/</guid><description>&lt;p>This is an interesting paper I read last month. The notes on this paper gave me an idea of having linkblogs&amp;hellip;&lt;/p>
&lt;p>&lt;a href="https://db.cs.cmu.edu/papers/2024/whatgoesaround-sigmodrec2024.pdf" target="_blank" rel="noopener">Original Paper link&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>&lt;/p>
&lt;p>Some quotes&lt;/p>
&lt;p>&lt;strong>Under 4: Parting comments&lt;/strong>&lt;/p>
&lt;blockquote>
&lt;p>ORMs are a vital tool for rapid prototyping. But &lt;strong>they often sacrifice the ability to push logic into the DBMS in exchange for interoperability with multiple DBMSs&lt;/strong>. Developers fall back to writing explicit database queries to override the poor auto-generated queries. This is why using a RDBMS that supports SQL is the better choice.&lt;/p></description></item><item><title>AI Agentic Workflow Andrew Ng</title><link>https://prashamhtrivedi.in/ai_agentic_workflow_andrew_ng/</link><pubDate>Wed, 25 Sep 2024 07:13:22 +0000</pubDate><guid>https://prashamhtrivedi.in/ai_agentic_workflow_andrew_ng/</guid><description>&lt;p>&lt;a href="https://www.youtube.com/watch?v=sal78ACtGTc" target="_blank" rel="noopener">Youtube Video&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>, via JS Party podcast episode &lt;a href="https://changelog.com/jsparty/331" target="_blank" rel="noopener">Building LLM agents in JS&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>&lt;/p></description></item><item><title>Updates in blog</title><link>https://prashamhtrivedi.in/updates_0924/</link><pubDate>Mon, 23 Sep 2024 14:22:37 +0000</pubDate><guid>https://prashamhtrivedi.in/updates_0924/</guid><description>After more than a year, the blog is getting an update. This is a short summary of what is getting changed</description></item><item><title>How does AI impact my jobs</title><link>https://prashamhtrivedi.in/ai_impact_jobs/</link><pubDate>Mon, 23 Sep 2024 13:36:13 +0000</pubDate><guid>https://prashamhtrivedi.in/ai_impact_jobs/</guid><description>&lt;p>&lt;a href="https://chelseatroy.com/2024/05/26/how-does-ai-impact-my-job-as-a-programmer/" target="_blank" rel="noopener">(via)&lt;svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">&lt;path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6">&lt;/path>&lt;polyline points="15 3 21 3 21 9">&lt;/polyline>&lt;line x1="10" y1="14" x2="21" y2="3">&lt;/line>&lt;/svg>&lt;/a>&lt;/p>
&lt;blockquote>
&lt;p>It’s not their fault. They enrolled in a master’s program to get a job in tech. Why? Let’s be candid: tech has promised job security and agreeable (sometimes borderline perverse) financial returns for a couple of decades. Many tech employers also spin a yarn about “saving the world” and coast on the reputational allure of “if you work here, you’re a genius.” Sounds great, doesn’t it? Except, now that students have invested five figures of money in their tech education1, had their skulls crammed full of ‘invisible hand of the market’ propaganda, and counted on having secured their ticket to the party, they’re seeing layoffs. They’re seeing exposés. They’re seeing compensation adjustments at the most lucrative tech companies. And they’re seeing a news cycle that oscillates wildly between blaming AI for these changes and extolling it as the solution.&lt;/p></description></item><item><title>LLM Development Lessons: Tools, Tips, and Tricks</title><link>https://prashamhtrivedi.in/llm_dev_lessons/</link><pubDate>Thu, 12 Sep 2024 13:25:24 +0000</pubDate><guid>https://prashamhtrivedi.in/llm_dev_lessons/</guid><description>A developer&amp;rsquo;s journey through LLM-powered development tools. Shares favorite tools, reasons for skipping others, and 8 battle-tested tips for LLM coding.</description></item><item><title>API Design: Share Specs, Not Execution</title><link>https://prashamhtrivedi.in/share-specs-not-execution/</link><pubDate>Mon, 22 Jul 2024 08:22:02 +0000</pubDate><guid>https://prashamhtrivedi.in/share-specs-not-execution/</guid><description>Discusses the importance of sharing API specifications (Swagger/OpenAPI) over execution details (Postman collections) for better collaboration and avoiding issues.</description></item><item><title>Introducing Sourcesailor</title><link>https://prashamhtrivedi.in/introducing_sourcesailor.html</link><pubDate>Tue, 30 Apr 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/introducing_sourcesailor.html</guid><description>SourceSailor is a CLI that helps anyone understand a codebase with the help of LLMs. This post introduces the tool, the features and tells the story how it came to be.</description></item><item><title>My Adventures With Local LLMs</title><link>https://prashamhtrivedi.in/adventures_local_llm/</link><pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/adventures_local_llm/</guid><description>After toying with GPT based models. I have also explored how we can use these models locally, without internet, having full control. This post describes my process and learnings about my explorations&amp;hellip;</description></item><item><title>My LLM Workflow: ChatGPT, Copilot, and Other Tools</title><link>https://prashamhtrivedi.in/post/my_llm_usage/</link><pubDate>Tue, 10 Oct 2023 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/my_llm_usage/</guid><description>&lt;p>Generative AI, LLMs and OpenAI have swept accross many aspects of our lifestyle since they are released to General Public. People are taking it across the spectrum. Some of them love it, some of them don&amp;rsquo;t like it and some of them are waiting for the dust to settle. I am one of those who love it and using it in many aspect of my life. In this post, I will tell you how I am using it and what are some tools under my belt. I will also share some of the interesting reads that helped me getting started and some which I still follow to keep myself updated. So let&amp;rsquo;s get started.&lt;/p></description></item><item><title>ChatGPT and the Future of Technical Interviews</title><link>https://prashamhtrivedi.in/post/interview_chatgpt/</link><pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/interview_chatgpt/</guid><description>&lt;p>The age of AI and LLMs are upon us already. And it&amp;rsquo;s changing many aspects of life. Making most of the things easy, while making some things obsolate. But one thing is sure, things are not going to be same moving forward.&lt;/p>
&lt;p>In the age of AI and large language models like ChatGPT, the way we conduct interviews is changing. Traditional theoretical knowledge-based questions may not be as effective in assessing a candidate&amp;rsquo;s true potential (I always believe it serves a limited purpose).&lt;/p></description></item><item><title>Golden Rule Of Sanity: No ORM/ODM</title><link>https://prashamhtrivedi.in/avoid_orms/</link><pubDate>Fri, 30 Jun 2023 16:07:23 +0000</pubDate><guid>https://prashamhtrivedi.in/avoid_orms/</guid><description>Many teams start with ORM/ODM for various reason. But ORM/ODM don&amp;rsquo;t scale because of a reason. And to perserve sanity, all ORM/ODM must be avoided unless it&amp;rsquo;s provided by the team who built the database</description></item><item><title>Introducing Gitconfig Provider</title><link>https://prashamhtrivedi.in/gitconfig-provider.html</link><pubDate>Sat, 02 Jul 2022 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/gitconfig-provider.html</guid><description>Introducing First CLI I made using Golang.</description></item><item><title>Career Lessons: Key Learnings from Software Development</title><link>https://prashamhtrivedi.in/post/things-i-learned-in-my-career/</link><pubDate>Tue, 21 Jun 2022 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/post/things-i-learned-in-my-career/</guid><description>&lt;p>At the time of writing this, my career is more than 13 years old. Starting programming professionally in 2009, and doing some bits and pieces of learning back when I was studying, I have been playing with computers around the start of this century. In all these years, I have worked with 4-5 different tech stacks and worked in corporations with 400+ employees, software shops and startups as well. And with all these I gained a valuable experience. This post tries to summarise the experience for all the readers, including future me. So here we go.&lt;/p></description></item><item><title>Connect AWS Cognito to Database</title><link>https://prashamhtrivedi.in/db_to_cognito/</link><pubDate>Sun, 04 Jul 2021 08:00:35 +0000</pubDate><guid>https://prashamhtrivedi.in/db_to_cognito/</guid><description>AWS Cognito is very powerful system of managing users, connecting AWS Cognito with our own database is easy and very important task. This post describes how we leverage best of both Cognito and Our database to our advantage</description></item><item><title>From Mobile to Backend Developer</title><link>https://prashamhtrivedi.in/from-mobile-to-backend.html</link><pubDate>Fri, 14 May 2021 14:04:20 +0000</pubDate><guid>https://prashamhtrivedi.in/from-mobile-to-backend.html</guid><description>Being a Senior Android Developer, I have got a chance to develop for a backend, this post chronicles the journey</description></item><item><title>Creating Notes Site</title><link>https://prashamhtrivedi.in/creating_notes_site.html</link><pubDate>Sat, 26 Sep 2020 11:47:53 +0530</pubDate><guid>https://prashamhtrivedi.in/creating_notes_site.html</guid><description>In this article, we will see how I built my notes site using a simple node script and deployed using Github actions.</description></item><item><title>Connecting R53 With External Domains</title><link>https://prashamhtrivedi.in/connecting_r53_external_domains.html</link><pubDate>Sun, 20 Sep 2020 12:17:31 +0530</pubDate><guid>https://prashamhtrivedi.in/connecting_r53_external_domains.html</guid><description>In this article, we will see how we can use AWS&amp;rsquo; Route 53 to connect with external domains and serve static S3 website.</description></item><item><title>Passing AWS Solution Architect Associate</title><link>https://prashamhtrivedi.in/passing_aws_saa.html</link><pubDate>Sat, 05 Sep 2020 17:55:20 +0530</pubDate><guid>https://prashamhtrivedi.in/passing_aws_saa.html</guid><description>This is the post about AWS Solution Architect Exam and tips to pass the exam.</description></item><item><title>Using Coroutines</title><link>https://prashamhtrivedi.in/coroutines.html</link><pubDate>Wed, 28 Nov 2018 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/coroutines.html</guid><description>Coroutine is most powerful and natural way to process multithreading code. This post is excercept of the talk given to my team.</description></item><item><title>Using Bitbucket As Private Maven Repository</title><link>https://prashamhtrivedi.in/bitbucket_private_mvn_repo.html</link><pubDate>Fri, 12 Oct 2018 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/bitbucket_private_mvn_repo.html</guid><description>Sharing code from Private libraries is a difficult task. In this post we will see how we can use BitBucket as Private Maven Repository.</description></item><item><title>YAC - Firebase remote config</title><link>https://prashamhtrivedi.in/yac_firebase_remoteconfig.html</link><pubDate>Sat, 08 Jul 2017 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac_firebase_remoteconfig.html</guid><description>Firebase is the base behind YAC&amp;rsquo;s many functionalities, remote config is one of them. In this post I have described how remote config solves some of the problems I have.</description></item><item><title>YAC - Kotlin Wrapup</title><link>https://prashamhtrivedi.in/yac_kotlin_wrapup.html</link><pubDate>Tue, 04 Jul 2017 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac_kotlin_wrapup.html</guid><description>Before starting to next series on firebase. I would like to wrapup things on kotlin and announce couple of new things.</description></item><item><title>YAC - Some Kotlin Magic</title><link>https://prashamhtrivedi.in/yac_kotlin_example.html</link><pubDate>Wed, 26 Apr 2017 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac_kotlin_example.html</guid><description>In this post I will share some examples of how Kotlin helped me to overcome problems I have faced in Java</description></item><item><title>YAC - Why? Lollipop And Kotlin</title><link>https://prashamhtrivedi.in/yac_why_kotlin.html</link><pubDate>Tue, 11 Apr 2017 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac_why_kotlin.html</guid><description>In second part of the series I talk about why I decided to choose Lollipop as Min SDK and why I developed the app in kotlin</description></item><item><title>YAC - Why? The app</title><link>https://prashamhtrivedi.in/yac_why_app.html</link><pubDate>Thu, 23 Mar 2017 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac_why_app.html</guid><description>In this series, I will be talking about some desicions I have taken during the development of my new app YAC. This first part is about why I decided to develop the app.</description></item><item><title>Yac Roadmap</title><link>https://prashamhtrivedi.in/yac-roadmap.html</link><pubDate>Tue, 18 Oct 2016 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/yac-roadmap.html</guid><description>Thanks to your support and interest, YAC is constantly evolving. I have laid plans in this post about what I am going to do around which milestones.</description></item><item><title>Working With databinding</title><link>https://prashamhtrivedi.in/databinding.html</link><pubDate>Wed, 03 Feb 2016 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/databinding.html</guid><description>Databinding is a powerful tool. It not only reduces boilerplate coding but it also helps us to deliver testable code very fast. I gave a talk to my team regarding to databinding tool. Here is the slideshow and talk excerpt.</description></item><item><title>Adventures after Google I/O-4(Databinding)</title><link>https://prashamhtrivedi.in/adventures-databinding-4.html</link><pubDate>Mon, 10 Aug 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/adventures-databinding-4.html</guid><description>After trying and playing some new stuffs(except M preview) released in Google I/O, I have found some trivial things to take care of. In concluding part of series we will see what are some issues with Google&amp;rsquo;s Databinding plugin and how we can get around it</description></item><item><title>Adventures after Google I/O-3(GCM).</title><link>https://prashamhtrivedi.in/adventures-GCM-3.html</link><pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/adventures-GCM-3.html</guid><description>After trying and playing some new stuffs(except M preview) released in Google I/O, I have found some trivial things to take care of. In this part, we will see how GCM 3.0 gives advantage to server team to send notifications and how implementing it affects Android Development.</description></item><item><title>Adventures after Google I/O-2(iOS).</title><link>https://prashamhtrivedi.in/adventures-iOS-2.html</link><pubDate>Mon, 22 Jun 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/adventures-iOS-2.html</guid><description>After trying and playing some new stuffs(except M preview) released in Google I/O, I have found some trivial things to take care of. In this part, we will see how should we take care if we add iOS details in our google cloud console and how it can affect android development.</description></item><item><title>Adventures after Google I/O-1(Snackbar).</title><link>https://prashamhtrivedi.in/adventures-snackbars-1.html</link><pubDate>Thu, 04 Jun 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/adventures-snackbars-1.html</guid><description>After trying and playing some new stuffs(except M preview) released in Google I/O, I have found some trivial things to take care of. In the first part of the series I will talk about Snackbars.</description></item><item><title>About TextUtils.</title><link>https://prashamhtrivedi.in/textutils.html</link><pubDate>Sat, 09 May 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/textutils.html</guid><description>Android SDK has an awesome class called TextUtils. It has many great methods that I use daily, and some magical methods as well.</description></item><item><title>Contributing to open source projects.</title><link>https://prashamhtrivedi.in/contributing_opensource_projects.html</link><pubDate>Sun, 03 May 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/contributing_opensource_projects.html</guid><description>With open source nature of android and it&amp;rsquo;s vast open source ecosystem, we often (want to) contribute to an open source library. Here I have tried to cover some points to be kept in mind for library developers and contributers.</description></item><item><title>Improving DbInspector library.</title><link>https://prashamhtrivedi.in/improving-dbinspector.html</link><pubDate>Sat, 14 Feb 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/improving-dbinspector.html</guid><description>DbInspector is a useful library that helps us to view our database in the app. I have forked it and tried to add some small features to make this awesome library more awesome, and even more useful.</description></item><item><title>Supercharge your Android Application-4(Threads).</title><link>https://prashamhtrivedi.in/supercharge-android-application-4.html</link><pubDate>Thu, 05 Feb 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/supercharge-android-application-4.html</guid><description>In the final part of the series, we will focus on how to handle your heavy operations like network calls in threads. This part is useful for those who does not rely on any libraries for that.</description></item><item><title>Supercharge your Android Application-3(Data).</title><link>https://prashamhtrivedi.in/supercharge-android-application-3.html</link><pubDate>Sat, 03 Jan 2015 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/supercharge-android-application-3.html</guid><description>In the third part of the series, we will focus on how to download, save and preserve your data.</description></item><item><title>Supercharge your Android Application-2(Views).</title><link>https://prashamhtrivedi.in/supercharge-android-application-2.html</link><pubDate>Tue, 25 Nov 2014 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/supercharge-android-application-2.html</guid><description>In the second part of the series, we will focus on how to optimise the views to make applications smoother.</description></item><item><title>Supercharge your Android Application-1(The List).</title><link>https://prashamhtrivedi.in/supercharge-android-application-1.html</link><pubDate>Mon, 17 Nov 2014 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/supercharge-android-application-1.html</guid><description>In the inaugural part of the series, I have covered ListFragments and it&amp;rsquo;s single advantage while having full control over the fragment and it&amp;rsquo;s layout. It will reduce the pain of managing or showing the progress, because ListFragment does it automatically for you</description></item><item><title>How to join Beta program for Wish 'N U.</title><link>https://prashamhtrivedi.in/wishnu_beta.html</link><pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/wishnu_beta.html</guid><description>If you are interested in joining beta program for Wish &amp;lsquo;N U this post will help you to join the program.</description></item><item><title>About collecting usage statistics from Wish 'N U</title><link>https://prashamhtrivedi.in/wishnu_analytics_explanation.html</link><pubDate>Wed, 03 Sep 2014 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/wishnu_analytics_explanation.html</guid><description>I use Google Analytics to collect some usage information in Wish &amp;lsquo;N U.This post is to explain what do I collect and why.</description></item><item><title>A class to handle all analytics related operations.</title><link>https://prashamhtrivedi.in/integrating_google_analytics.html</link><pubDate>Fri, 22 Aug 2014 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/integrating_google_analytics.html</guid><description>I have created a class that can work as a wrapper for google analytics operations. To initialize, it only needs a context variable. To send events I wrote sendException,sendEvent and sendTime methods, asks analyticsTracker to call respective methods and accept same arguments which can be passed directly to related tracker methods.</description></item><item><title>About</title><link>https://prashamhtrivedi.in/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/about/</guid><description>I install one running piece of software on your stack, then keep it. Software your way. Finally affordable. Finally fast.</description></item><item><title>Agentic AI Training for Engineering Teams</title><link>https://prashamhtrivedi.in/agentic-ai-training/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/agentic-ai-training/</guid><description>Hands-on agentic AI training for dev teams - built on a real Plan-Execute-Verify practice I run every day, not slideware.</description></item><item><title>Drafts</title><link>https://prashamhtrivedi.in/drafts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/drafts/</guid><description>&lt;script src="https://prashamhtrivedi.in/js/draft.min.js" integrity="">&lt;/script>
&lt;ul>
&lt;/ul></description></item><item><title>Projects</title><link>https://prashamhtrivedi.in/projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/projects/</guid><description>My Projects</description></item><item><title>Tools</title><link>https://prashamhtrivedi.in/tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://prashamhtrivedi.in/tools/</guid><description>Tools: A little scripts I have created for my usecases</description></item></channel></rss>