<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Dimuthu Wickramanayake — Writing</title><description>Notes on AI platforms and agent infrastructure, distributed systems, and reliability — by Dimuthu Wickramanayake.</description><link>https://billacode.com</link><language>en-gb</language><atom:link href="https://billacode.com/rss.xml" rel="self" type="application/rss+xml"/><copyright>© 2026 Dimuthu Wickramanayake</copyright><item><title>marsClaw — Building a personal chat assistant with Bun, SQLite and MCP</title><link>https://billacode.com/blogs/marsclaw-building-a-personal-chat-assistant-with-bun-sqlite-and-mcp</link><guid isPermaLink="true">https://billacode.com/blogs/marsclaw-building-a-personal-chat-assistant-with-bun-sqlite-and-mcp</guid><description>How marsClaw was built: one Bun process gluing Telegram, Slack and WhatsApp to an agent SDK, with SQLite, an outbox, MCP tools and two runtimes.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>ai</category><category>claude-code</category><category>nodejs</category></item><item><title>Why MCP, Not REST APIs?</title><link>https://billacode.com/blogs/why-mcp-not-rest-apis</link><guid isPermaLink="true">https://billacode.com/blogs/why-mcp-not-rest-apis</guid><description>REST assumes a client that read the docs at build time. An LLM isn&apos;t that client — why MCP fits agents better, and what it changes about tool design.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>I Hired a Platform Engineer Who Can’t Break Anything</title><link>https://billacode.com/blogs/i-hired-a-platform-engineer-who-cant-break-anything</link><guid isPermaLink="true">https://billacode.com/blogs/i-hired-a-platform-engineer-who-cant-break-anything</guid><description>Building a read-only platform agent that does the on-call log and metric hunting for you, with no ability to change anything.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>ai</category><category>devops</category></item><item><title>From Raw Events to Per-User Intelligence: The Techniques Behind a Persona &amp; Propensity System</title><link>https://billacode.com/blogs/techniques-behind-a-persona-and-propensity-system</link><guid isPermaLink="true">https://billacode.com/blogs/techniques-behind-a-persona-and-propensity-system</guid><description>Turning billions of behavioural events into user personas and propensity scores: identity resolution, RFM, quantile bucketing, and leakage control.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>Navigating the 2026 Agent Ecosystem: LangGraph vs. OpenClaw vs. Google Agent SDK (ADK)</title><link>https://billacode.com/blogs/navigating-the-2026-agent-ecosystem-langgraph-vs-openclaw-vs-google-agent-sdk-adk</link><guid isPermaLink="true">https://billacode.com/blogs/navigating-the-2026-agent-ecosystem-langgraph-vs-openclaw-vs-google-agent-sdk-adk</guid><description>LangGraph, OpenClaw, and Google&apos;s Agent SDK compared for 2026: what each framework assumes, and which one fits which kind of agent.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>gcp</category><category>nodejs</category><category>ai</category></item><item><title>Docker Desktop vs. Colima: Choosing the Right Container Runtime for macOS</title><link>https://billacode.com/blogs/docker-desktop-vs-colima-choosing-the-right-container-runtime-for-macos</link><guid isPermaLink="true">https://billacode.com/blogs/docker-desktop-vs-colima-choosing-the-right-container-runtime-for-macos</guid><description>Docker Desktop&apos;s licensing pushed many macOS developers to look elsewhere. How Colima compares on performance, resources, and daily use.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category><category>docker</category></item><item><title>My first 2 weeks of using Nanoclaw</title><link>https://billacode.com/blogs/my-first-2-weeks-of-using-nanoclaw</link><guid isPermaLink="true">https://billacode.com/blogs/my-first-2-weeks-of-using-nanoclaw</guid><description>Two weeks with Nanoclaw, a lighter alternative to OpenClaw: what it does well, where it falls short, and why the smaller tool won.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>ai</category></item><item><title>Go vs NestJS: The Backend Decision You&apos;ll Thank Yourself For Later</title><link>https://billacode.com/blogs/go-vs-nestjs-the-backend-decision-youll-thank-yourself-for-later</link><guid isPermaLink="true">https://billacode.com/blogs/go-vs-nestjs-the-backend-decision-youll-thank-yourself-for-later</guid><description>Go or NestJS for your backend? Real numbers on memory and cold starts, honest tradeoffs, and the Cloud Function upgrade that forced the question.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>The Saga Pattern in Event-Driven Gamification Systems: Orchestrating Complexity with CQRS</title><link>https://billacode.com/blogs/saga-pattern-in-gamification-systems</link><guid isPermaLink="true">https://billacode.com/blogs/saga-pattern-in-gamification-systems</guid><description>How reactive sagas keep complex gamification workflows decoupled, resilient, and maintainable — and why the tradeoffs are worth it.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>Import-Aware CI/CD for Firebase Cloud Functions: Deploy Only What Changed</title><link>https://billacode.com/blogs/import-aware-cicd-for-firebase-cloud-functions</link><guid isPermaLink="true">https://billacode.com/blogs/import-aware-cicd-for-firebase-cloud-functions</guid><description>Deploy only the Firebase Cloud Functions a change actually touches, using static import analysis instead of Bazel or Nx in your monorepo.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>Building a Multi-Tenant E-Commerce Platform on Kubernetes with Linkerd, OpenTelemetry, and Helm</title><link>https://billacode.com/blogs/building-multi-tenant-microservices-on-kubernetes</link><guid isPermaLink="true">https://billacode.com/blogs/building-multi-tenant-microservices-on-kubernetes</guid><description>Production-grade multi-tenant microservices on Kubernetes: namespace isolation, mTLS with Linkerd, OpenTelemetry, all running locally on kind.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category><category>microservices</category><category>observability</category></item><item><title>What If Your LLM Could Remember You? Building a Neurotransmitter-Inspired Memory System for Local Language Models</title><link>https://billacode.com/blogs/living-llm-neurotransmitter-memory</link><guid isPermaLink="true">https://billacode.com/blogs/living-llm-neurotransmitter-memory</guid><description>Giving a locally-run Llama 3.1 persistent memory using a neurotransmitter-inspired model: five signals, memory tiers, and a personal knowledge graph.</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator></item><item><title>Traditional software engineering jobs are FINISHED!!!!</title><link>https://billacode.com/blogs/traditional-software-engineering-jobs-are-finished</link><guid isPermaLink="true">https://billacode.com/blogs/traditional-software-engineering-jobs-are-finished</guid><description>A weekend project built with Claude Code without writing a line by hand — what took 12 hours instead of four days, and what the role turns into.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>ai</category><category>claude-code</category><category>engineering</category></item><item><title>Handling RPC Exceptions in NestJS Microservices</title><link>https://billacode.com/blogs/handling-rpc-exceptions-in-nestjs-microservices</link><guid isPermaLink="true">https://billacode.com/blogs/handling-rpc-exceptions-in-nestjs-microservices</guid><description>Exceptions don&apos;t cross RPC boundaries cleanly in NestJS. How to translate service errors into RpcException and map them back to HTTP at the gateway.</description><pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nestjs</category><category>microservices</category><category>rpc</category></item><item><title>NestJS — Microservice to Microservice Communication Using RPC</title><link>https://billacode.com/blogs/nestjs-microservice-to-microservice-communication-using-rpc</link><guid isPermaLink="true">https://billacode.com/blogs/nestjs-microservice-to-microservice-communication-using-rpc</guid><description>Wiring NestJS services together with RPC instead of HTTP: choosing a transport, defining message patterns, and calling one service from another.</description><pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nestjs</category><category>microservices</category><category>rpc</category></item><item><title>My Recycling App Did 3 Pivots and 0 Recycles. A Post-Mortem.</title><link>https://billacode.com/blogs/my-recycling-app-did-3-pivots-and-0-recycles-a-post-mortem</link><guid isPermaLink="true">https://billacode.com/blogs/my-recycling-app-did-3-pivots-and-0-recycles-a-post-mortem</guid><description>A post-mortem on zylobin: three pivots, a growing feature list, zero users, and the recycling app that never recycled anything.</description><pubDate>Sat, 11 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>post-mortem</category><category>side-projects</category><category>product</category></item><item><title>This is Fine: How Disabling Caching Can Set Your Database Ablaze</title><link>https://billacode.com/blogs/this-is-fine-how-disabling-caching-can-set-your-database-ablaze</link><guid isPermaLink="true">https://billacode.com/blogs/this-is-fine-how-disabling-caching-can-set-your-database-ablaze</guid><description>Disabling the cache made the bug disappear and the database catch fire. A short cautionary tale about what a cache is actually load-bearing for.</description><pubDate>Sat, 11 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>caching</category><category>databases</category><category>incidents</category></item><item><title>Your Laptop&apos;s &quot;AI Superpower&quot; is Kinda Dumb (Compared to Real APIs)</title><link>https://billacode.com/blogs/your-laptops-ai-superpower-is-kinda-dumb-compared-to-real-apis</link><guid isPermaLink="true">https://billacode.com/blogs/your-laptops-ai-superpower-is-kinda-dumb-compared-to-real-apis</guid><description>Running Llama 3 locally feels like magic until you benchmark it against a commercial API. What quantization actually costs you in quality and speed.</description><pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>llm</category><category>ai</category><category>local-models</category></item><item><title>I Built a Website Because Sri Lankan Banks Won&apos;t (Credit Card Deals Aggregator)</title><link>https://billacode.com/blogs/i-built-a-website-because-sri-lankan-banks-wont-credit-card-deals-aggregator</link><guid isPermaLink="true">https://billacode.com/blogs/i-built-a-website-because-sri-lankan-banks-wont-credit-card-deals-aggregator</guid><description>Scraping 50 Sri Lankan bank sites with Python, Playwright, and a local LLM to build a credit card promotions aggregator — and what broke along the way.</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>python</category><category>scraping</category><category>side-projects</category></item><item><title>Firebase dynamic links deprecated — Implement one in house</title><link>https://billacode.com/blogs/firebase-dynamic-links-deprecated-implement-one-in-house</link><guid isPermaLink="true">https://billacode.com/blogs/firebase-dynamic-links-deprecated-implement-one-in-house</guid><description>Firebase Dynamic Links is shutting down. Building a replacement means handling deep links, deferred installs, social previews, and analytics.</description><pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>firebase</category><category>mobile</category><category>architecture</category></item><item><title>Creating a VOD application (like Netflix, Amazon prime) using AWS</title><link>https://billacode.com/blogs/creating-a-vod-application-like-netflix-amazon-prime-using-aws-media-converter-s</link><guid isPermaLink="true">https://billacode.com/blogs/creating-a-vod-application-like-netflix-amazon-prime-using-aws-media-converter-s</guid><description>How to build a Netflix-style video-on-demand pipeline on AWS using S3 for storage, MediaConvert for transcoding, and CloudFront for delivery.</description><pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>video</category><category>architecture</category></item><item><title>Estimating Bigquery result row count without running the whole query</title><link>https://billacode.com/blogs/estimating-bigquery-result-row-count-without-running-the-whole-query</link><guid isPermaLink="true">https://billacode.com/blogs/estimating-bigquery-result-row-count-without-running-the-whole-query</guid><description>BigQuery bills by bytes scanned, so COUNT(*) on a huge table is expensive. Here&apos;s how to estimate the row count from a sampled query instead.</description><pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>bigquery</category><category>sql</category><category>data</category></item><item><title>Designing a Video on Demand system (Like Netflix, amazon prime, etc)</title><link>https://billacode.com/blogs/designing-a-video-on-demand-system-like-netflix-amazon-prime-etc</link><guid isPermaLink="true">https://billacode.com/blogs/designing-a-video-on-demand-system-like-netflix-amazon-prime-etc</guid><description>The components behind a Netflix-style VOD platform: ingestion, transcoding, storage, CDN delivery, DRM, and the metadata store.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>video</category></item><item><title>HTTP Access management in Kubernetes — Exposing path internally and externally in the same service</title><link>https://billacode.com/blogs/http-access-management-in-kubernetes-exposing-path-internally-and-externally-in-the-same-service</link><guid isPermaLink="true">https://billacode.com/blogs/http-access-management-in-kubernetes-exposing-path-internally-and-externally-in-the-same-service</guid><description>Exposing some paths of a Kubernetes service publicly while keeping others internal, without splitting it into two separate services.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category></item><item><title>Linux Headers — Building a System Performance Monitor in C with Real-Time Progress Bars</title><link>https://billacode.com/blogs/building-a-system-performance-monitor-in-c-with-real-time-progress-bars</link><guid isPermaLink="true">https://billacode.com/blogs/building-a-system-performance-monitor-in-c-with-real-time-progress-bars</guid><description>Writing a system performance monitor in C using Linux headers, with real-time progress bars for CPU, memory, and disk usage.</description><pubDate>Wed, 11 Sep 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>realtime</category></item><item><title>Basic guide to use NestJS</title><link>https://billacode.com/blogs/basic-guide-to-use-nestjs</link><guid isPermaLink="true">https://billacode.com/blogs/basic-guide-to-use-nestjs</guid><description>A starting guide to NestJS: how its TypeScript-first modules, controllers, and providers make Node.js backends easier to grow.</description><pubDate>Tue, 06 Aug 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nestjs</category><category>nodejs</category></item><item><title>Migrating around 50TB from FrameIO to AWS S3</title><link>https://billacode.com/blogs/migrating-around-50tb-from-frameio-to-aws-s3</link><guid isPermaLink="true">https://billacode.com/blogs/migrating-around-50tb-from-frameio-to-aws-s3</guid><description>Scaling a single-file transfer script into a 50TB migration from FrameIO to AWS S3: concurrency, retries, and verifying the result.</description><pubDate>Mon, 05 Aug 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category></item><item><title>Content Recommendation Using Elastic Search — Collaborative Filtering (CF)</title><link>https://billacode.com/blogs/content-recommendation-using-elastic-search-collaborative-filtering-cf</link><guid isPermaLink="true">https://billacode.com/blogs/content-recommendation-using-elastic-search-collaborative-filtering-cf</guid><description>Building a collaborative filtering recommendation system on Elasticsearch, following an earlier content-based TF-IDF approach.</description><pubDate>Wed, 24 Jul 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>ai</category></item><item><title>FrameIO to S3 — Migrating a 100GB file using Axios in NodeJS</title><link>https://billacode.com/blogs/frameio-to-s3-migrating-a-100gb-file-using-axios-in-nodejs</link><guid isPermaLink="true">https://billacode.com/blogs/frameio-to-s3-migrating-a-100gb-file-using-axios-in-nodejs</guid><description>Streaming a 100GB file from FrameIO to AWS S3 with Axios in Node.js, without loading it into memory or hitting a timeout.</description><pubDate>Wed, 24 Jul 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category></item><item><title>Content Recommendation Using Elastic Search — Content similarity Recommendation</title><link>https://billacode.com/blogs/content-recommendation-using-elastic-search-content-similarity-recommendation</link><guid isPermaLink="true">https://billacode.com/blogs/content-recommendation-using-elastic-search-content-similarity-recommendation</guid><description>Building a content-based recommendation system with Elasticsearch and TF-IDF, and what a recommendation engine really has to do.</description><pubDate>Sun, 21 Jul 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>video</category><category>ai</category><category>databases</category></item><item><title>Creating a React web app to Upload files to S3 — Ultra Fast</title><link>https://billacode.com/blogs/creating-a-react-web-app-to-upload-files-to-s3-ultra-fast</link><guid isPermaLink="true">https://billacode.com/blogs/creating-a-react-web-app-to-upload-files-to-s3-ultra-fast</guid><description>Two S3 features that make browser uploads dramatically faster, wired into a React app instead of proxying files through your server.</description><pubDate>Sun, 21 Jul 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category></item><item><title>Staying in the Game — As a Software Engineer</title><link>https://billacode.com/blogs/staying-in-the-game-as-a-software-engineer</link><guid isPermaLink="true">https://billacode.com/blogs/staying-in-the-game-as-a-software-engineer</guid><description>A more personal piece on staying employable and staying interested as a software engineer, rather than a technical tutorial.</description><pubDate>Mon, 27 May 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category></item><item><title>Building a Real-Time Chat Application with Node.js, Express, and Socket.IO</title><link>https://billacode.com/blogs/building-a-real-time-chat-application-with-node-js-express-and-socket-io</link><guid isPermaLink="true">https://billacode.com/blogs/building-a-real-time-chat-application-with-node-js-express-and-socket-io</guid><description>A minimal real-time chat built with Node.js, Express, and Socket.IO, as groundwork before tackling a properly scalable design.</description><pubDate>Thu, 16 May 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>realtime</category></item><item><title>NextJS — Basics to start</title><link>https://billacode.com/blogs/nextjs-basics-to-start</link><guid isPermaLink="true">https://billacode.com/blogs/nextjs-basics-to-start</guid><description>Getting started with Next.js coming from plain React: routing, rendering modes, and what the framework does for you by default.</description><pubDate>Wed, 08 May 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category></item><item><title>Creating a live streaming application using Node Media Server and FFMPEG (OBS as the streamer)</title><link>https://billacode.com/blogs/creating-a-live-streaming-application-using-node-media-server-and-ffmpeg-obs-as-the-streamer</link><guid isPermaLink="true">https://billacode.com/blogs/creating-a-live-streaming-application-using-node-media-server-and-ffmpeg-obs-as-the-streamer</guid><description>Building a live streaming pipeline with Node Media Server and FFMPEG, using OBS as the streamer, after an earlier VOD encoder series.</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>video</category><category>realtime</category></item><item><title>WasteGO — Use Machine Learning to identify the image uploaded to S3 (Python, Flask, Neural…</title><link>https://billacode.com/blogs/wastego-use-machine-learning-to-identify-the-image-uploaded-to-s3-python-flask-neural</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-use-machine-learning-to-identify-the-image-uploaded-to-s3-python-flask-neural</guid><description>Replacing a third-party detection API with a custom neural network served from Python and Flask for the WasteGO app.</description><pubDate>Fri, 22 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>flutter</category><category>react</category></item><item><title>WasteGO — Flutter App to take a photo and upload to AWS S3 via Go and Gin API (Waste Share App)</title><link>https://billacode.com/blogs/wastego-flutter-app-to-take-a-photo-and-upload-to-aws-s3-via-go-and-gin-api-waste-share-app</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-flutter-app-to-take-a-photo-and-upload-to-aws-s3-via-go-and-gin-api-waste-share-app</guid><description>Capturing a photo in a Flutter app and uploading it to AWS S3 through a Go and Gin backend for the WasteGO project.</description><pubDate>Tue, 19 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>flutter</category><category>go</category></item><item><title>WasteGO — Object detection using Eden AI to identify the image uploaded to S3 (Waste Share App)</title><link>https://billacode.com/blogs/wastego-object-detection-using-eden-ai-to-identify-the-image-uploaded-to-s3-waste-share-app</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-object-detection-using-eden-ai-to-identify-the-image-uploaded-to-s3-waste-share-app</guid><description>Calling Eden AI from a Go and Gin backend to identify what kind of waste appears in a photo uploaded to S3 by the Flutter app.</description><pubDate>Tue, 19 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>flutter</category><category>go</category></item><item><title>WasteGO — Flutter App to create a waste item (Waste Share App)</title><link>https://billacode.com/blogs/wastego-flutter-app-to-create-a-waste-item-waste-share-app</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-flutter-app-to-create-a-waste-item-waste-share-app</guid><description>Adding a create-item form to the WasteGO Flutter app so users can post a new waste item through the Go and Gin backend.</description><pubDate>Fri, 15 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>flutter</category><category>go</category></item><item><title>WasteGO — Connecting GO &amp; Gin with Postgres (Waste share App)</title><link>https://billacode.com/blogs/wastego-connecting-go-gin-with-postgres-waste-share-app</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-connecting-go-gin-with-postgres-waste-share-app</guid><description>Part two of the WasteGO series: connecting a Go and Gin REST API to a PostgreSQL database for the waste-sharing app.</description><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>go</category><category>databases</category></item><item><title>WasteGO — Flutter App connecting to backend api</title><link>https://billacode.com/blogs/wastego-flutter-app-connecting-to-backend-api</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-flutter-app-connecting-to-backend-api</guid><description>Building a Flutter app that lists waste items from the Go and Gin backend API created earlier in the WasteGO series.</description><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>flutter</category><category>go</category></item><item><title>WasteGO — Creating a GO API with Gin (Waste share App)</title><link>https://billacode.com/blogs/wastego-creating-a-go-api-with-gin-waste-share-app</link><guid isPermaLink="true">https://billacode.com/blogs/wastego-creating-a-go-api-with-gin-waste-share-app</guid><description>Building a REST API in Go with the Gin framework for WasteGO, a waste-sharing app, with scaling in mind from the start.</description><pubDate>Wed, 13 Mar 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>flutter</category><category>go</category></item><item><title>Video Encoder DRM with Bento4, FFMPEG and BuyDRM</title><link>https://billacode.com/blogs/drm-with-bento4-ffmpeg-and-buydrm</link><guid isPermaLink="true">https://billacode.com/blogs/drm-with-bento4-ffmpeg-and-buydrm</guid><description>Adding DRM to a video encoding pipeline with Bento4, FFMPEG, and BuyDRM, continuing an earlier streaming encoder series.</description><pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>video</category></item><item><title>E-Commerce backend (Micro-service) — Express, Typescript and Kubernetes (Part 1)</title><link>https://billacode.com/blogs/e-commerce-backend-micro-service-express-typescript-and-kubernetes-part-1</link><guid isPermaLink="true">https://billacode.com/blogs/e-commerce-backend-micro-service-express-typescript-and-kubernetes-part-1</guid><description>Part one of an e-commerce microservice backend: a single Express and TypeScript service, containerised and running on Kubernetes.</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category><category>nodejs</category><category>docker</category></item><item><title>E-Commerce backend (Micro-service) — Express, Typescript and Mongodb (Part 2 — Creating the…</title><link>https://billacode.com/blogs/e-commerce-backend-micro-service-express-typescript-and-mongodb-part-2-creating-the</link><guid isPermaLink="true">https://billacode.com/blogs/e-commerce-backend-micro-service-express-typescript-and-mongodb-part-2-creating-the</guid><description>Part two of the e-commerce microservice series: a working product service backed by MongoDB in Express and TypeScript.</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>databases</category></item><item><title>E-Commerce Backend (Microservice) with Express, TypeScript, and RabbitMQ</title><link>https://billacode.com/blogs/e-commerce-backend-microservice-with-express-typescript-and-rabbitmq</link><guid isPermaLink="true">https://billacode.com/blogs/e-commerce-backend-microservice-with-express-typescript-and-rabbitmq</guid><description>Adding RabbitMQ to an Express and TypeScript e-commerce backend so services talk asynchronously instead of calling each other directly.</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category><category>nodejs</category><category>microservices</category></item><item><title>Uploading large files from React front end to Google cloud bucket using cloud functions — NodeJS &amp;…</title><link>https://billacode.com/blogs/uploading-large-files-from-react-front-end-to-google-cloud-bucket-using-cloud-functions-nodejs</link><guid isPermaLink="true">https://billacode.com/blogs/uploading-large-files-from-react-front-end-to-google-cloud-bucket-using-cloud-functions-nodejs</guid><description>Uploading large files from a React front end straight into a Google Cloud Storage bucket using signed URLs and Cloud Functions.</description><pubDate>Tue, 02 Jan 2024 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>gcp</category><category>react</category><category>nodejs</category></item><item><title>Problems with Google transcoder API</title><link>https://billacode.com/blogs/problems-with-google-transcoder-api</link><guid isPermaLink="true">https://billacode.com/blogs/problems-with-google-transcoder-api</guid><description>A significant limitation hit while using Google&apos;s Transcoder API in production, and the workarounds available once you are committed.</description><pubDate>Wed, 27 Dec 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>video</category><category>devops</category></item><item><title>Fundamentals of backend engineering — HTTP</title><link>https://billacode.com/blogs/fundamentals-of-backend-engineering</link><guid isPermaLink="true">https://billacode.com/blogs/fundamentals-of-backend-engineering</guid><description>HTTP fundamentals every backend engineer should know: the request and response cycle, methods, status codes, headers, and connections.</description><pubDate>Tue, 17 Oct 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>devops</category></item><item><title>Selecting a database for video metadata storage</title><link>https://billacode.com/blogs/selecting-a-database-for-video-metadata-storage</link><guid isPermaLink="true">https://billacode.com/blogs/selecting-a-database-for-video-metadata-storage</guid><description>Choosing a database for video metadata on a streaming platform: the access patterns that matter and how the candidates compare.</description><pubDate>Thu, 21 Sep 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>video</category><category>databases</category></item><item><title>Video Encoder for streaming using Node JS, FFMPEG and Bento4 (Javascript Promise to asynchronize)</title><link>https://billacode.com/blogs/writing-a-video-encoder-using-node-js-ffmpeg-and-bento4</link><guid isPermaLink="true">https://billacode.com/blogs/writing-a-video-encoder-using-node-js-ffmpeg-and-bento4</guid><description>A more robust streaming video encoder using Node.js, FFMPEG, and Bento4, with JavaScript promises running the steps asynchronously.</description><pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>video</category></item><item><title>Writing a Video Encoder using Node JS and FFMPEG</title><link>https://billacode.com/blogs/writing-a-video-encoder-using-node-js-and-ffmpeg</link><guid isPermaLink="true">https://billacode.com/blogs/writing-a-video-encoder-using-node-js-and-ffmpeg</guid><description>Writing a video encoder with FFMPEG and Node.js: how encoding actually works, and what the key FFMPEG options are doing.</description><pubDate>Thu, 17 Aug 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category><category>video</category></item><item><title>Building a Subtitle Creator with React</title><link>https://billacode.com/blogs/building-a-subtitle-creator-with-react</link><guid isPermaLink="true">https://billacode.com/blogs/building-a-subtitle-creator-with-react</guid><description>Building a subtitle creator in React so you can generate and format subtitle files for video without doing the timing by hand.</description><pubDate>Sat, 24 Jun 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category><category>video</category></item><item><title>Scalable E-Commerce WS — Using GraphQL for Cart service using Netflix DGS</title><link>https://billacode.com/blogs/scalable-e-commerce-ws-using-graphql-for-cart-service-using-netflix-dgs</link><guid isPermaLink="true">https://billacode.com/blogs/scalable-e-commerce-ws-using-graphql-for-cart-service-using-netflix-dgs</guid><description>Building a GraphQL cart service with Netflix DGS inside a Spring Boot e-commerce backend, alongside the existing REST services.</description><pubDate>Wed, 12 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>microservices</category></item><item><title>Scalable E-Commerce WS — Joining product service and order service using Apache Kafka</title><link>https://billacode.com/blogs/scalable-e-commerce-ws-joining-product-service-and-order-service-using-apache-kafka</link><guid isPermaLink="true">https://billacode.com/blogs/scalable-e-commerce-ws-joining-product-service-and-order-service-using-apache-kafka</guid><description>Using Apache Kafka to connect decoupled product and order services in a Spring Boot e-commerce backend without direct calls.</description><pubDate>Sat, 08 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>microservices</category><category>databases</category></item><item><title>Creating a scalable backend for an e-commerce application using Spring boot, Spring cloud and…</title><link>https://billacode.com/blogs/creating-a-scalable-backend-for-an-e-commerce-application-using-spring-boot-spring-cloud-and</link><guid isPermaLink="true">https://billacode.com/blogs/creating-a-scalable-backend-for-an-e-commerce-application-using-spring-boot-spring-cloud-and</guid><description>Starting a scalable e-commerce backend with Spring Boot, Spring Cloud, and Eureka service discovery, after experimenting with Kafka.</description><pubDate>Fri, 07 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>kubernetes</category><category>spring-boot</category><category>microservices</category></item><item><title>Scalable E-Commerce WS— Handling Requests using Spring Cloud Gateway</title><link>https://billacode.com/blogs/scalable-e-commerce-ws-handling-requests-using-spring-cloud-gateway</link><guid isPermaLink="true">https://billacode.com/blogs/scalable-e-commerce-ws-handling-requests-using-spring-cloud-gateway</guid><description>Adding Spring Cloud Gateway in front of an e-commerce microservice backend to route and filter every incoming request.</description><pubDate>Fri, 07 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>nodejs</category><category>microservices</category></item><item><title>Scalable E-Commerce WS — Product Service Implementation using PostgreSQL and Hibernate</title><link>https://billacode.com/blogs/scalable-e-commerce-ws-product-service-implementation-using-postgresql-and-hibernate</link><guid isPermaLink="true">https://billacode.com/blogs/scalable-e-commerce-ws-product-service-implementation-using-postgresql-and-hibernate</guid><description>Implementing the product service of a Spring Boot e-commerce backend with PostgreSQL and Hibernate handling persistence.</description><pubDate>Fri, 07 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>react</category><category>microservices</category></item><item><title>Spring boot series — Scaling the Stock Market Data service with Apache Kafka</title><link>https://billacode.com/blogs/spring-boot-series-scaling-the-stock-market-data-service-with-apache-kafka</link><guid isPermaLink="true">https://billacode.com/blogs/spring-boot-series-scaling-the-stock-market-data-service-with-apache-kafka</guid><description>Revisiting a Spring Boot stock market service two years on, and scaling it with Apache Kafka to handle far more symbols.</description><pubDate>Mon, 03 Apr 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>microservices</category></item><item><title>Deploying a simple node server #FREE OF CHARGE# using Render and connect it to a free database in…</title><link>https://billacode.com/blogs/deploying-a-simple-node-server-free-of-charge-using-render-and-connect-it-to-a-free-database-in</link><guid isPermaLink="true">https://billacode.com/blogs/deploying-a-simple-node-server-free-of-charge-using-render-and-connect-it-to-a-free-database-in</guid><description>Deploying a Node server and connecting it to a managed database without paying anything, using Render&apos;s free tier end to end.</description><pubDate>Mon, 27 Mar 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category><category>nodejs</category></item><item><title>Chaos faced while deploying lambda with AWS SAM</title><link>https://billacode.com/blogs/chaos-faced-while-deploying-lambda-with-aws-sam</link><guid isPermaLink="true">https://billacode.com/blogs/chaos-faced-while-deploying-lambda-with-aws-sam</guid><description>The deployment problems that hit while shipping a charity web app on AWS SAM, Lambda, and DynamoDB, and how each one was resolved.</description><pubDate>Sat, 25 Mar 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>devops</category></item><item><title>Creating a Weather App from Vanilla JS and PHP</title><link>https://billacode.com/blogs/creating-a-weather-app-from-vanilla-js-and-php</link><guid isPermaLink="true">https://billacode.com/blogs/creating-a-weather-app-from-vanilla-js-and-php</guid><description>Building a weather app with plain JavaScript and a PHP backend, with no framework involved: the fetch call, the API, and the markup.</description><pubDate>Tue, 17 Jan 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>php</category><category>databases</category></item><item><title>Charity web app backend (Firebase) — Creating the express app with Firestore Database</title><link>https://billacode.com/blogs/charity-web-app-backend-firebase-creating-the-express-app-with-firestore-database</link><guid isPermaLink="true">https://billacode.com/blogs/charity-web-app-backend-firebase-creating-the-express-app-with-firestore-database</guid><description>Creating an Express app inside Firebase Cloud Functions and wiring it to Firestore for the charity web app backend.</description><pubDate>Fri, 13 Jan 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>gcp</category><category>nodejs</category><category>databases</category></item><item><title>Charity Web App Backend using Firebase API and Cloud store</title><link>https://billacode.com/blogs/charity-web-app-backend-using-firebase-api-and-cloud-store</link><guid isPermaLink="true">https://billacode.com/blogs/charity-web-app-backend-using-firebase-api-and-cloud-store</guid><description>Rebuilding a charity web app backend on Firebase, using Cloud Functions, Firestore, and Cloud Storage in place of the AWS stack.</description><pubDate>Wed, 11 Jan 2023 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>gcp</category><category>databases</category></item><item><title>AWS Lambda Typescript(Charity Web App) — Handling S3 file upload event from Lambda function</title><link>https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-handling-s3-file-upload-event-from-lambda-function</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-handling-s3-file-upload-event-from-lambda-function</guid><description>Triggering a TypeScript Lambda from an S3 upload event, and wiring it into the charity web app&apos;s document handling flow.</description><pubDate>Wed, 26 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category><category>nodejs</category></item><item><title>React with Typescript series (Charity Web App) — Uploading files to AWS S3</title><link>https://billacode.com/blogs/react-with-typescript-series-charity-web-app-uploading-files-to-aws-s3</link><guid isPermaLink="true">https://billacode.com/blogs/react-with-typescript-series-charity-web-app-uploading-files-to-aws-s3</guid><description>Uploading files to AWS S3 directly from a React front end, skipping the round trip through your own backend server.</description><pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category><category>nodejs</category></item><item><title>AWS Lambda Typescript(Charity Web App) — Student service connected to DynamoDB</title><link>https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-student-service-connected-to-dynamodb</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-student-service-connected-to-dynamodb</guid><description>Replacing hardcoded stubs with real DynamoDB persistence in the TypeScript Lambda student service behind the charity web app.</description><pubDate>Sat, 22 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>microservices</category></item><item><title>AWS Lambda Typescript(Charity Web App) — Student Service with Event driven server-less computing</title><link>https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-student-service-with-event-driven-server-less-computing</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-student-service-with-event-driven-server-less-computing</guid><description>Building the Student service as a TypeScript Lambda with full CRUD operations, after a Hello World start on serverless Node.js.</description><pubDate>Sat, 22 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>microservices</category></item><item><title>AWS Lambda (Charity Web App)— Intro</title><link>https://billacode.com/blogs/aws-lambda-charity-web-app-intro</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-charity-web-app-intro</guid><description>Starting a serverless backend for a scholarship charity, and why Lambda and DynamoDB beat an always-on server when the budget is zero.</description><pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>video</category></item><item><title>AWS Lambda Typescript(Charity Web App) — Start using event driven server-less computing</title><link>https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-start-using-event-driven-server-less-computing</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-typescript-charity-web-app-start-using-event-driven-server-less-computing</guid><description>Moving a charity web app backend to event-driven serverless: the first TypeScript Lambda, project layout, and local development.</description><pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>docker</category></item><item><title>React with Typescript series (Charity Web App) — Deploying to Github pages</title><link>https://billacode.com/blogs/react-with-typescript-series-charity-web-app-deploying-to-github-pages</link><guid isPermaLink="true">https://billacode.com/blogs/react-with-typescript-series-charity-web-app-deploying-to-github-pages</guid><description>Deploying the React and TypeScript charity web app to GitHub Pages for free, before wiring up any backend integration.</description><pubDate>Thu, 20 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category><category>devops</category></item><item><title>React with Typescript series (Charity Web App) — Form state management</title><link>https://billacode.com/blogs/react-with-typescript-series-charity-web-app-form-state-management</link><guid isPermaLink="true">https://billacode.com/blogs/react-with-typescript-series-charity-web-app-form-state-management</guid><description>Fixing the state management problems in a dynamic React form that was built with higher-order components in the previous tutorial.</description><pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category></item><item><title>React with Typescript series (Charity Web App) — Higher Order Components</title><link>https://billacode.com/blogs/react-with-typescript-series-charity-web-app-higher-order-components</link><guid isPermaLink="true">https://billacode.com/blogs/react-with-typescript-series-charity-web-app-higher-order-components</guid><description>Using the higher-order component pattern in React and TypeScript to build a dynamic form for the charity web app.</description><pubDate>Sun, 21 Aug 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category></item><item><title>React with Typescript series (Charity Web App) — Components Development</title><link>https://billacode.com/blogs/react-with-typescript-series-charity-web-app-components-development</link><guid isPermaLink="true">https://billacode.com/blogs/react-with-typescript-series-charity-web-app-components-development</guid><description>Building the React and TypeScript components for the charity web app from the wireframes designed in the previous tutorial.</description><pubDate>Sat, 13 Aug 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category><category>devops</category></item><item><title>AWS Lambda + Serverless + Kotlin Waste share App Series — Creating the User API — DynamoDB setup</title><link>https://billacode.com/blogs/aws-lambda-serverless-kotlin-waste-share-app-series-creating-the-user-api-dynamodb-setup</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-serverless-kotlin-waste-share-app-series-creating-the-user-api-dynamodb-setup</guid><description>Building a full user API with AWS Lambda, the Serverless Framework, and Kotlin, backed by a DynamoDB table for the waste-share app.</description><pubDate>Sun, 10 Jul 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>kotlin</category><category>microservices</category></item><item><title>React basic series (Charity Web App) — Planning the UI</title><link>https://billacode.com/blogs/react-basic-series-charity-web-app-planning-the-ui</link><guid isPermaLink="true">https://billacode.com/blogs/react-basic-series-charity-web-app-planning-the-ui</guid><description>Turning the charity web app&apos;s requirements into wireframes and a component plan before writing any more React code.</description><pubDate>Wed, 04 May 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category></item><item><title>React with Typescript series(Charity Web App)— Creating a React app with Typescript</title><link>https://billacode.com/blogs/react-basic-series-charity-web-app-creating-a-react-app-with-typescript</link><guid isPermaLink="true">https://billacode.com/blogs/react-basic-series-charity-web-app-creating-a-react-app-with-typescript</guid><description>Starting a React and TypeScript app for a charity that processes student financial aid applications: project setup and structure.</description><pubDate>Thu, 28 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>react</category><category>nodejs</category><category>databases</category></item><item><title>AWS Certified Solution Architect — Aurora</title><link>https://billacode.com/blogs/aws-certified-solution-architect-aurora</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-aurora</guid><description>Amazon Aurora for the AWS Solution Architect exam: how it differs from standard RDS, read replicas, failover, and when the cost is justified.</description><pubDate>Thu, 21 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>databases</category><category>devops</category></item><item><title>AWS Certified Solution Architect — ElastiCache</title><link>https://billacode.com/blogs/aws-certified-solution-architect-elasticache</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-elasticache</guid><description>ElastiCache for the AWS Solution Architect exam: Redis versus Memcached, caching patterns, and taking read load off your database.</description><pubDate>Thu, 21 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>nodejs</category><category>databases</category></item><item><title>AWS Certified Solution Architect — RDS</title><link>https://billacode.com/blogs/aws-certified-solution-architect-rds</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-rds</guid><description>Amazon RDS for the AWS Solution Architect exam: managed SQL databases, multi-AZ deployments, read replicas, and how backups behave.</description><pubDate>Thu, 21 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>databases</category></item><item><title>AWS Certified Solution Architect — ASG</title><link>https://billacode.com/blogs/aws-certified-solution-architect-asg</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-asg</guid><description>Auto Scaling Groups for the AWS Solution Architect exam: scaling policies, launch configurations, and matching capacity to network load.</description><pubDate>Wed, 20 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category></item><item><title>AWS Certified Solution Architect — ELB</title><link>https://billacode.com/blogs/aws-certified-solution-architect-elb</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-elb</guid><description>Load balancers for the AWS Solution Architect exam: what scalability actually means, and how ALB, NLB, and Classic ELB differ in practice.</description><pubDate>Tue, 19 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>docker</category><category>realtime</category></item><item><title>AWS Certified Solution Architect — EBS, EFS and Instance Storage</title><link>https://billacode.com/blogs/aws-certified-solution-architect-ebs-efs-and-instance-storage</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-ebs-efs-and-instance-storage</guid><description>EBS, EFS, and instance store compared for the AWS Solution Architect exam: durability, sharing between instances, and picking the right one.</description><pubDate>Mon, 18 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>databases</category></item><item><title>AWS Certified Solution Architect — EC2 &amp; AMI</title><link>https://billacode.com/blogs/aws-certified-solution-architect-ec2-ami</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-ec2-ami</guid><description>EC2 and AMIs for the AWS Solution Architect exam: instance types, pricing models, and building reusable machine images from a running box.</description><pubDate>Mon, 18 Apr 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category></item><item><title>Check for number of available paths in an ObstacleGame board — JavaScript</title><link>https://billacode.com/blogs/check-for-number-of-available-paths-in-an-obstaclegame-board-javascript</link><guid isPermaLink="true">https://billacode.com/blogs/check-for-number-of-available-paths-in-an-obstaclegame-board-javascript</guid><description>A common coding-test problem solved in JavaScript: counting available paths across a grid board when obstacles block some cells.</description><pubDate>Fri, 25 Feb 2022 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>nodejs</category></item><item><title>AWS Lambda + Serverless + Kotlin Waste share App Series — Intro</title><link>https://billacode.com/blogs/aws-lambda-serverless-kotlin-waste-share-app-series-intro</link><guid isPermaLink="true">https://billacode.com/blogs/aws-lambda-serverless-kotlin-waste-share-app-series-intro</guid><description>Starting a serverless backend in Kotlin: the stack behind a waste-sharing app built on AWS Lambda and the Serverless Framework.</description><pubDate>Sun, 03 Oct 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category><category>react</category><category>kotlin</category></item><item><title>AWS Certified Solution Architect — IAM</title><link>https://billacode.com/blogs/aws-certified-solution-architect-iam</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-iam</guid><description>IAM for the AWS Solution Architect exam: root versus IAM users, groups, policies, roles, and the least-privilege habits that go with them.</description><pubDate>Wed, 22 Sep 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category></item><item><title>AWS Certified Solution Architect — Intro</title><link>https://billacode.com/blogs/aws-certified-solution-architect-intro</link><guid isPermaLink="true">https://billacode.com/blogs/aws-certified-solution-architect-intro</guid><description>Start of a tutorial series for the AWS Certified Solution Architect exam: what AWS is, how regions work, and what the exam expects of you.</description><pubDate>Wed, 22 Sep 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>aws</category></item><item><title>Flutter series — Connecting the spring boot web socket market data (Real time market data)</title><link>https://billacode.com/blogs/flutter-series-connecting-the-spring-boot-web-socket-market-data-real-time-market-data</link><guid isPermaLink="true">https://billacode.com/blogs/flutter-series-connecting-the-spring-boot-web-socket-market-data-real-time-market-data</guid><description>Connecting a Flutter app to a Spring Boot WebSocket so stock market prices update in real time rather than on a manual refresh.</description><pubDate>Fri, 11 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>flutter</category><category>react</category></item><item><title>Spring boot series — Creating a Web Socket to send real time market data</title><link>https://billacode.com/blogs/spring-boot-series-creating-a-web-socket-to-send-real-time-market-data</link><guid isPermaLink="true">https://billacode.com/blogs/spring-boot-series-creating-a-web-socket-to-send-real-time-market-data</guid><description>Adding a WebSocket to a Spring Boot service so stock market data streams to clients in real time instead of being polled.</description><pubDate>Thu, 10 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>realtime</category></item><item><title>Flutter series — Connecting UI to spring boot backend</title><link>https://billacode.com/blogs/flutter-series-connecting-ui-to-spring-boot-backend</link><guid isPermaLink="true">https://billacode.com/blogs/flutter-series-connecting-ui-to-spring-boot-backend</guid><description>Wiring the Flutter stock market UI to its Spring Boot backend endpoint, completing the first working version of the app.</description><pubDate>Mon, 07 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>flutter</category><category>realtime</category></item><item><title>Flutter series — Implementing stock market watch list UI</title><link>https://billacode.com/blogs/flutter-series-implementing-stock-market-watch-list-ui</link><guid isPermaLink="true">https://billacode.com/blogs/flutter-series-implementing-stock-market-watch-list-ui</guid><description>Building a stock market watch list UI in Flutter, ready to connect to the Spring Boot backend from earlier in the series.</description><pubDate>Mon, 07 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>flutter</category><category>video</category></item><item><title>Flutter series — Creating the first Flutter application</title><link>https://billacode.com/blogs/flutter-series-creating-the-first-flutter-application</link><guid isPermaLink="true">https://billacode.com/blogs/flutter-series-creating-the-first-flutter-application</guid><description>Creating your first Flutter app to display stock market data from the Spring Boot service built earlier in this series.</description><pubDate>Sun, 06 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>flutter</category></item><item><title>Spring boot series — Sending Stock market data in JSON form</title><link>https://billacode.com/blogs/spring-boot-series-sending-stock-market-data-in-json-form</link><guid isPermaLink="true">https://billacode.com/blogs/spring-boot-series-sending-stock-market-data-in-json-form</guid><description>Improving a Spring Boot stock service to return data for a whole set of symbols as JSON, instead of one stock at a time.</description><pubDate>Sun, 06 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category></item><item><title>Spring boot series — Unit testing basics</title><link>https://billacode.com/blogs/spring-boot-series-unit-testing-basics</link><guid isPermaLink="true">https://billacode.com/blogs/spring-boot-series-unit-testing-basics</guid><description>Unit testing basics for a Spring Boot app that pulls stock prices from the Yahoo Finance API: what to mock and what to assert.</description><pubDate>Sun, 06 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category></item><item><title>Spring boot series — Stock Market data End Point</title><link>https://billacode.com/blogs/spring-boot-series-stock-market-data-end-point</link><guid isPermaLink="true">https://billacode.com/blogs/spring-boot-series-stock-market-data-end-point</guid><description>Improving the Spring Boot stock market endpoint before deploying to production, with cleaner structure and error handling.</description><pubDate>Fri, 04 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category><category>devops</category></item><item><title>Create the first spring boot app</title><link>https://billacode.com/blogs/create-the-first-spring-boot-app</link><guid isPermaLink="true">https://billacode.com/blogs/create-the-first-spring-boot-app</guid><description>Skipping the theory and building your first Spring Boot application: initialising the project, its structure, and running it locally.</description><pubDate>Wed, 02 Jun 2021 00:00:00 GMT</pubDate><dc:creator>Dimuthu Wickramanayake</dc:creator><category>spring-boot</category></item></channel></rss>