RSSAmplifier

Blog

Kaushik Gopal's Website

Recent content - Kaushik Gopal's Website

kau.shRSS feed ↗176 posts

Latest posts

What it means to be a truly AI-native software company

Everyone says they’re rebuilding their company in an AI-native way. But what does that mean? Most companies look at what their existing employees do and try to automate it with AI. That’s not it. That’s dabbling. A truly AI-native company rethinks every role and tears down the walls between them. None of us can 8-ball this but here’s my sketch. It’s not exhaustive but…

Responsible Loop Engineering

Loop engineering convinced me. Not because it’s clever — because done right, it doesn’t bankrupt you. This post captures where I’ve landed: a responsible way to run loops at scale without burning a hole in your pocket. Naysayer → Believer ## I’ve been a vocal naysayer . Not because the approach doesn’t work — it works. The costs never justified it. No surprise — the…

Moxy - My new programming font

Every time I switch or try out a new font, I track it in my my-new-programming-font series. Some of the popular ones: IBM Plex Mono , Recursive , Commit Mono , Berkeley Mono. This time’s a little different. It’s one I’ve “made” myself, and I’m calling it Moxy . Built on strong bones ## Moxy is built on top of Recursive . It’s a stretch to call it a new…

OpenCode power user tips

In this post, I’d like to talk about some power user tips for OpenCode - an open source , model agnostic harness that more people should be using. Hopefully some of the advanced use cases convince you to give OpenCode (and OpenChamber ) a shot. intermediate to advanced tips only I am specifically choosing to talk about some advanced tips in this post. If you’ve never used an agent…

AI model choices 2026-06

My 2026 Jan AI tool stack. Six months since my last post and the whole list has turned over. Models ### Kimi 2.6 has become my overall workhorse model. By default I start most AI sessions with Kimi 2.6 now. GPT 5.5 remains my coding model of choice. My detailed planning, creating of exec-plans 1 , code review, simplification, and one-shot feature changes, reliably happen with GPT 5.5 (high). Opus…

Agents are the new compilers. Specs are the new code.

Linus Torvalds recently said 1 AI will be to code what compilers were to assembly — freeing us from writing it by hand. Around the same time, I talked with Jesse Vincent (creator of one of the most popular agent skills out there — superpowers ). Something he said stuck with me: Specs are going to be the new code . I realize those two ideas snap together a little too neatly. Agents are compilers 2…

Agent Kombat

Most multi-agent coding setups I see today look like task parallelism. You split the work, hand each piece to a different agent, and merge the results at the end. That is useful. I do it too. But I’ve been trying a different approach and really liking it: Put two agents on the same problem and make them argue constructively before I trust the plan. The manual version is simple: I spin up…

We are becoming Harness Engineers

The role of a software engineer is shifting. Not toward writing more code but toward building the environment that makes agents reliable. Think about what you actually do with Claude Code or Codex today: you configure AGENTS.md files, set up MCP servers, write skills and hooks, build feedback loops and tune sub-agents. You’re not writing as much of the software anymore. You’re…

Podsync - I finally built my podcast track syncer

I host and edit a podcast 1 . When recording remotely, we each record our own audio locally (I on my end, my co-host on his). The service we use (Adobe Podcast, Zoom, Skype-RIP) captures everyone together as a master track. But the quality doesn’t match what each person records locally with their own microphone. So we use that master as a reference point and stitch the individual local…

Here’s my list of reasons for using Opencode

Here’s my list of reasons for using Opencode . 1. Switch between models on the fly ## I’m often experimenting with the bleeding edge models as they come out. I actively switch between models for tasks and I use them all enough where I can tell the difference. Opencode lets me switch between models mid-task or mid-conversation. Fluidly. 2. client-server architecture (a.k.a built-in…

Agentic Fluidity - OpenCode is OpenClaw for coding

One of the reasons OpenClaw got so popular was how fluidly you can chat with and operate your agents. Pull up your phone, send a quick message on WhatsApp, and you’re in business. As we focus more on agent orchestration 1 in 2026, I think an important aspect will be access fluidity . How do you hop into your agent’s context from any device, terminal, or IDE and just start coding?…

AI model choices 2026-01

Which AI model do I use? This is a common question I get asked, but models evolve so rapidly that I never felt like I could give an answer that would stay relevant for more than a month or two. This year, I finally feel like I have a stable set of model choices that consistently give me good results. I’m jotting it down here to share more broadly and to trace how my own choices evolve over…

Forking subagents in an AI coding session with tmux

