Things I’ve written
Notes from shipping Android, iOS and web apps, plus the occasional security rabbit hole. Mostly the bits I wish someone had written down before me.
Latest post
WebFontKit: Google Fonts Any Google Font by name in SwiftUI - on iOS and macOS, nothing bundled. Recent posts
Coroutines, Reflection & R8R8 now compiles away the reflection tax hiding inside every coroutine launch.
Less Env, More ConfigEnv vars are easy - which is exactly how every product knob quietly becomes one.
Introducing - LedeAn in‑browser studio for blog covers, featured images, and OG cards.
FontsPack: 4.2MB → 749KBMonths of font compression experiments and the wall my greed ran into.
Appwrite: Rust RuntimeFunctions now supports Rust as a first‑class runtime.
(opens in a new tab)
VitePot: Honeypot for ViteStatic‑first Vite and VitePress honeypot plugin for fake sensitive files.
Older posts
53 more · page 4 of 5
/
All Android, 17 postsiOS, 7 postsWeb, 27 postsAppwrite, 18 postsSecurity, 10 postsDevOps, 8 postsOpen source, 10 postsMisc, 11 posts
- Security Review (upGrad)Bypassed upGrad’s in‑app payment on a ₹94.5K course - the backend marked it paid. Reported, fix confirmed.
- Security Review (SIH – AICTE)Won the hackathon, then reported an SQL injection flaw in the certificate server.
- Security Review (Programming Hub)Exploited a Programming Hub flaw for 45 years of Pro - reported for a fix.
- First iOS AppPorted my Android app to iOS in just a week - same UI, new platform.
- Security Review (ExpertRight)Reported an SQL injection vulnerability on ExpertRight; it was still unfixed when I wrote this.
- Runtime Permission Fail (Vungle SDK)Fix Android 6+ permission issue caused by Vungle SDK.
- AssertionError: No NameTypeIndex match for SHORT_STANDARDFixing a date implementation issue on Android.
- VerifyError (TabLayout & AdMob SDK)Encountered crashes after dependency updates - fixed via ProGuard rules.
- PreferenceFragmentCompatFix Kotlin migration crash: Mark Bundle and rootKey as nullable.
- What is PUP.HighConfidence? (Solution)Encountered PUP.HighConfidence on VirusTotal? Here’s what I discovered.
- Why you should Notify a user to Update App?Notify users of updates - don’t force them unless necessary.
- Bluehost India (Review)Why I switched from Bluehost India to GoDaddy after a poor experience.