Kaushik Gopal's Website
List of blog posts on Kaushik Gopal
- Posts
- 175 from 1 Jan 2001 to 1 Jul 2026
- Posting
- monthly (21 in the last year)
- Kind
- personal blog
- Feed
- https://kau.sh/feed.xml
2026 12
- What it means to be a truly AI-native software company
- Responsible Loop Engineering
- Moxy - My new programming font
- OpenCode power user tips
- AI model choices 2026-06
- Agents are the new compilers. Specs are the new code.
- Agent Kombat
- We are becoming Harness Engineers
- Podsync - I finally built my podcast track syncer
- Here’s my list of reasons for using Opencode
- Agentic Fluidity - OpenCode is OpenClaw for coding
- AI model choices 2026-01
2025 38
- Forking subagents in an AI coding session with tmux
- Wi-Fi sharing is a killer Android feature
- AI is a motorbike for the mind
- Combating AI coding atrophy with Rust
- AI-assisted coding → Vibe Engineering ← Vibe Coding
- Go with monthly AI subscriptions friends
- Firefox + UbO is still better than Brave, Edge or any Chromium-based solution
- Cognitive Burden
- Standardize with ⌘ O ⌘ P to reduce cognitive load
- Product vs Model Innovation
- Agent Skills: How is it different from command and other tools?
- Cargo Culting
- ExecPlans – How to get your coding agent to run for hours
- We are becoming Software Conductors
- Sorting Prompts - LLMs are not wrong you just caught them mid thought
- Build your own /init command like Claude Code
- Three important things to get right for successful AI Coding
- Vibe-engineering a Firefox add-on: Container Traffic Control
- Terminal command that tells you which USB-C cable is bad
- Google still knows how to really swag
- reclaiming em-en dashing back from AI and lowercasing
- Getting Into Flow State with Agentic Coding
- Introducing “shorts” for Henry (my Hugo blog engine/theme)
- 🦊 How to Firefox
- AI Programming Paradigms: A Timeline
- Keep your AGENTS.md in sync — One Source of Truth for AI Instructions
- AI won't replace good engineers - it'll make them invaluable
- Configure Karabiner with ease (& Kotlin)
- Taildrop - transfer files between Android and MacOS
- Why I still podcast for Fragmented
- 🖤 Automatic Dark mode for Hugo using Tailwind CSS
- AirPods Max: now great for podcasters with 0 latency!
- AI & Software Engineering: Time for optimism
- Terrifyingly Inspiring - My Life in Weeks
- Styled checkboxes for Obsidian tasks without plugins or a custom theme
- Age of the AI phone
- How to enable custom fonts in Obsidian Mobile
- Powering your Hugo blog with Bluesky Comments - invest in a feed you control
2024 16
- How to make the iPhone Continuity Camera work properly in Chrome
- My new programming font - Commit Mono
- Coroutine Testing - Controlling time
- Mobile Rewrites & Crisis Management
- Coroutine Testing - Never ending tests & backgroundScope
- Coroutine Testing
- Coroutine Testing - Picking the right Dispatcher
- Campground Pull Request
- Adding Tailwind CSS to a Hugo blog
- Pick the right JDK for Android Studio
- letter.kau.sh – 2024 Mar
- Option ⌥ key for shortcuts vs special characters
- letter.kau.sh – 2024 Feb
- Simplify & replace git-number with git aliases
- Let me help you get to Inbox 0 with Gmail
- letter.kau.sh – 2024 Jan
2023 9
- Slashed 0 in IBM Plex - freeze alt. characters in otf fonts
- Toggle window snapping with Keyboard Maestro
- Supercharge Kscript with Github Copilot
- The magic that is Zakir (👂🏽) and his Tabla
- This year I shall Simplify
- Tootbot for Mastodon
- Own your online presence - Step 1 ☝️
- Share your macOS audio with multiple multiple bluetooth headphones or Airpods
- 2022 Retro
2022 13
- A few Kotlin constructs
- What does $0=$2 in awk do? learn awk
- Operating efficiently at scale
- What a Mac mini & Tailscale enables
- My new programming font - Recursive
- Yearn for the vast and endless sea
- High quality vector icons from Yoolk Ninja
- Keyboard Maestro as a Text Expander replacement
- Magic enter command for (fish/zsh) shell
- Manipulating images & PDFs using CLI commands
- Saving the world from code
- My productivity system
- Remove Terminal.app from Alfred & Spotlight
2021 4
2020 9
- iPhones, Pixels and lazy Android developers
- Technical leadership and glue work
- Jekyll footnotes as Edward Tufte inspired sidenotes
- Am I Yak-Shaving or Bikeshedding?
- My new programming font - Iosevka
- My 1st screen cast: awk program from scratch
- git-number to the command line rescue
- 2020
- You should CD your blog (Firebase Hosting + Circle CI + Docker)
2019 13
- Hacking your keyboard with karabiner
- Architecting Android and iOS app features for 2020
- Bob Iger remembers Steve Jobs
- Speed up your Android Studio
- assertLastValue for RxJava TestObservers
- Is iOS starting to get fragmented?
- Processing a sorted array is faster than an unsorted one?
- Space Shuttle style programming
- IO vs CPU operations
- .hide() your Subjects - RxJava tip
- Japanese Manhole art
- Kotlin 1.3.20 released
- New Year - 2019
2018 6
2017 6
2016 3
2015 10
- Painless UI Testing
- A note about the warmth of the share and replay operators
- Ken Burns: On Story
- Learning Rx by Example (Part 1)
- The Audio Latency Problem on Android
- Fragmented Podcast - Episode #2 : Android Studio
- Rx Is Coming
- RxJava Tip for the Day - Share, Publish, Refcount and All That Jazz
- Interested in an Android Developer Podcast?
- DebouncedBuffer With RxJava
2014 4
2013 5
2012 16
- Music used on the new "All on iPad" commercial
- if Pixar did Justice League
- Learning and Looking Foolish
- on the new Twitter logo
- Stephen Fry - language
- Earth - the pale blue dot
- The Janitor from Columbia
- Use paper towels more efficiently - shake and fold
- the first rule of Markdown
- Learning is more important that Knowing
- Your Android phone is 15s incorrect ...
- Good insight on interviewing programmers
- Will it improve upon on the silence? - Sri Sathya Sai Baba
- how Tommy Emmanuel mics his acoustic guitar
- Programmer Competency Matrix
- Why it's important to know how to write for CS Majors