With agentic coding becoming the primary paradigm for coding, many have tried to come up with a smooth subagent workflow. 1 Many of these solutions are reasonable, but none match the simplicity of what I actually want: Spin up another agent instance with the exact same context I’ve painstakingly built. Pursue a tangential thought interactively in a separate session. Sometimes that’s…

Wi-Fi sharing is a killer Android feature

Ubiquiti announced a new travel router . Much of the internet is excited. So am I. Then I tried to remember the last time I actually needed a travel router. You see, Android has supported a feature I’ll call Wi-Fi sharing for years. 1 Your phone connects to an existing Wi-Fi network and re-shares it as a hotspot. This might sound like a regular hotspot feature that most phones (including the…

AI is a motorbike for the mind

Steve Jobs famously called the computer a bicycle for the mind . We humans are tool builders… We can fashion tools that amplify these inherent abilities to spectacular magnitudes. So for me, a computer has always been the bicycle of the mind. Something that takes us far beyond our inherent abilities. That sentiment feels prescient again today but the vehicle has changed. If the personal…

Combating AI coding atrophy with Rust

It’s no secret that I’ve fully embraced AI for my coding. A valid concern ( and one I’ve been thinking about deeply ) is the atrophying of the part of my brain that helps me code. To push back on that, I’ve been learning Rust on the side for the last few months. I am absolutely loving it. Why Rust? ## Systems level language ### Kotlin remains my go-to language. It’s…

AI-assisted coding → Vibe Engineering ← Vibe Coding

We’re still wrestling with how much AI belongs in our day to day coding. Three phrases keep getting mixed together: AI-assisted coding Vibe coding Vibe engineering These are not the same. AI Assisted Vibe coding Vibe engineering Generates the code 👨‍💻 (+ 🤖) 🤖 🤖 Owns the design 👨‍💻 ︎🤖 👨‍💻 ︎ They differ along two dimensions: who generates most of the code and who owns the design and…

Go with monthly AI subscriptions friends

Go with monthly AI subscriptions friends I can’t remember where I read this tip, but given how fast the AI lab models move, it’s smarter to stick with a monthly plan instead of locking into an annual one, even if the annual price looks more attractive. I hit a DI issue on Android and was too lazy to debug it myself, so I pointed two models at it. GPT Codex gave me the cleanest, correct…

Firefox + UbO is still better than Brave, Edge or any Chromium-based solution

I often find myself replying to claims that Brave, Edge, or other Chromium browsers effectively achieve the same privacy standards as Firefox + uBlock Origin (uBO). This is simply not true. Brave and other Chromium browsers are constrained by Google’s Manifest V3. Brave works around this by patching Chromium and self-hosting some MV2 extensions, but it is still swimming upstream against the…

Cognitive Burden

A common argument I hear against AI tools: “It doesn’t do the job better or faster than me, so why am I using this again?” Simple answer: cognitive burden. My biggest unlock with AI was realizing I could get more done, not because I was faster , but because I wasn’t wringing my brain with needless tedium. Even if it took longer or needed more iterations, I’d finish…

Standardize with ⌘ O ⌘ P to reduce cognitive load

There are a few apps on macOS in the text manipulation category that I end up spending a lot of time on. For example: Obsidian (for notes), Zed (text editor + IDE lite), Android Studio & Intellij (IDE++), Cursor (IDE + AI), etc. All these apps have two types of commands that I frequently use: Open a specific file or note Open the command palette (or find any action menu) But by default, these apps…

Product vs Model Innovation

Cursor is known to be the fastest growing SaaS company in history . Yet, because they don’t control the underlying model, I’ve always felt the writing was on the wall. They are an AI tool, not an AI product, and tool companies risk disruption from model providers who can build competing tools on their own platforms. But Cursor has consistently shown they can deliver the highest quality…

Agent Skills: How is it different from command and other tools?

Anthropic announced Claude Skills and my first reaction was: “So what?” We already have AGENTS.md , slash commands, nested instructions, or even MCPs. What’s new here? But if Simon W thinks this is a big deal , then pelicans be damned; I must be missing something. So I dissected every word of Anthropic’s eng. blog post to find what I missed. I don’t think the…

Cargo Culting

If you’re a software engineer long enough, you will meet some gray beards that throw out-of-left-field phrases to convey software wisdom. For example, you should know if you’re yak-shaving or bike-shedding , and when that’s even a good thing. A recent HN article 1 reminded me of another nugget – Cargo Culting (or Cargo Cult Programming). Definition ### Cargo Culting : ritualizing…

ExecPlans – How to get your coding agent to run for hours

I’ve long maintained that the biggest unlock with AI coding agents is the planning step. In my previous post , I describe how I use a .ai/plans directory and ask the agent to diligently write down its tasks before and during execution. Most coding agents now include this as a feature. Cursor, for example, introduced it as an explicit feature recently. While that all felt validating, on a…

We are becoming Software Conductors

Engineers won’t be replaced by tools that do their tasks better; they’ll be replaced by systems that make those tasks nonessential. Sangeet Paul Choudary wrote an insightful piece on AI-driven job displacement and a more transformative way to think about it: To truly understand how AI affects jobs, we must look beyond individual tasks to comprehend AI’s impact on our workflows and…

Sorting Prompts - LLMs are not wrong you just caught them mid thought

Good sensemaking processes iterate. We develop initial theories, note some alternative ones. We then take those theories that we’ve seen and stack up the evidence for one against the other (or others). Even while doing that we keep an eye out for other possible explanations to test. When new explanations stop appearing and we feel that the evidence pattern increasingly favors one idea…

Build your own /init command like Claude Code

Build your own /init command Claude’s /init makes it easy to add clear repo instructions. Build your own and use it with any agent to add or improve on an existing AGENTS.md Here’s the one I came up with . Claude Code really nailed the onboarding experience for agentic coding. Open it, type /init , and you get a CLAUDE.md that delivers better results than a repo without proper system…

Three important things to get right for successful AI Coding

I often hear AI coding feels inconsistent or underwhelming. I’m surprised by this because more often than not, I get good results. When working with any AI agent ( or any LLM tool ), there are really just three things that drive your results: the context you provide the prompt you write executing in chunks This may sound discouragingly obvious, but being deliberate about these three (every…

Vibe-engineering a Firefox add-on: Container Traffic Control

I wanted to test a simple claim: you can ship maintainable software by vibe-engineering end to end. I set strict constraints: New platform (I haven’t built a browser extension/add-on) Language I’m no longer proficient in (JavaScript) Zero manual code editing In about a day 1 I had a working Firefox add-on I could submit for review. The code meets my bar for readability and long‑term…

Terminal command that tells you which USB-C cable is bad

now includes macOS Tahoe support Apple slightly altered the system command for Tahoe You have a drawer full of USB cables. Half are junk that barely charge your phone. The other half transfer data at full speed. But which is which? Android Studio solved this. Recent versions warn you when you connect a slow cable to your phone: developers.android.com I wanted this for the command line. So I…

Google still knows how to really swag

Google still knows how to really swag

reclaiming em-en dashing back from AI and lowercasing

AI is transforming our tools, our writing, and — apparently now — our sense of typographic originality. But there are two quirks of my writing that now get me side-eye from friends: em and en dashes predominant lowercasing I know, i know. nobody likes the guy who says he liked the band before they got famous. but here we are. I was lowercasing and em-en dashing before AI and i’d like to…

Getting Into Flow State with Agentic Coding

I recently found myself in a deep state of flow while coding — the kind where time melts away and you gain real clarity about the software you’re building. The difference this time: I was using Claude Code primarily. If my recent posts are any indication, I’ve been experimenting a lot with AI coding — not just with toy side projects, but high-stakes production code for my day job. I…

Introducing “shorts” for Henry (my Hugo blog engine/theme)

Introducing “shorts” for Henry (my Hugo blog engine/theme). Often, I find myself wanting to post a quick thought or note without the ceremony of a full-blown “blog post”. That’s usually when I’d post to Bluesky , X , Threads , or Mastodon . But as I’ve said before , I prefer investing in a feed I control. With Henry, I can effortlessly post a quick…

🦊 How to Firefox

Chrome finally pulled the trigger on the web’s best ad-blocker, uBlock Origin . Now that Chrome has hobbled uBO, Firefox — my beloved — 1 is surging again. I want to do my part to convince you to switch to Firefox and show you how I use it. Why Firefox # Let’s get through the important talking points, in case you need a quick copy paste to convince a friend. 100% open-source…

AI Programming Paradigms: A Timeline

A developer podcast host recently said they only use AI for autocomplete. This shocked me. That’s two generations behind today’s state of the art. This is how the field is evolving: I spoke about this topic in episode #301 of Fragmented . It was recorded more recently so reflects my more current thoughts on the topic. Download directly AI Programming Paradigms at a Glance Super…

Keep your AGENTS.md in sync — One Source of Truth for AI Instructions

Getting useful results from your AI assistant often comes down to the instructions you give it. Most developers treat that step casually, then wonder why the output is mediocre. One of the simplest ways 1 to improve this is to keep one set of master instructions in an AGENTS.md file. In it, you define persistent rules that shape every interaction with the agent. Writing those instructions once is…

AI won't replace good engineers - it'll make them invaluable

I just read a good piece by the Nilenso crew on AI-assisted coding for teams that can’t get away with vibes . Blog post title aside, it helped me synthesize my own thoughts better on a question that keeps coming up: will AI replace all software engineers?". Not only won’t it replace us, it’ll make the best engineers even more valuable. Here’s why. AI amplifies what you…

Configure Karabiner with ease (& Kotlin)

If you’re obsessed with productivity hacks, you’ve probably heard of Karabiner – the ultimate tool for keyboard customization on macOS. But maintaining Karabiner’s config is a pain. In this post I’ll show you a simpler, Kotlin-powered way to wrangle your Karabiner setup, so you don’t have to wrestle with massive, unwieldy JSON. On Karabiner ## Here’s the gist:…

Taildrop - transfer files between Android and MacOS

I use the Pixel 9 Pro as my daily driver and love it. But one notable feature I’ve always missed from the Apple ecosystem is AirDrop . I typically have WhatsApp for Mac open and dump things there for quick access between devices. Clunky, but it worked. Until I realized Tailscale — a VPN 1 that I love and use — has a feature called Taildrop . The name suggests it’s meant as an AirDrop…

Why I still podcast for Fragmented

When you’ve been doing a podcast for so long and it’s a pure labor of love –time and again– you start to ask yourself: why am I doing this again? This is a note for myself and others, who sometimes worry about the podcast. Positive listener feedback ## Probably, the single most influential reason for doing it is those 2 or 3 notes or messages I get over the year when someone says that…

🖤 Automatic Dark mode for Hugo using Tailwind CSS

On a ✈️ back home, I decided to add Dark mode support to Henry . Having recently upgraded to Tailwind CSS 4.0, this was a piece of cake to do. I leverage the widely supported CSS @media prefers-color-scheme feature and Tailwind’s native dark-mode support. The implementation only required a few changes: 1. update main theme.css ### In my main theme.css file where I declare the existing…

AirPods Max: now great for podcasters with 0 latency!

Update is now out The latest firmware update is out now. Update your Mac (iPhone or iPad) to the latest version & connect your Airpods Max should update its firmware . Apple just announced ultra-low latency support for the USB-C AirPods Max, and it changes everything for podcasters. Yes, they still cost an absurd $500. But now they’re worth their weight in starlight 1 gold. Courtesy:…

AI & Software Engineering: Time for optimism

Many software engineers (myself included, not long ago) have been anxious about AI replacing our jobs. It’s a natural concern. But I’ve been diving deep into using AI for software engineering. I’ve had a realization: We should stop worrying about job losses. Start seeing AI as a tool to make us more valuable. The key? Use AI for learning, not just code generation. Relying solely…

Terrifyingly Inspiring - My Life in Weeks

I’ve been following the awesome Gina Trapani for quite some time. 1 She recently built a tool to track her life in weeks (inspired by Tim Urban of Wait But Why fame’s own article ). As I get close to another complete revolution around the sun, the only thought that went through my mind reading this: Terrifyingly Inspiring. Lifehacker ❤️. It shaped my early internet years.…

Styled checkboxes for Obsidian tasks without plugins or a custom theme

I use Obsidian for tracking my weekly tasks. 1 One thing I like to do, is mark tasks as “canceled”, “rescheduled”, “in progress”, etc. in case I move them between weeks. These tasks should visually stand out from the rest. Custom themes like Obsidian Minimal provide this as an option. There’s also plugins that do this. But I like to keep my Obsidian setup…

Age of the AI phone

In Vinay’s latest newsletter , he asks a few of us #AndroidDev to predict what the future of Android development is going to look like. Yours truly had this as one of the predictions: AI everything 🙄 … On the product side, we’ll see more on-device AI, with smaller models like Gemini Flash/o3-mini running locally to provide operator-like intelligence directly on phones and this will…

How to enable custom fonts in Obsidian Mobile

One of the challenges with note taking apps on mobile is the limited font selection. While desktops let you install custom fonts system-wide, mobile platforms are much more restrictive. However, there’s an elegant solution for Obsidian given it’s an electron app. Obsidian allows you to inject a CSS snippet to tweak the appearnace of the app. CSS allows you to embed base64 encoded fonts…

Powering your Hugo blog with Bluesky Comments - invest in a feed you control

Twitter’s change in ownership triggered a cascade of events birthing various social media clones. It’s been tricky to decide which network to invest time and energy in. I’m not an influencer, but I’d be kidding myself if I thought having a presence on social media wasn’t important. The recent TikTok drama has given me clarity on one extremely important principle that all creators should have…