Kaushik Gopal's Website
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
One Source of Truth for AI Instructions: single AGENTS.md
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!
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
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
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 ☝️
How to output audio to multiple Airpods or headphones
2022 Retro
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
Introducing Henry for Hugo
Introducing Henry for Jekyll
How to rate a movie
2021
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)
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
Unidirectional State Flow patterns – a refactoring story
Free hackathon vote tabulation using Google Forms & Kotlin
Supercharging your workflow with App Center and Azure
Squircle and sweating the design details
Smarter ToDos with Kotlin
My new programming font - IBM Plex Mono
Kindness and Positivity
Rx by example – Volume 3 (the multicast edition)
RxJava 1 -> RxJava 2 (Disposing Subscriptions)
RxJava 1 -> RxJava 2 (Understanding the changes)
That Time I Met Andy Rubin
New Year - 2017
What I learnt using the Presenter pattern
Learning Rx by Example (Part 2)
New Year - 2016
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
New Year - 2015
Implementing an Event Bus With RxJava - RxBus
Learning RxJava With Android by Example
Primer on Threading and Handlers in Android
How I remembered Roshambo 2.0 (Rock Paper Scissors Lizard Spock)
A developer's life
We humans are capable of greatness
Comfort in Coding
New Year - 2013
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
Songs from TV
What you need to know about memory and CPU
Fonts used in new BBC TV series Sherlock
Steve Jobs
parkour wizardry @ Tempest Freerunning Academy
great photography doesn't have to come only from DSLRs
New Year - 2010
New Year - 2009
About
Contact me
RSS