RSSAmplifier

Blog

Lasantha Kularatne

Personal website of Lasantha Kularatne - Principal Software Engineer specializing in AI/ML, distributed systems, and reliability engineering

lasantha.orgRSS feed ↗7 posts

Latest posts

Future of Software Engineering — Thoughtworks

Future of Software Engineering — Retreat Key Takeaways Martin Fowler shared today on his blog page about the Thoughtworks Future of Software Development Retreat held in February 2026. As I read the details, one document captured my attention: tw_future_of_software_development_retreat_key_takeaways.pdf I felt like, this is a good state-of-the-union for the current AI driven software development. I…

Fun with Shell Emojis

This article is nothing technical. I want to show the fun side of shell development. Your shell environment doesn't need to be boring. We can decorate the shell's user messages with fun emojis that are random each time. It's a small touch that helps break the monotony of everyday terminal work. Let me walk you through how to set this up on Linux, macOS, and Windows. Linux (Debian/Ubuntu) Shell…

Cost-Effective Multi-Agent AI: Separating Reasoning from Execution

Building AI agents that actually work in production is expensive. Every API call to GPT-4 or Claude costs money, and when you're running agentic loops with multiple tool calls, those costs add up fast. But what if you could use expensive models only where they truly matter, and run everything else locally for free? That's exactly what I built. A multi-agent system that uses powerful cloud LLMs for…

Understanding the Monad Design Pattern in Kotlin

Monads have a reputation for being difficult to understand, often explained with abstract mathematical concepts that leave developers more confused than enlightened. In this post, I'll take a practical approach - implementing monads in Kotlin to show how they solve real problems. What Problem Do Monads Solve? Consider this common scenario: you have a chain of operations, each of which might fail…

Generating Mandelbrot Set Images with Kotlin

There's something deeply satisfying about generating fractal images through code. The Mandelbrot set, in particular, has fascinated mathematicians and programmers alike since Benoit Mandelbrot first visualized it in 1980. I built a Kotlin library to explore this mathematical wonder, and I'd like to share both the results and the approach. What is the Mandelbrot Set? The Mandelbrot set is defined…

Building This Website with Eleventy and Bulma

After years of writing on Medium and creating internal documentation at work, I decided it was time to build my own personal website. As someone who values simplicity and maintainability in system design, I wanted the same principles to apply here. Why Build a Personal Site? Throughout my career, I've benefited enormously from engineers who shared their knowledge publicly. From blog posts that…

Welcome to My Blog

Welcome to my corner of the internet! After 22+ years in software engineering, I've finally decided to create a dedicated space to share my thoughts on technology, leadership, and the lessons learned along the way. What to Expect This blog will cover topics I'm passionate about and have hands-on experience with: AI/ML & Developer Productivity Having led AI adoption initiatives across global…