<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ehsanul Hoque — Articles</title><description>Working notes from a Kotlin engineer in Dhaka. Android, Kotlin Multiplatform, real-time systems, in-app billing, and the unglamorous infra that ships products.</description><link>https://ehsanfahad.dev/</link><language>en</language><item><title>Why LLMs Couldn&apos;t Count the R&apos;s in &quot;Strawberry&quot; — and How Spelling It Out Fixed It</title><link>https://ehsanfahad.dev/articles/why-llms-could-not-count-letters/</link><guid isPermaLink="true">https://ehsanfahad.dev/articles/why-llms-could-not-count-letters/</guid><description>An AI that writes essays and debugs code couldn&apos;t count the r&apos;s in &quot;strawberry.&quot; The reason reveals how LLMs really see text — and the fix is simply spelling it out.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>llm</category><category>tokenization</category><category>ai</category><category>machine learning</category><category>prompt engineering</category><category>chain-of-thought</category><category>nlp</category><category>chatgpt</category><category>strawberry problem</category><category>ai limitations</category></item><item><title>The Java Chronicles: From Oak to Android: One Language, Many Flavors — Java SE, EE, ME, and the Rest of the Family</title><link>https://ehsanfahad.dev/series/the-java-chronicles/java-editions-se-ee-me-javafx-explained/</link><guid isPermaLink="true">https://ehsanfahad.dev/series/the-java-chronicles/java-editions-se-ee-me-javafx-explained/</guid><description>Java isn&apos;t one thing — it&apos;s a family of platforms built for different worlds. Here&apos;s how to tell them apart and why they exist.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate><category>java</category><category>jakarta-ee</category><category>jvm</category></item><item><title>The Java Chronicles: From Oak to Android: The Island, the Oak Tree, and the Internet — The Birth of Java</title><link>https://ehsanfahad.dev/series/the-java-chronicles/java-history-write-once-run-anywhere/</link><guid isPermaLink="true">https://ehsanfahad.dev/series/the-java-chronicles/java-history-write-once-run-anywhere/</guid><description>How a team at Sun Microsystems set out to build software for cable TV boxes — and accidentally created one of the most influential programming languages in history.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate><category>java</category><category>history</category><category>jvm</category></item><item><title>Notes on WebRTC echo cancellation, after twelve device families</title><link>https://ehsanfahad.dev/articles/webrtc-aec-matrix/</link><guid isPermaLink="true">https://ehsanfahad.dev/articles/webrtc-aec-matrix/</guid><description>AEC defaults look fine in the office and embarrassing on a Pixel 4a in a café. Here&apos;s what actually worked across the matrix.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><category>android</category><category>webrtc</category></item></channel></rss>