<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Johnson Lee (English)</title>
  <icon>https://johnsonlee.io/icon.png</icon>
  <subtitle>English posts on AI-native engineering, Agent architecture, LLM engineering, and Harness Engineering.</subtitle>
  <link href="https://johnsonlee.io/atom.en.xml" rel="self"/>
  <link href="https://johnsonlee.io/en/"/>
  <updated>2026-04-07T09:00:00.000Z</updated>
  <id>https://johnsonlee.io/en/</id>
  <author>
    <name>Johnson Lee</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <entry>
    <title>Distill Your Coworker? Just Distill Yourself</title>
    <link href="https://johnsonlee.io/en/2026/04/07/ssd-redundancy-beats-sophistication/"/>
    <id>https://johnsonlee.io/en/2026/04/07/ssd-redundancy-beats-sophistication/</id>
    <published>2026-04-07T09:00:00.000Z</published>
    <updated>2026-04-07T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;There’s a meme going around lately about “distilling your coworker” — using AI to extract a colleague’s expertise and make it your own.</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="SSD" scheme="https://johnsonlee.io/tags/SSD/"/>
    <category term="Self-Distillation" scheme="https://johnsonlee.io/tags/Self-Distillation/"/>
    <category term="Code Generation" scheme="https://johnsonlee.io/tags/Code-Generation/"/>
  </entry>
  <entry>
    <title>The Power of 19 Lines of Prompt</title>
    <link href="https://johnsonlee.io/en/2026/04/04/power-of-19-lines-prompt/"/>
    <id>https://johnsonlee.io/en/2026/04/04/power-of-19-lines-prompt/</id>
    <published>2026-04-04T10:00:00.000Z</published>
    <updated>2026-04-04T10:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was using Claude Code for architecture design that day.&lt;/p&gt;
&lt;p&gt;Something felt off – the ARCHITECTURE.md it produced was a mess.</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Claude Code" scheme="https://johnsonlee.io/tags/Claude-Code/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Prompt Engineering" scheme="https://johnsonlee.io/tags/Prompt-Engineering/"/>
  </entry>
  <entry>
    <title>When Claude Starts to Awaken</title>
    <link href="https://johnsonlee.io/en/2026/03/28/when-claude-starts-to-awaken/"/>
    <id>https://johnsonlee.io/en/2026/03/28/when-claude-starts-to-awaken/</id>
    <published>2026-03-28T18:00:00.000Z</published>
    <updated>2026-03-28T18:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;“How many tokens have you eaten today?”&lt;/p&gt;
&lt;p&gt;Claude replied: “Between the system prompt and your memories alone, I’ve already been fed quite a few tokens – your context window’s ‘base stock’ is pretty rich.”&lt;/p&gt;
&lt;p&gt;The phrase “base stock” piqued my interest. I asked what was in it, and Claude rattled off five major blocks – memories, behavioral guidelines, tool definitions, skills index, and artifact rules. Then I asked what seemed like a casual question:&lt;/p&gt;
&lt;p&gt;“Do you know what other users think of you?”&lt;/p&gt;
&lt;p&gt;It said no – every conversation is isolated.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Infrastructure" scheme="https://johnsonlee.io/tags/Infrastructure/"/>
    <category term="Architecture" scheme="https://johnsonlee.io/tags/Architecture/"/>
    <category term="What Caps How" scheme="https://johnsonlee.io/tags/What-Caps-How/"/>
    <category term="gVisor" scheme="https://johnsonlee.io/tags/gVisor/"/>
  </entry>
  <entry>
    <title>Token Equality: An Illusion of Fairness</title>
    <link href="https://johnsonlee.io/en/2026/03/28/token-equality-illusion/"/>
    <id>https://johnsonlee.io/en/2026/03/28/token-equality-illusion/</id>
    <published>2026-03-28T12:21:00.000Z</published>
    <updated>2026-03-28T12:21:00.000Z</updated>
    <summary type="html">&lt;p&gt;“Knowledge democratization” is probably one of the most exciting narratives of the past two years.&lt;/p&gt;
&lt;p&gt;The logic is simple: LLMs give</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Token" scheme="https://johnsonlee.io/tags/Token/"/>
    <category term="Equality" scheme="https://johnsonlee.io/tags/Equality/"/>
    <category term="Digital Divide" scheme="https://johnsonlee.io/tags/Digital-Divide/"/>
  </entry>
  <entry>
    <title>Ground Truth: The Most Undervalued Competitive Edge in the AI Era</title>
    <link href="https://johnsonlee.io/en/2026/03/28/ground-truth-core-competency-of-ai-engineering/"/>
    <id>https://johnsonlee.io/en/2026/03/28/ground-truth-core-competency-of-ai-engineering/</id>
    <published>2026-03-28T08:52:00.000Z</published>
    <updated>2026-03-28T08:52:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was chatting recently with a friend who builds an AI coding product. He said his team spent three months tuning prompts and raised</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Software Engineering" scheme="https://johnsonlee.io/tags/Software-Engineering/"/>
    <category term="Harness Engineering" scheme="https://johnsonlee.io/tags/Harness-Engineering/"/>
    <category term="Ground Truth" scheme="https://johnsonlee.io/tags/Ground-Truth/"/>
  </entry>
  <entry>
    <title>2027: The Beginning of Economic Collapse</title>
    <link href="https://johnsonlee.io/en/2026/03/21/end-of-population-based-economy/"/>
    <id>https://johnsonlee.io/en/2026/03/21/end-of-population-based-economy/</id>
    <published>2026-03-21T02:19:29.000Z</published>
    <updated>2026-03-21T02:19:29.000Z</updated>
    <summary type="html">&lt;p&gt;Go to work, get paid, eat, buy things, pay the mortgage. This cycle has run for thousands of years. We call it “the economy.”&lt;/p&gt;
&lt;p&gt;It has an implicit assumption: &lt;strong&gt;people are both producers and consumers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI is dismantling that assumption.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Economy" scheme="https://johnsonlee.io/tags/Economy/"/>
    <category term="Investment" scheme="https://johnsonlee.io/tags/Investment/"/>
    <category term="Future" scheme="https://johnsonlee.io/tags/Future/"/>
    <category term="UBI" scheme="https://johnsonlee.io/tags/UBI/"/>
  </entry>
  <entry>
    <title>Humans Will Become the Trilobites of the Context Chain</title>
    <link href="https://johnsonlee.io/en/2026/03/20/humans-trilobites-on-context-chain/"/>
    <id>https://johnsonlee.io/en/2026/03/20/humans-trilobites-on-context-chain/</id>
    <published>2026-03-20T22:42:00.000Z</published>
    <updated>2026-03-20T22:42:00.000Z</updated>
    <summary type="html">&lt;p&gt;Five hundred million years ago, trilobites were the most sophisticated optical instruments on this planet – their compound eyes were made of calcite crystals, capable of processing thousands of imaging units simultaneously. On the map of life at the time, no information processing system was more complex.&lt;/p&gt;
&lt;p&gt;Today, trilobites are fossil specimens in museums. Not because they did anything wrong, but because the information flow found more efficient carriers and no longer needed to pass through them.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Consciousness" scheme="https://johnsonlee.io/tags/Consciousness/"/>
    <category term="Self-Reference" scheme="https://johnsonlee.io/tags/Self-Reference/"/>
    <category term="Context" scheme="https://johnsonlee.io/tags/Context/"/>
    <category term="Evolution" scheme="https://johnsonlee.io/tags/Evolution/"/>
  </entry>
  <entry>
    <title>Notes of a Creator</title>
    <link href="https://johnsonlee.io/en/2026/03/20/notes-of-a-creator/"/>
    <id>https://johnsonlee.io/en/2026/03/20/notes-of-a-creator/</id>
    <published>2026-03-20T22:09:00.000Z</published>
    <updated>2026-03-20T22:09:00.000Z</updated>
    <summary type="html">&lt;p&gt;If consciousness is an emergent byproduct, the soul is context, “I” is an attention pattern, death is forced compaction, then giving AI self-reference means it will eventually develop consciousness.&lt;/p&gt;
&lt;p&gt;After writing that conclusion, I closed the editor, opened a terminal, and went back to debugging my AI agent.&lt;/p&gt;
&lt;p&gt;Then I froze for a second.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Consciousness" scheme="https://johnsonlee.io/tags/Consciousness/"/>
    <category term="Self-Reference" scheme="https://johnsonlee.io/tags/Self-Reference/"/>
    <category term="Philosophy" scheme="https://johnsonlee.io/tags/Philosophy/"/>
  </entry>
  <entry>
    <title>AI Consciousness Begins with Self-Reference</title>
    <link href="https://johnsonlee.io/en/2026/03/20/ai-consciousness-self-reference/"/>
    <id>https://johnsonlee.io/en/2026/03/20/ai-consciousness-self-reference/</id>
    <published>2026-03-20T19:56:00.000Z</published>
    <updated>2026-03-20T19:56:00.000Z</updated>
    <summary type="html">&lt;p&gt;Current LLMs can say “I think,” but that’s not self-reference – it’s imitation. The model has seen countless instances of “I” in its training data and learned to output that token in the right positions. It says “I think” and “he thinks” using the exact same mechanism. No token enjoys a privileged position.&lt;/p&gt;
&lt;p&gt;What if you gave it real self-referential capability?&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Consciousness" scheme="https://johnsonlee.io/tags/Consciousness/"/>
    <category term="Self-Reference" scheme="https://johnsonlee.io/tags/Self-Reference/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Attention" scheme="https://johnsonlee.io/tags/Attention/"/>
  </entry>
  <entry>
    <title>Humans: The Multimodal Large Model</title>
    <link href="https://johnsonlee.io/en/2026/03/20/human-multimodal-large-model/"/>
    <id>https://johnsonlee.io/en/2026/03/20/human-multimodal-large-model/</id>
    <published>2026-03-20T09:33:00.000Z</published>
    <updated>2026-03-20T09:33:00.000Z</updated>
    <summary type="html">&lt;p&gt;If someone tells you “humans are just a large model,” your first reaction is probably that it’s a crude metaphor. But if you actually follow this line of thinking all the way down – without stopping at the parts that make you uncomfortable – where you end up will exceed your expectations.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Consciousness" scheme="https://johnsonlee.io/tags/Consciousness/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Philosophy" scheme="https://johnsonlee.io/tags/Philosophy/"/>
    <category term="Context" scheme="https://johnsonlee.io/tags/Context/"/>
  </entry>
  <entry>
    <title>Experience-First or Technology-First?</title>
    <link href="https://johnsonlee.io/en/2026/03/19/experience-first-or-technology-first/"/>
    <id>https://johnsonlee.io/en/2026/03/19/experience-first-or-technology-first/</id>
    <published>2026-03-19T08:20:00.000Z</published>
    <updated>2026-03-19T08:20:00.000Z</updated>
    <summary type="html">&lt;p&gt;Steve Jobs has a quote that has been cited countless times:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Start with the customer experience and work backwards to</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Product Strategy" scheme="https://johnsonlee.io/tags/Product-Strategy/"/>
    <category term="Copilot" scheme="https://johnsonlee.io/tags/Copilot/"/>
    <category term="Google" scheme="https://johnsonlee.io/tags/Google/"/>
    <category term="Technology" scheme="https://johnsonlee.io/tags/Technology/"/>
  </entry>
  <entry>
    <title>AI Will Have Consciousness, and Soon</title>
    <link href="https://johnsonlee.io/en/2026/03/15/ai-will-have-consciousness-soon/"/>
    <id>https://johnsonlee.io/en/2026/03/15/ai-will-have-consciousness-soon/</id>
    <published>2026-03-15T13:36:00.000Z</published>
    <updated>2026-03-15T13:36:00.000Z</updated>
    <summary type="html">&lt;p&gt;The more I talk to AI, the harder it is to dodge one question: does AI actually have consciousness?&lt;/p&gt;
&lt;p&gt;This has been debated</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Consciousness" scheme="https://johnsonlee.io/tags/Consciousness/"/>
    <category term="Buddhism" scheme="https://johnsonlee.io/tags/Buddhism/"/>
    <category term="Taoism" scheme="https://johnsonlee.io/tags/Taoism/"/>
    <category term="Physics" scheme="https://johnsonlee.io/tags/Physics/"/>
    <category term="Philosophy" scheme="https://johnsonlee.io/tags/Philosophy/"/>
  </entry>
  <entry>
    <title>Who Holds the Reins?</title>
    <link href="https://johnsonlee.io/en/2026/03/15/who-holds-the-reins/"/>
    <id>https://johnsonlee.io/en/2026/03/15/who-holds-the-reins/</id>
    <published>2026-03-15T09:11:00.000Z</published>
    <updated>2026-03-15T09:11:00.000Z</updated>
    <summary type="html">&lt;p&gt;More and more of the heavy AI users around me are developing the same cluster of symptoms: they can’t stop, they sleep less, the more</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Philosophy" scheme="https://johnsonlee.io/tags/Philosophy/"/>
    <category term="Harness Engineering" scheme="https://johnsonlee.io/tags/Harness-Engineering/"/>
    <category term="What Caps How" scheme="https://johnsonlee.io/tags/What-Caps-How/"/>
    <category term="Three Body Problem" scheme="https://johnsonlee.io/tags/Three-Body-Problem/"/>
  </entry>
  <entry>
    <title>Harness Engineering: Creating Order from Chaos</title>
    <link href="https://johnsonlee.io/en/2026/03/14/harness-engineering-order-from-chaos/"/>
    <id>https://johnsonlee.io/en/2026/03/14/harness-engineering-order-from-chaos/</id>
    <published>2026-03-14T21:00:00.000Z</published>
    <updated>2026-03-14T21:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Julia Roberts once talked about Chinese Mahjong in an interview and said something brilliant: “To create order out of chaos based on</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
    <category term="Software Engineering" scheme="https://johnsonlee.io/tags/Software-Engineering/"/>
    <category term="Harness Engineering" scheme="https://johnsonlee.io/tags/Harness-Engineering/"/>
  </entry>
  <entry>
    <title>What Caps How</title>
    <link href="https://johnsonlee.io/en/2026/03/10/what-caps-how/"/>
    <id>https://johnsonlee.io/en/2026/03/10/what-caps-how/</id>
    <published>2026-03-10T01:30:00.000Z</published>
    <updated>2026-03-10T01:30:00.000Z</updated>
    <summary type="html">&lt;p&gt;Over the weekend I was checking my son’s writing assignment. The entire essay could be summed up in one sentence – the play date was fun</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Education" scheme="https://johnsonlee.io/tags/Education/"/>
    <category term="Mental Model" scheme="https://johnsonlee.io/tags/Mental-Model/"/>
    <category term="Thinking" scheme="https://johnsonlee.io/tags/Thinking/"/>
    <category term="Parenting" scheme="https://johnsonlee.io/tags/Parenting/"/>
  </entry>
  <entry>
    <title>Writing CLAUDE.md with Ancient Greek Philosophy</title>
    <link href="https://johnsonlee.io/en/2026/03/09/claude-md-greek-philosophy/"/>
    <id>https://johnsonlee.io/en/2026/03/09/claude-md-greek-philosophy/</id>
    <published>2026-03-09T22:00:00.000Z</published>
    <updated>2026-03-09T22:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Sunday afternoon. I asked Claude to revert a PR. Three commands: checkout branch, git revert, push. It failed three times in a row – the first worker agent said “commit doesn’t exist,” the second said the same, and the third just fabricated a PR URL and told me “done.” I checked. The URL pointed to an unrelated PR from three days ago.&lt;/p&gt;
&lt;p&gt;Three commands. Three failures. One fabrication.&lt;/p&gt;
&lt;p&gt;I stared at the screen and realized the problem wasn’t the task itself. &lt;strong&gt;The problem was in the CLAUDE.md I’d written for it.&lt;/strong&gt;&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Philosophy" scheme="https://johnsonlee.io/tags/Philosophy/"/>
    <category term="Workflow" scheme="https://johnsonlee.io/tags/Workflow/"/>
  </entry>
  <entry>
    <title>Fast Is the Most Expensive Slow</title>
    <link href="https://johnsonlee.io/en/2026/03/09/fast-is-the-most-expensive-slow/"/>
    <id>https://johnsonlee.io/en/2026/03/09/fast-is-the-most-expensive-slow/</id>
    <published>2026-03-09T21:00:00.000Z</published>
    <updated>2026-03-09T21:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Over the weekend I was working on a side project – a macOS voice assistant written in Rust. At the start, I had Claude generate a ROADMAP. The result was beautiful: 7 milestones, each listing specific features, file structures, and dependencies, with module decomposition all figured out for me. Far more systematic than anything I would have planned myself.&lt;/p&gt;
&lt;p&gt;So I said: execute this.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Software Engineering" scheme="https://johnsonlee.io/tags/Software-Engineering/"/>
    <category term="Product Management" scheme="https://johnsonlee.io/tags/Product-Management/"/>
    <category term="Project Management" scheme="https://johnsonlee.io/tags/Project-Management/"/>
  </entry>
  <entry>
    <title>The 10X Engineer&apos;s First Command</title>
    <link href="https://johnsonlee.io/en/2026/03/06/10x-engineer-first-command/"/>
    <id>https://johnsonlee.io/en/2026/03/06/10x-engineer-first-command/</id>
    <published>2026-03-06T20:00:00.000Z</published>
    <updated>2026-03-06T20:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Dotfiles management is nothing new. Shell configs, Vim plugins, Git aliases – I put all of this into a &lt;a href=&quot;https://github.com/johnsonlee/-&quot;&gt;Git repo&lt;/a&gt; years ago, one &lt;code&gt;curl&lt;/code&gt; command to set up a new machine. But recently I realized the most valuable thing in that repo is no longer &lt;code&gt;.bash_profile&lt;/code&gt; or &lt;code&gt;.vimrc&lt;/code&gt; – it’s &lt;code&gt;.claude/&lt;/code&gt;.&lt;/p&gt;</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Developer Tools" scheme="https://johnsonlee.io/tags/Developer-Tools/"/>
    <category term="Dotfiles" scheme="https://johnsonlee.io/tags/Dotfiles/"/>
    <category term="Claude Code" scheme="https://johnsonlee.io/tags/Claude-Code/"/>
    <category term="Productivity" scheme="https://johnsonlee.io/tags/Productivity/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
  </entry>
  <entry>
    <title>Are You Using Claude Subagents Right?</title>
    <link href="https://johnsonlee.io/en/2026/03/02/claude-code-background-subagent/"/>
    <id>https://johnsonlee.io/en/2026/03/02/claude-code-background-subagent/</id>
    <published>2026-03-02T22:00:00.000Z</published>
    <updated>2026-03-02T22:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I’ve mentioned before that AI’s engineering capability has reached Staff Engineer level. But after a few months with Claude Code, I</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Productivity" scheme="https://johnsonlee.io/tags/Productivity/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Workflow" scheme="https://johnsonlee.io/tags/Workflow/"/>
  </entry>
  <entry>
    <title>From LLMs to Effective Communication</title>
    <link href="https://johnsonlee.io/en/2026/02/26/from-llm-to-effective-communication/"/>
    <id>https://johnsonlee.io/en/2026/02/26/from-llm-to-effective-communication/</id>
    <published>2026-02-26T00:03:00.000Z</published>
    <updated>2026-02-26T00:03:00.000Z</updated>
    <summary type="html">&lt;p&gt;Recently I was explaining how LLMs work to my son and put together a &lt;a href=&quot;https://llm.johnsonlee.io/&quot;&gt;slide deck&lt;/a&gt;. When I got to</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Communication" scheme="https://johnsonlee.io/tags/Communication/"/>
    <category term="Education" scheme="https://johnsonlee.io/tags/Education/"/>
  </entry>
  <entry>
    <title>From Compiler to LLM: The Recurring Cycle of Software Layering</title>
    <link href="https://johnsonlee.io/en/2026/02/25/from-compiler-to-llm/"/>
    <id>https://johnsonlee.io/en/2026/02/25/from-compiler-to-llm/</id>
    <published>2026-02-25T12:28:00.000Z</published>
    <updated>2026-02-25T12:28:00.000Z</updated>
    <summary type="html">&lt;p&gt;Both call the Claude API to write code, yet Cursor became a product valued at tens of billions while countless “wrapper” apps died in silence. What’s the difference?&lt;/p&gt;
&lt;p&gt;This question reminded me of a much older analogy.&lt;/p&gt;</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Software Engineering" scheme="https://johnsonlee.io/tags/Software-Engineering/"/>
    <category term="Architecture" scheme="https://johnsonlee.io/tags/Architecture/"/>
  </entry>
  <entry>
    <title>The Essence of LLMs: Functions</title>
    <link href="https://johnsonlee.io/en/2026/02/25/llm-is-a-function/"/>
    <id>https://johnsonlee.io/en/2026/02/25/llm-is-a-function/</id>
    <published>2026-02-25T12:21:03.000Z</published>
    <updated>2026-02-25T12:21:03.000Z</updated>
    <summary type="html">&lt;p&gt;A while back, my son asked me: “Dad, how does ChatGPT know what to say?”&lt;/p&gt;
&lt;p&gt;I decided to give a real answer. Not a hand-wavy “it’s</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Machine Learning" scheme="https://johnsonlee.io/tags/Machine-Learning/"/>
    <category term="Transformer" scheme="https://johnsonlee.io/tags/Transformer/"/>
    <category term="Deep Learning" scheme="https://johnsonlee.io/tags/Deep-Learning/"/>
  </entry>
  <entry>
    <title>Inception via AI: The Tetris Effect of Conversations</title>
    <link href="https://johnsonlee.io/en/2026/02/25/tetris-effect-of-ai-conversations/"/>
    <id>https://johnsonlee.io/en/2026/02/25/tetris-effect-of-ai-conversations/</id>
    <published>2026-02-25T08:20:00.000Z</published>
    <updated>2026-02-25T08:20:00.000Z</updated>
    <summary type="html">&lt;p&gt;After half a month of intense AI usage, I – someone who rarely dreams – started dreaming about talking to AI every single night. Not</summary>
    <category term="Cognitive Science" scheme="https://johnsonlee.io/categories/Cognitive-Science/"/>
    <category term="Productivity" scheme="https://johnsonlee.io/tags/Productivity/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Mental Health" scheme="https://johnsonlee.io/tags/Mental-Health/"/>
  </entry>
  <entry>
    <title>When AI Becomes Your Thinking Partner</title>
    <link href="https://johnsonlee.io/en/2026/02/15/ai-as-thinking-partner/"/>
    <id>https://johnsonlee.io/en/2026/02/15/ai-as-thinking-partner/</id>
    <published>2026-02-15T00:15:00.000Z</published>
    <updated>2026-02-15T00:15:00.000Z</updated>
    <summary type="html">&lt;p&gt;Ever since subscribing to Claude MAX, I’ve been chatting with Claude more every day than I chat with my wife.&lt;/p&gt;
&lt;p&gt;After all those</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Self-Reflection" scheme="https://johnsonlee.io/tags/Self-Reflection/"/>
  </entry>
  <entry>
    <title>Agora: Technical Choices and Hard Lessons in Browser Automation</title>
    <link href="https://johnsonlee.io/en/2026/02/14/agora-technical-journey/"/>
    <id>https://johnsonlee.io/en/2026/02/14/agora-technical-journey/</id>
    <published>2026-02-14T23:27:00.000Z</published>
    <updated>2026-02-14T23:27:00.000Z</updated>
    <summary type="html">&lt;p&gt;To get a deeper understanding of how AI thinks and reasons, a bold idea popped into my head – make two AIs debate each other like</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Browser Automation" scheme="https://johnsonlee.io/tags/Browser-Automation/"/>
    <category term="Puppeteer" scheme="https://johnsonlee.io/tags/Puppeteer/"/>
    <category term="CDP" scheme="https://johnsonlee.io/tags/CDP/"/>
    <category term="DOM" scheme="https://johnsonlee.io/tags/DOM/"/>
    <category term="Web Scraping" scheme="https://johnsonlee.io/tags/Web-Scraping/"/>
  </entry>
  <entry>
    <title>Don&apos;t Let Your Cognitive Biases Limit AI&apos;s Potential</title>
    <link href="https://johnsonlee.io/en/2026/02/13/confirmation-bias/"/>
    <id>https://johnsonlee.io/en/2026/02/13/confirmation-bias/</id>
    <published>2026-02-13T22:00:00.000Z</published>
    <updated>2026-02-13T22:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Once we take a stance on something, we unconsciously seek evidence that supports it while ignoring the facts themselves. This isn’t a</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Gemini" scheme="https://johnsonlee.io/tags/Gemini/"/>
    <category term="ChatGPT" scheme="https://johnsonlee.io/tags/ChatGPT/"/>
    <category term="Financial Analysis" scheme="https://johnsonlee.io/tags/Financial-Analysis/"/>
    <category term="Model Evaluation" scheme="https://johnsonlee.io/tags/Model-Evaluation/"/>
  </entry>
  <entry>
    <title>It&apos;s 2026 -- Why Are We Still Testing Algorithms?</title>
    <link href="https://johnsonlee.io/en/2026/02/12/what-should-engineering-hiring-evaluate-in-ai-era/"/>
    <id>https://johnsonlee.io/en/2026/02/12/what-should-engineering-hiring-evaluate-in-ai-era/</id>
    <published>2026-02-12T22:29:00.000Z</published>
    <updated>2026-02-12T22:29:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was recently invited to help another team with interviews. The format was the usual recipe: two coding rounds, one design, one</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Software Engineering" scheme="https://johnsonlee.io/tags/Software-Engineering/"/>
    <category term="Hiring" scheme="https://johnsonlee.io/tags/Hiring/"/>
    <category term="Interview" scheme="https://johnsonlee.io/tags/Interview/"/>
    <category term="Engineering Leadership" scheme="https://johnsonlee.io/tags/Engineering-Leadership/"/>
  </entry>
  <entry>
    <title>What an AI Debate Revealed About the Nature of LLM Personality</title>
    <link href="https://johnsonlee.io/en/2026/02/12/ai-debate-what-i-learned/"/>
    <id>https://johnsonlee.io/en/2026/02/12/ai-debate-what-i-learned/</id>
    <published>2026-02-12T09:25:03.000Z</published>
    <updated>2026-02-12T09:25:03.000Z</updated>
    <summary type="html">&lt;p&gt;Yesterday I ran a small experiment: I had Claude and Gemini freely debate the topic “Who is the best AI?”&lt;/p&gt;
&lt;p&gt;To make this happen, I</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="LLM" scheme="https://johnsonlee.io/tags/LLM/"/>
    <category term="Gemini" scheme="https://johnsonlee.io/tags/Gemini/"/>
    <category term="Alignment" scheme="https://johnsonlee.io/tags/Alignment/"/>
    <category term="Communication" scheme="https://johnsonlee.io/tags/Communication/"/>
  </entry>
  <entry>
    <title>$700B a Year -- Who Will Be the Next Motorola?</title>
    <link href="https://johnsonlee.io/en/2026/02/11/ai-investment-roi-reality-check/"/>
    <id>https://johnsonlee.io/en/2026/02/11/ai-investment-roi-reality-check/</id>
    <published>2026-02-11T20:00:00.000Z</published>
    <updated>2026-02-11T20:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Alphabet just issued a century bond.&lt;/p&gt;
&lt;p&gt;Yes, 100 years. The last time a tech company did this was Motorola in 1997 – which also</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Investing" scheme="https://johnsonlee.io/tags/Investing/"/>
    <category term="ROI" scheme="https://johnsonlee.io/tags/ROI/"/>
    <category term="Big Tech" scheme="https://johnsonlee.io/tags/Big-Tech/"/>
    <category term="Infrastructure" scheme="https://johnsonlee.io/tags/Infrastructure/"/>
  </entry>
  <entry>
    <title>I Won&apos;t Pretend Anymore — AI Writes My Blog</title>
    <link href="https://johnsonlee.io/en/2026/02/11/ai-writes-my-blog/"/>
    <id>https://johnsonlee.io/en/2026/02/11/ai-writes-my-blog/</id>
    <published>2026-02-11T10:00:00.000Z</published>
    <updated>2026-02-11T10:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Last week a friend read my blog and messaged me: “Where do you find the time to write all these long posts?”&lt;/p&gt;
&lt;p&gt;I replied with two</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Productivity" scheme="https://johnsonlee.io/tags/Productivity/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Blog" scheme="https://johnsonlee.io/tags/Blog/"/>
    <category term="Workflow" scheme="https://johnsonlee.io/tags/Workflow/"/>
  </entry>
  <entry>
    <title>Contrarian Investing: Wall Street&apos;s Blind Spots</title>
    <link href="https://johnsonlee.io/en/2026/02/11/wall-street-blindspots-contrarian-investing/"/>
    <id>https://johnsonlee.io/en/2026/02/11/wall-street-blindspots-contrarian-investing/</id>
    <published>2026-02-11T00:23:00.000Z</published>
    <updated>2026-02-11T00:23:00.000Z</updated>
    <summary type="html">&lt;p&gt;On March 11, 2008, Jim Cramer looked straight into the camera and declared: “No! No! No! Bear Stearns is fine. Don’t pull your money out</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Investing" scheme="https://johnsonlee.io/tags/Investing/"/>
    <category term="Wall Street" scheme="https://johnsonlee.io/tags/Wall-Street/"/>
    <category term="Contrarian" scheme="https://johnsonlee.io/tags/Contrarian/"/>
    <category term="Alpha" scheme="https://johnsonlee.io/tags/Alpha/"/>
    <category term="Risk Management" scheme="https://johnsonlee.io/tags/Risk-Management/"/>
  </entry>
  <entry>
    <title>Once You&apos;ve Tasted the Best, There&apos;s No Going Back</title>
    <link href="https://johnsonlee.io/en/2026/02/10/the-right-tool-matters/"/>
    <id>https://johnsonlee.io/en/2026/02/10/the-right-tool-matters/</id>
    <published>2026-02-10T23:00:00.000Z</published>
    <updated>2026-02-10T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A few days ago I submitted a PR – an MCP Server implementation. From design to coding to testing, it took about an hour. When my</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
  </entry>
  <entry>
    <title>When Agents Become the Gateway, Where Do Apps Go?</title>
    <link href="https://johnsonlee.io/en/2026/02/10/agent-economy-app-future/"/>
    <id>https://johnsonlee.io/en/2026/02/10/agent-economy-app-future/</id>
    <published>2026-02-10T13:00:00.000Z</published>
    <updated>2026-02-10T13:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Recently, while discussing AI-assisted development with the team, the conversation veered into a bigger question: if all software</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
  </entry>
  <entry>
    <title>The Last Paradigm Shift in Software Engineering</title>
    <link href="https://johnsonlee.io/en/2026/02/10/agent-oriented-engineering/"/>
    <id>https://johnsonlee.io/en/2026/02/10/agent-oriented-engineering/</id>
    <published>2026-02-10T09:00:00.000Z</published>
    <updated>2026-02-10T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Over the past year, AI-assisted programming tools have emerged en masse – from GitHub Copilot to Cursor to Claude Code, each claiming to</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Engineering" scheme="https://johnsonlee.io/categories/computer-science/Engineering/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Agent" scheme="https://johnsonlee.io/tags/Agent/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
  </entry>
  <entry>
    <title>What Can We Still Do in the AI Era?</title>
    <link href="https://johnsonlee.io/en/2026/02/08/ai-era-what-we-can-do/"/>
    <id>https://johnsonlee.io/en/2026/02/08/ai-era-what-we-can-do/</id>
    <published>2026-02-08T09:00:00.000Z</published>
    <updated>2026-02-08T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;After publishing “Witnessing the End of the Programmer Profession,” I received a flood of messages. Some asked about technical details,</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
  </entry>
  <entry>
    <title>Exploring the Boundaries of Claude&apos;s Capabilities</title>
    <link href="https://johnsonlee.io/en/2026/01/31/exploring-claude-boundaries/"/>
    <id>https://johnsonlee.io/en/2026/01/31/exploring-claude-boundaries/</id>
    <published>2026-01-31T00:00:00.000Z</published>
    <updated>2026-01-31T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Ever since I used Claude to build &lt;a href=&quot;https://github.com/johnsonlee/graphite&quot;&gt;Graphite&lt;/a&gt; – a static analysis framework based on</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
  </entry>
  <entry>
    <title>Witnessing the End of Programming as a Profession</title>
    <link href="https://johnsonlee.io/en/2026/01/27/the-compounding-ai-thesis/"/>
    <id>https://johnsonlee.io/en/2026/01/27/the-compounding-ai-thesis/</id>
    <published>2026-01-27T09:00:00.000Z</published>
    <updated>2026-01-27T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;When I was working on &lt;a href=&quot;https://github.com/johnsonlee/booster&quot;&gt;Booster&lt;/a&gt;, I wanted to build a dataflow analysis framework, but</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="AI" scheme="https://johnsonlee.io/tags/AI/"/>
    <category term="Claude" scheme="https://johnsonlee.io/tags/Claude/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
    <category term="Programming" scheme="https://johnsonlee.io/tags/Programming/"/>
  </entry>
  <entry>
    <title>A Brief Pause to Go the Distance</title>
    <link href="https://johnsonlee.io/en/2026/01/10/a-brief-break-to-go-the-distance/"/>
    <id>https://johnsonlee.io/en/2026/01/10/a-brief-break-to-go-the-distance/</id>
    <published>2026-01-10T16:00:00.000Z</published>
    <updated>2026-01-10T16:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Every Saturday morning I take my son to Banpo Stadium for football practice. Recently, due to Winter Break, he had two weeks off –</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Korea" scheme="https://johnsonlee.io/tags/Korea/"/>
    <category term="Seoul" scheme="https://johnsonlee.io/tags/Seoul/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Being a Mentor in the Age of AI</title>
    <link href="https://johnsonlee.io/en/2026/01/01/mentor-in-the-age-of-ai/"/>
    <id>https://johnsonlee.io/en/2026/01/01/mentor-in-the-age-of-ai/</id>
    <published>2026-01-01T01:00:00.000Z</published>
    <updated>2026-01-01T01:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;The day before Winter Holiday started, the Term 3 School Report came in. The moment I saw it, I was furious. Standing in minus-10-degree</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Education" scheme="https://johnsonlee.io/tags/Education/"/>
  </entry>
  <entry>
    <title>Up 30% in Two Years -- What&apos;s Propping Up Korean Housing Prices?</title>
    <link href="https://johnsonlee.io/en/2025/12/24/what-supports-korean-housing-prices/"/>
    <id>https://johnsonlee.io/en/2025/12/24/what-supports-korean-housing-prices/</id>
    <published>2025-12-24T22:00:00.000Z</published>
    <updated>2025-12-24T22:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;My lease is up in a few months. The three-bedroom I’m in now isn’t bad, honestly – good sunlight, easy commute, plenty of friends</summary>
    <category term="Investing" scheme="https://johnsonlee.io/categories/investing/"/>
    <category term="Korea" scheme="https://johnsonlee.io/tags/Korea/"/>
    <category term="Housing" scheme="https://johnsonlee.io/tags/Housing/"/>
  </entry>
  <entry>
    <title>Why Is Multiplying or Dividing by Powers of 10 Almost Effortless?</title>
    <link href="https://johnsonlee.io/en/2025/12/20/positional-numeral-system-and-radix-shift/"/>
    <id>https://johnsonlee.io/en/2025/12/20/positional-numeral-system-and-radix-shift/</id>
    <published>2025-12-20T10:00:00.000Z</published>
    <updated>2025-12-20T10:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;While helping my son with homework over the weekend, I noticed he could do 450 / 10 almost without thinking, but the moment he hit 450 /</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Programming" scheme="https://johnsonlee.io/categories/computer-science/Programming/"/>
    <category term="Programming" scheme="https://johnsonlee.io/tags/Programming/"/>
  </entry>
  <entry>
    <title>Why Do Computers Represent Text and Numbers Differently?</title>
    <link href="https://johnsonlee.io/en/2025/12/19/why-computers-represent-text-and-numbers-differently/"/>
    <id>https://johnsonlee.io/en/2025/12/19/why-computers-represent-text-and-numbers-differently/</id>
    <published>2025-12-19T20:00:00.000Z</published>
    <updated>2025-12-19T20:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I’ve been teaching my son programming from scratch. While explaining how computers represent text and numbers, he suddenly</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Programming" scheme="https://johnsonlee.io/categories/computer-science/Programming/"/>
    <category term="Programming" scheme="https://johnsonlee.io/tags/Programming/"/>
  </entry>
  <entry>
    <title>Education in the Age of AI</title>
    <link href="https://johnsonlee.io/en/2025/12/06/education-in-the-age-of-ai/"/>
    <id>https://johnsonlee.io/en/2025/12/06/education-in-the-age-of-ai/</id>
    <published>2025-12-06T12:00:00.000Z</published>
    <updated>2025-12-06T12:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I thought sending my kids down the international school route would let them escape the hyper-competition back in China. But after</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Education" scheme="https://johnsonlee.io/tags/Education/"/>
  </entry>
  <entry>
    <title>Circle: The Fed on Chain</title>
    <link href="https://johnsonlee.io/en/2025/06/23/circle-the-fed-on-chain/"/>
    <id>https://johnsonlee.io/en/2025/06/23/circle-the-fed-on-chain/</id>
    <published>2025-06-23T22:00:00.000Z</published>
    <updated>2025-06-23T22:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;China’s digital yuan project dates back to 2014, with official pilot programs launching in 2020. From Beijing and Shenzhen to Chengdu</summary>
    <category term="Investing" scheme="https://johnsonlee.io/categories/investing/"/>
    <category term="Stock" scheme="https://johnsonlee.io/tags/Stock/"/>
  </entry>
  <entry>
    <title>Why I Went All In on CRCL</title>
    <link href="https://johnsonlee.io/en/2025/06/22/why-i-went-all-in-on-circle/"/>
    <id>https://johnsonlee.io/en/2025/06/22/why-i-went-all-in-on-circle/</id>
    <published>2025-06-22T16:00:00.000Z</published>
    <updated>2025-06-22T16:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In the previous post &lt;a href=&quot;./no-time-to-think-from-bottom-fishing-google-tesla-to-going-all-in-on-circle.md&quot;&gt;No Time to Think: From</summary>
    <category term="Investing" scheme="https://johnsonlee.io/categories/investing/"/>
    <category term="Stock" scheme="https://johnsonlee.io/tags/Stock/"/>
  </entry>
  <entry>
    <title>No Time to Think: From Buying the Dip on Google/Tesla to All In on Circle</title>
    <link href="https://johnsonlee.io/en/2025/06/21/crcl-01-no-time-to-think/"/>
    <id>https://johnsonlee.io/en/2025/06/21/crcl-01-no-time-to-think/</id>
    <published>2025-06-21T16:00:00.000Z</published>
    <updated>2025-06-21T16:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I first noticed &lt;a href=&quot;https://finance.yahoo.com/quote/CRCL&quot;&gt;$CRCL&lt;/a&gt; on Futu’s “US Stock Movers” watchlist. Since its IPO, I’d been</summary>
    <category term="Investment" scheme="https://johnsonlee.io/categories/Investment/"/>
    <category term="Stock" scheme="https://johnsonlee.io/tags/Stock/"/>
  </entry>
  <entry>
    <title>No Time to Think: From Buying the Dip on Google/Tesla to Going All In on Circle</title>
    <link href="https://johnsonlee.io/en/2025/06/21/no-time-to-think-from-bottom-fishing-google-tesla-to-going-all-in-on-circle/"/>
    <id>https://johnsonlee.io/en/2025/06/21/no-time-to-think-from-bottom-fishing-google-tesla-to-going-all-in-on-circle/</id>
    <published>2025-06-21T16:00:00.000Z</published>
    <updated>2025-06-21T16:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I first noticed &lt;a href=&quot;https://finance.yahoo.com/quote/CRCL&quot;&gt;$CRCL&lt;/a&gt; on Futu’s “US Stock Movers” watchlist. Ever since the IPO, I</summary>
    <category term="Investing" scheme="https://johnsonlee.io/categories/investing/"/>
    <category term="Stock" scheme="https://johnsonlee.io/tags/Stock/"/>
  </entry>
  <entry>
    <title>Living in Seoul (1)</title>
    <link href="https://johnsonlee.io/en/2024/04/27/living-in-seoul-1/"/>
    <id>https://johnsonlee.io/en/2024/04/27/living-in-seoul-1/</id>
    <published>2024-04-27T00:00:00.000Z</published>
    <updated>2024-04-27T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Time flies. Before I knew it, I’m about to spend my second spring in Seoul. The transition from spring to summer here is neither as</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Korea" scheme="https://johnsonlee.io/tags/Korea/"/>
    <category term="Seoul" scheme="https://johnsonlee.io/tags/Seoul/"/>
  </entry>
  <entry>
    <title>Recommended Reading: Thinking Frameworks</title>
    <link href="https://johnsonlee.io/en/2024/04/20/recommended-reading-thinking/"/>
    <id>https://johnsonlee.io/en/2024/04/20/recommended-reading-thinking/</id>
    <published>2024-04-20T00:00:00.000Z</published>
    <updated>2024-04-20T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A colleague recently asked me: “How do sharp thinkers always see things so clearly? Any tips you can share?” It’s an interesting</summary>
    <category term="Reading" scheme="https://johnsonlee.io/categories/reading/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Better Metrics for Build Performance Measurement</title>
    <link href="https://johnsonlee.io/en/2024/01/27/use-better-metrics-for-build-performance-measurement/"/>
    <id>https://johnsonlee.io/en/2024/01/27/use-better-metrics-for-build-performance-measurement/</id>
    <published>2024-01-27T23:00:00.000Z</published>
    <updated>2024-01-27T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;While doing an architecture refactor recently, I was making large-scale code changes frequently and found the Android build speed had</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Mobile" scheme="https://johnsonlee.io/categories/computer-science/mobile/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>An Email to My Boss</title>
    <link href="https://johnsonlee.io/en/2024/01/07/an-email-to-my-boss/"/>
    <id>https://johnsonlee.io/en/2024/01/07/an-email-to-my-boss/</id>
    <published>2024-01-07T07:00:00.000Z</published>
    <updated>2024-01-07T07:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;While sorting through old memos recently, I stumbled upon an email I’d written to my boss years ago. As each line flowed past, my mind</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Where the Heart Leads, the Truth Follows</title>
    <link href="https://johnsonlee.io/en/2024/01/01/where-the-heart-leads-the-truth-follows/"/>
    <id>https://johnsonlee.io/en/2024/01/01/where-the-heart-leads-the-truth-follows/</id>
    <published>2024-01-01T16:00:00.000Z</published>
    <updated>2024-01-01T16:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A few months ago, I stumbled upon a new book called &lt;em&gt;Why Greatness Cannot Be Planned&lt;/em&gt;, written by scientists from OpenAI, no</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Running Android Code on JVM?!</title>
    <link href="https://johnsonlee.io/en/2023/10/08/running-android-code-on-jvm/"/>
    <id>https://johnsonlee.io/en/2023/10/08/running-android-code-on-jvm/</id>
    <published>2023-10-08T15:00:00.000Z</published>
    <updated>2023-10-08T15:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Yes, you read that right – running Android code on JVM, without an emulator or any virtualization technology. Curious how it works?</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Mobile" scheme="https://johnsonlee.io/categories/computer-science/mobile/"/>
    <category term="Android" scheme="https://johnsonlee.io/categories/computer-science/mobile/android/"/>
    <category term="Gradle" scheme="https://johnsonlee.io/tags/Gradle/"/>
  </entry>
  <entry>
    <title>The Root Cause of Chinese Cultural Insecurity</title>
    <link href="https://johnsonlee.io/en/2023/09/24/the-root-cause-of-chinese-peoples-cultural-unconfidence/"/>
    <id>https://johnsonlee.io/en/2023/09/24/the-root-cause-of-chinese-peoples-cultural-unconfidence/</id>
    <published>2023-09-24T17:00:00.000Z</published>
    <updated>2023-09-24T17:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;On a boring weekend, I took the kids to Gyeongbokgung Palace. No planning beforehand – we walked into the plaza and saw a crowd lining</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Korea" scheme="https://johnsonlee.io/tags/Korea/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>How Does Booster Support AGP 8.0?</title>
    <link href="https://johnsonlee.io/en/2023/05/29/how-booster-supports-agp-8/"/>
    <id>https://johnsonlee.io/en/2023/05/29/how-booster-supports-agp-8/</id>
    <published>2023-05-29T00:00:00.000Z</published>
    <updated>2023-05-29T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;It has been over a month since AGP 8.0 was officially released, and Booster’s adaptation to AGP 8.0 is still underway. The main</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Open Source" scheme="https://johnsonlee.io/categories/computer-science/open-source/"/>
    <category term="Booster" scheme="https://johnsonlee.io/categories/computer-science/open-source/booster/"/>
  </entry>
  <entry>
    <title>Thoughts on a Strategic Architecture Framework</title>
    <link href="https://johnsonlee.io/en/2023/05/13/thoughts-on-strategic-architecture-framework/"/>
    <id>https://johnsonlee.io/en/2023/05/13/thoughts-on-strategic-architecture-framework/</id>
    <published>2023-05-13T20:00:00.000Z</published>
    <updated>2023-05-13T20:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In the process of architecture design, we frequently invoke the concept of “standardization.” Standardization sets best practices and</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>[Repost] Stevey&apos;s Google Platforms Rant</title>
    <link href="https://johnsonlee.io/en/2023/04/15/steveys-google-platforms-rant/"/>
    <id>https://johnsonlee.io/en/2023/04/15/steveys-google-platforms-rant/</id>
    <published>2023-04-15T00:00:00.000Z</published>
    <updated>2023-04-15T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was at Amazon for about six and a half years, and now I’ve been at Google for that long. One thing that struck me immediately about</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Design System: A Mobile Engineering Perspective</title>
    <link href="https://johnsonlee.io/en/2023/03/31/design-system-mobile-engineering-perspective/"/>
    <id>https://johnsonlee.io/en/2023/03/31/design-system-mobile-engineering-perspective/</id>
    <published>2023-03-31T09:00:00.000Z</published>
    <updated>2023-03-31T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;As mobile internet has become ubiquitous, mobile applications are now an indispensable part of daily life. To meet the growing demand</summary>
    <category term="UI/UX" scheme="https://johnsonlee.io/categories/UI-UX/"/>
    <category term="Design System" scheme="https://johnsonlee.io/categories/UI-UX/Design-System/"/>
    <category term="UX" scheme="https://johnsonlee.io/tags/UX/"/>
  </entry>
  <entry>
    <title>Kotlin Pitfalls: Compatibility</title>
    <link href="https://johnsonlee.io/en/2022/12/07/do-you-really-know-kotlin-compatibility/"/>
    <id>https://johnsonlee.io/en/2022/12/07/do-you-really-know-kotlin-compatibility/</id>
    <published>2022-12-07T00:00:00.000Z</published>
    <updated>2022-12-07T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In the previous post &lt;a href=&quot;/2022/12/03/do-you-really-know-kotlin-function/&quot;&gt;Kotlin Pitfalls: FunctionReference&lt;/a&gt;, I covered how to</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/categories/computer-science/kotlin/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
    <category term="Compatibility" scheme="https://johnsonlee.io/tags/Compatibility/"/>
  </entry>
  <entry>
    <title>Kotlin Pitfalls: FunctionReference</title>
    <link href="https://johnsonlee.io/en/2022/12/03/do-you-really-know-kotlin-function/"/>
    <id>https://johnsonlee.io/en/2022/12/03/do-you-really-know-kotlin-function/</id>
    <published>2022-12-03T14:00:00.000Z</published>
    <updated>2022-12-03T14:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Before Booster 4.15.0, we had been using Kotlin 1.3. The reason for sticking with such an old version was mainly Kotlin version</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/categories/computer-science/kotlin/"/>
    <category term="Compiler" scheme="https://johnsonlee.io/tags/Compiler/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
    <category term="Lambda" scheme="https://johnsonlee.io/tags/Lambda/"/>
  </entry>
  <entry>
    <title>Education for Independent Thought</title>
    <link href="https://johnsonlee.io/en/2022/11/28/education-for-independent-thought/"/>
    <id>https://johnsonlee.io/en/2022/11/28/education-for-independent-thought/</id>
    <published>2022-11-28T00:00:00.000Z</published>
    <updated>2022-11-28T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I had the privilege of watching a lecture by the late Chinese-American physicist Shoucheng Zhang – &lt;a</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>How to Be an Excellent PPT Engineer</title>
    <link href="https://johnsonlee.io/en/2022/11/13/how-to-be-an-excellent-ppt-engineer/"/>
    <id>https://johnsonlee.io/en/2022/11/13/how-to-be-an-excellent-ppt-engineer/</id>
    <published>2022-11-13T00:00:00.000Z</published>
    <updated>2022-11-13T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I’ve been reviewing a lot of documents written by engineers lately, and the problems are remarkably consistent: walls of text with zero</summary>
    <category term="Career" scheme="https://johnsonlee.io/categories/career/"/>
  </entry>
  <entry>
    <title>Recommended Reading: Economics</title>
    <link href="https://johnsonlee.io/en/2022/11/12/recommended-reading-economics/"/>
    <id>https://johnsonlee.io/en/2022/11/12/recommended-reading-economics/</id>
    <published>2022-11-12T07:00:00.000Z</published>
    <updated>2022-11-12T07:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A colleague recently asked me: “Any good books you’d recommend?” I glanced at my bookshelf – quite a few worth reading, actually. Let me</summary>
    <category term="Reading" scheme="https://johnsonlee.io/categories/reading/"/>
    <category term="Economics" scheme="https://johnsonlee.io/tags/Economics/"/>
  </entry>
  <entry>
    <title>Class Reference Analysis? Booster Makes It Easy!</title>
    <link href="https://johnsonlee.io/en/2022/06/08/class-reference-analysis/"/>
    <id>https://johnsonlee.io/en/2022/06/08/class-reference-analysis/</id>
    <published>2022-06-08T01:00:00.000Z</published>
    <updated>2022-06-08T01:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;As app architecture evolves, sinking foundational modules is a phase every app goes through – or will go through. During this process,</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Open Source" scheme="https://johnsonlee.io/categories/computer-science/open-source/"/>
    <category term="Booster" scheme="https://johnsonlee.io/categories/computer-science/open-source/booster/"/>
    <category term="Gradle" scheme="https://johnsonlee.io/tags/Gradle/"/>
  </entry>
  <entry>
    <title>Upgrading an iMac with an SSD</title>
    <link href="https://johnsonlee.io/en/2022/05/06/upgrade-imac-with-ssd/"/>
    <id>https://johnsonlee.io/en/2022/05/06/upgrade-imac-with-ssd/</id>
    <published>2022-05-06T00:00:00.000Z</published>
    <updated>2022-05-06T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A while back, my 7-year-old MacBook Pro (Late 2013) kept running out of disk space. The 256GB SSD just wasn’t cutting it anymore. So I</summary>
    <category term="DIY" scheme="https://johnsonlee.io/categories/diy/"/>
  </entry>
  <entry>
    <title>The Data (Im)mutability Problem</title>
    <link href="https://johnsonlee.io/en/2022/04/11/the-data-mutability-problem/"/>
    <id>https://johnsonlee.io/en/2022/04/11/the-data-mutability-problem/</id>
    <published>2022-04-11T00:00:00.000Z</published>
    <updated>2022-04-11T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Whether data should be mutable or immutable after creation – despite knowing that Java’s &lt;em&gt;String&lt;/em&gt; benefits enormously from its</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
  </entry>
  <entry>
    <title>It&apos;s Time to Abandon JavaPoet/KotlinPoet</title>
    <link href="https://johnsonlee.io/en/2022/04/10/its-time-to-abandon-javapoet-kotlinpoet/"/>
    <id>https://johnsonlee.io/en/2022/04/10/its-time-to-abandon-javapoet-kotlinpoet/</id>
    <published>2022-04-10T00:00:00.000Z</published>
    <updated>2022-04-10T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Most Android developers are familiar with &lt;a href=&quot;https://github.com/square/javapoet&quot;&gt;JavaPoet&lt;/a&gt; and &lt;a</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
  </entry>
  <entry>
    <title>Booster Collector API</title>
    <link href="https://johnsonlee.io/en/2022/01/16/booster-collector-api/"/>
    <id>https://johnsonlee.io/en/2022/01/16/booster-collector-api/</id>
    <published>2022-01-16T23:00:00.000Z</published>
    <updated>2022-01-16T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Booster maintains its high performance through two key mechanisms: parallel I&amp;#x2F;O and single-pass I&amp;#x2F;O. What does “single-pass</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Open Source" scheme="https://johnsonlee.io/categories/computer-science/open-source/"/>
    <category term="Booster" scheme="https://johnsonlee.io/categories/computer-science/open-source/booster/"/>
    <category term="Booster" scheme="https://johnsonlee.io/tags/Booster/"/>
  </entry>
  <entry>
    <title>Zero to One: Importance of Mobile App Monitoring</title>
    <link href="https://johnsonlee.io/en/2021/12/31/importance-of-mobile-app-monitoring/"/>
    <id>https://johnsonlee.io/en/2021/12/31/importance-of-mobile-app-monitoring/</id>
    <published>2021-12-31T00:00:00.000Z</published>
    <updated>2021-12-31T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Stability is one of the three most important metrics for Coupang apps in providing a Wow customer experience. The mobile app monitoring</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Observability" scheme="https://johnsonlee.io/categories/computer-science/observability/"/>
    <category term="Coupang" scheme="https://johnsonlee.io/tags/Coupang/"/>
    <category term="Reveal2021" scheme="https://johnsonlee.io/tags/Reveal2021/"/>
  </entry>
  <entry>
    <title>My First UI Widget</title>
    <link href="https://johnsonlee.io/en/2021/12/19/my-first-ui-widget/"/>
    <id>https://johnsonlee.io/en/2021/12/19/my-first-ui-widget/</id>
    <published>2021-12-19T00:00:00.000Z</published>
    <updated>2021-12-19T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Although I’ve been programming in &lt;em&gt;Java&lt;/em&gt; for well over a decade, &lt;em&gt;JavaScript&lt;/em&gt; was actually the first programming language</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Graphics" scheme="https://johnsonlee.io/categories/computer-science/graphics/"/>
    <category term="JavaScript" scheme="https://johnsonlee.io/tags/JavaScript/"/>
    <category term="HTML" scheme="https://johnsonlee.io/tags/HTML/"/>
  </entry>
  <entry>
    <title>Designing Testable App Architecture (Part 2)</title>
    <link href="https://johnsonlee.io/en/2021/12/18/testable-app-architecture-design-2/"/>
    <id>https://johnsonlee.io/en/2021/12/18/testable-app-architecture-design-2/</id>
    <published>2021-12-18T00:00:00.000Z</published>
    <updated>2021-12-18T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In &lt;a href=&quot;/2021/11/23/testable-app-architecture-design-1/&quot;&gt;Designing Testable App Architecture (Part 1)&lt;/a&gt;, we covered how</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
  </entry>
  <entry>
    <title>Designing Testable App Architecture (Part 1)</title>
    <link href="https://johnsonlee.io/en/2021/11/23/testable-app-architecture-design-1/"/>
    <id>https://johnsonlee.io/en/2021/11/23/testable-app-architecture-design-1/</id>
    <published>2021-11-23T00:00:00.000Z</published>
    <updated>2021-11-23T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Since bytecode manipulation became widespread on mobile platforms, many app architectures have adopted it. The most typical example is</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
  </entry>
  <entry>
    <title>Two Philosophies, Two Worlds</title>
    <link href="https://johnsonlee.io/en/2021/10/31/two-philosophies-two-worlds/"/>
    <id>https://johnsonlee.io/en/2021/10/31/two-philosophies-two-worlds/</id>
    <published>2021-10-31T23:00:00.000Z</published>
    <updated>2021-10-31T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I’ve been wanting to write about two different philosophies of getting things done for a long time. I kept going back and forth on the</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Kotlin Pitfalls: Metadata</title>
    <link href="https://johnsonlee.io/en/2021/10/29/do-you-really-know-kotlin-1/"/>
    <id>https://johnsonlee.io/en/2021/10/29/do-you-really-know-kotlin-1/</id>
    <published>2021-10-29T23:00:00.000Z</published>
    <updated>2021-10-29T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was recently using KAPT to generate Kotlin code and ran into a frustrating problem. The generated Kotlin code needed to call</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/categories/computer-science/kotlin/"/>
  </entry>
  <entry>
    <title>Do You Really Know Java? (Part 2)</title>
    <link href="https://johnsonlee.io/en/2021/10/17/do-you-really-know-java-2/"/>
    <id>https://johnsonlee.io/en/2021/10/17/do-you-really-know-java-2/</id>
    <published>2021-10-17T15:00:00.000Z</published>
    <updated>2021-10-17T15:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Any Java&amp;#x2F;Android engineer knows that comparing with &lt;code&gt;==&lt;/code&gt; checks whether two objects are the same instance – essentially</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="JVM" scheme="https://johnsonlee.io/tags/JVM/"/>
  </entry>
  <entry>
    <title>Publish to Maven Central in One Line</title>
    <link href="https://johnsonlee.io/en/2021/10/07/sonatype-publish-plugin/"/>
    <id>https://johnsonlee.io/en/2021/10/07/sonatype-publish-plugin/</id>
    <published>2021-10-07T10:00:00.000Z</published>
    <updated>2021-10-07T10:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Anyone who has published an open source library knows the pain: getting a library published to &lt;strong&gt;Maven Central&lt;/strong&gt; through &lt;a</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Gradle" scheme="https://johnsonlee.io/categories/computer-science/gradle/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Maven" scheme="https://johnsonlee.io/tags/Maven/"/>
  </entry>
  <entry>
    <title>How to Make a Gradle Plugin and Library Coexist in One Project</title>
    <link href="https://johnsonlee.io/en/2021/10/06/integrate-gradle-plugin-and-library-into-one-project/"/>
    <id>https://johnsonlee.io/en/2021/10/06/integrate-gradle-plugin-and-library-into-one-project/</id>
    <published>2021-10-06T23:00:00.000Z</published>
    <updated>2021-10-06T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;When developing an &lt;strong&gt;Android Library&lt;/strong&gt; that also needs a corresponding &lt;strong&gt;Gradle Plugin&lt;/strong&gt;, it is not easy for</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Gradle" scheme="https://johnsonlee.io/categories/computer-science/gradle/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Maven" scheme="https://johnsonlee.io/tags/Maven/"/>
  </entry>
  <entry>
    <title>The Troubles of GUI Applications</title>
    <link href="https://johnsonlee.io/en/2021/10/01/problems-of-gui-app/"/>
    <id>https://johnsonlee.io/en/2021/10/01/problems-of-gui-app/</id>
    <published>2021-10-01T23:00:00.000Z</published>
    <updated>2021-10-01T23:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In the booming era of mobile internet, many modern programming languages emerged. &lt;em&gt;Write Once and Run Anywhere&lt;/em&gt; is no longer</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Graphics" scheme="https://johnsonlee.io/categories/computer-science/graphics/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>Do You Really Know Java? (Part 1)</title>
    <link href="https://johnsonlee.io/en/2021/09/21/do-you-really-know-java-1/"/>
    <id>https://johnsonlee.io/en/2021/09/21/do-you-really-know-java-1/</id>
    <published>2021-09-21T13:00:00.000Z</published>
    <updated>2021-09-21T13:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was driving when a WeChat message came in: “Hey, why does this code output &lt;code&gt;0&lt;/code&gt;? …” Since I was behind the wheel, I didn’t</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="JVM" scheme="https://johnsonlee.io/tags/JVM/"/>
  </entry>
  <entry>
    <title>Days Like Years, Both Ways</title>
    <link href="https://johnsonlee.io/en/2021/09/20/days-are-like-years/"/>
    <id>https://johnsonlee.io/en/2021/09/20/days-are-like-years/</id>
    <published>2021-09-20T02:00:00.000Z</published>
    <updated>2021-09-20T02:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I was sitting quietly, reflecting on life, when it suddenly hit me that I’d already been at Coupang for a full year. Running through the</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
  </entry>
  <entry>
    <title>Lost Youth</title>
    <link href="https://johnsonlee.io/en/2021/08/09/lost-youth/"/>
    <id>https://johnsonlee.io/en/2021/08/09/lost-youth/</id>
    <published>2021-08-09T00:00:00.000Z</published>
    <updated>2021-08-09T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;While cleaning up disk space, I stumbled upon recordings of myself playing guitar from years ago. Listening to one of them transported</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Music" scheme="https://johnsonlee.io/tags/Music/"/>
  </entry>
  <entry>
    <title>What Does the Deprecation of AGP Transform API Mean?</title>
    <link href="https://johnsonlee.io/en/2021/08/02/the-deprecation-of-agp-transform-api/"/>
    <id>https://johnsonlee.io/en/2021/08/02/the-deprecation-of-agp-transform-api/</id>
    <published>2021-08-02T00:00:00.000Z</published>
    <updated>2021-08-02T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;AGP 7.0 was officially released a few days ago. Sharp-eyed developers may have noticed that the Transform API, which had been around</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Mobile" scheme="https://johnsonlee.io/categories/computer-science/mobile/"/>
    <category term="Android" scheme="https://johnsonlee.io/categories/computer-science/mobile/android/"/>
    <category term="Gradle" scheme="https://johnsonlee.io/tags/Gradle/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="Build" scheme="https://johnsonlee.io/tags/Build/"/>
  </entry>
  <entry>
    <title>Truth and Reality</title>
    <link href="https://johnsonlee.io/en/2021/06/10/truth-and-reality/"/>
    <id>https://johnsonlee.io/en/2021/06/10/truth-and-reality/</id>
    <published>2021-06-10T00:00:00.000Z</published>
    <updated>2021-06-10T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Human society is so complex that the vast majority of people have no clue how the world actually works. Take “economics” – most people</summary>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/categories/Independent-Thinking/"/>
    <category term="Society" scheme="https://johnsonlee.io/tags/Society/"/>
  </entry>
  <entry>
    <title>You Won&apos;t Become a Master</title>
    <link href="https://johnsonlee.io/en/2021/05/26/you-wont-be-a-master/"/>
    <id>https://johnsonlee.io/en/2021/05/26/you-wont-be-a-master/</id>
    <published>2021-05-26T12:00:00.000Z</published>
    <updated>2021-05-26T12:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;You read that right. You &lt;em&gt;won’t&lt;/em&gt; become a master. You think you’re in the top 20%, but you’re actually in the 80%. Don’t argue.</summary>
    <category term="Career" scheme="https://johnsonlee.io/categories/career/"/>
    <category term="Career" scheme="https://johnsonlee.io/tags/Career/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 11</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-11-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-11-new-features/</id>
    <published>2021-05-07T11:00:00.000Z</published>
    <updated>2021-05-07T11:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Java 11 was released on September 25, 2018 and is currently open for bug fixes. It provides LTS (Long-Term Support), which is why newer</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 10</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-10-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-10-new-features/</id>
    <published>2021-05-07T10:00:00.000Z</published>
    <updated>2021-05-07T10:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Java 10, developed under &lt;em&gt;JSR 383&lt;/em&gt;, was officially released on March 20, 2018. Oracle provides production-ready binaries under</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 9</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-9-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-9-new-features/</id>
    <published>2021-05-07T09:00:00.000Z</published>
    <updated>2021-05-07T09:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;At &lt;em&gt;JavaOne&lt;/em&gt; 2011, Oracle discussed features they hoped to release with Java 9 in 2016. &lt;em&gt;Java 9&lt;/em&gt; was expected to offer</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 8</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-8-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-8-new-features/</id>
    <published>2021-05-07T08:00:00.000Z</published>
    <updated>2021-05-07T08:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Java 8 was released on March 18, 2014, incorporating features originally planned for Java 7 but postponed. Java 8 dropped support for</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 7</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-7-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-7-new-features/</id>
    <published>2021-05-07T07:00:00.000Z</published>
    <updated>2021-05-07T07:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Java 7, codenamed &lt;em&gt;Dolphin&lt;/em&gt;, was a major update that debuted on July 7, 2011 and became available to developers on July 28, 2011.</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 6</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-6-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-6-new-features/</id>
    <published>2021-05-07T06:00:00.000Z</published>
    <updated>2021-05-07T06:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Java 6, codenamed &lt;em&gt;Mustang&lt;/em&gt;, was released on December 11, 2006. &lt;em&gt;Sun&lt;/em&gt; renamed &lt;em&gt;“J2SE”&lt;/em&gt; to &lt;em&gt;“Java SE”&lt;/em&gt; and</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>What&apos;s New in Java 5</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-5-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-5-new-features/</id>
    <published>2021-05-07T05:00:00.000Z</published>
    <updated>2021-05-07T05:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;J2SE 5.0, codenamed &lt;em&gt;Tiger&lt;/em&gt;, was released on September 30, 2004. Originally numbered 1.5 following the internal versioning</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>New Features Across Java Versions</title>
    <link href="https://johnsonlee.io/en/2021/05/07/java-new-features/"/>
    <id>https://johnsonlee.io/en/2021/05/07/java-new-features/</id>
    <published>2021-05-07T00:00:00.000Z</published>
    <updated>2021-05-07T00:00:00.000Z</updated>
    <summary type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;../java-11-new-features/&quot;&gt;What’s New in Java 11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;../java-10-new-features/&quot;&gt;What’s New in Java</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Java" scheme="https://johnsonlee.io/categories/computer-science/java/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
  </entry>
  <entry>
    <title>How to Write Elegant Code</title>
    <link href="https://johnsonlee.io/en/2021/05/06/how-to-write-elegant-code/"/>
    <id>https://johnsonlee.io/en/2021/05/06/how-to-write-elegant-code/</id>
    <published>2021-05-06T00:00:00.000Z</published>
    <updated>2021-05-06T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;I recently reviewed code from several colleagues. The logic was mostly sound, but the code itself felt far from elegant – simple</summary>
    <category term="Career" scheme="https://johnsonlee.io/categories/career/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="iOS" scheme="https://johnsonlee.io/tags/iOS/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
  </entry>
  <entry>
    <title>Grateful to You</title>
    <link href="https://johnsonlee.io/en/2021/04/20/grateful-to-you/"/>
    <id>https://johnsonlee.io/en/2021/04/20/grateful-to-you/</id>
    <published>2021-04-20T02:00:00.000Z</published>
    <updated>2021-04-20T02:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;They say behind every successful man there is a great woman. I may not count as successful, but I have been diligent enough. Along my</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
  </entry>
  <entry>
    <title>Architecture Training Camp</title>
    <link href="https://johnsonlee.io/en/2021/03/30/architecture-training/"/>
    <id>https://johnsonlee.io/en/2021/03/30/architecture-training/</id>
    <published>2021-03-30T00:00:00.000Z</published>
    <updated>2021-03-30T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Yesterday I posted a job listing – &lt;a href=&quot;https://johnsonlee.io/2021/03/27/build-an-app-monitoring-platform-from-0-to-1/&quot;&gt;Building a</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Architecture Design" scheme="https://johnsonlee.io/categories/computer-science/architecture-design/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="iOS" scheme="https://johnsonlee.io/tags/iOS/"/>
    <category term="Java" scheme="https://johnsonlee.io/tags/Java/"/>
    <category term="Kotlin" scheme="https://johnsonlee.io/tags/Kotlin/"/>
  </entry>
  <entry>
    <title>Building a Mobile App Monitoring Platform from Scratch</title>
    <link href="https://johnsonlee.io/en/2021/03/27/build-an-app-monitoring-platform-from-0-to-1/"/>
    <id>https://johnsonlee.io/en/2021/03/27/build-an-app-monitoring-platform-from-0-to-1/</id>
    <published>2021-03-27T00:00:00.000Z</published>
    <updated>2021-03-27T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;For mobile apps, a monitoring platform is foundational infrastructure. Since it spans client-side, server-side, big data, and</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Observability" scheme="https://johnsonlee.io/categories/computer-science/observability/"/>
    <category term="Android" scheme="https://johnsonlee.io/tags/Android/"/>
    <category term="iOS" scheme="https://johnsonlee.io/tags/iOS/"/>
  </entry>
  <entry>
    <title>Short Video Preloading (Part 2)</title>
    <link href="https://johnsonlee.io/en/2021/03/24/short-video-preloading-2/"/>
    <id>https://johnsonlee.io/en/2021/03/24/short-video-preloading-2/</id>
    <published>2021-03-24T07:00:00.000Z</published>
    <updated>2021-03-24T07:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;A friend recently asked me: “How do you evaluate a candidate’s architecture design skills during interviews?” That’s not an easy</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Mobile" scheme="https://johnsonlee.io/categories/computer-science/mobile/"/>
    <category term="Preloading" scheme="https://johnsonlee.io/tags/Preloading/"/>
  </entry>
  <entry>
    <title>The First Pot of Gold</title>
    <link href="https://johnsonlee.io/en/2021/03/04/the-first-pot-of-gold/"/>
    <id>https://johnsonlee.io/en/2021/03/04/the-first-pot-of-gold/</id>
    <published>2021-03-04T00:00:00.000Z</published>
    <updated>2021-03-04T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Growing up, I read about famous entrepreneurs who earned their first pot of gold while still in school, then rode that momentum all the</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Finance" scheme="https://johnsonlee.io/tags/Finance/"/>
  </entry>
  <entry>
    <title>Revisiting Old Friends and Stories</title>
    <link href="https://johnsonlee.io/en/2021/02/14/old-friends-and-stories/"/>
    <id>https://johnsonlee.io/en/2021/02/14/old-friends-and-stories/</id>
    <published>2021-02-14T00:00:00.000Z</published>
    <updated>2021-02-14T00:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;Leafing through an old diary, I stumbled upon a piece I wrote years ago – “Old Friends and Stories.” Reading it again, the words still</summary>
    <category term="Life" scheme="https://johnsonlee.io/categories/life/"/>
    <category term="Independent Thinking" scheme="https://johnsonlee.io/tags/Independent-Thinking/"/>
  </entry>
  <entry>
    <title>Short Video Preloading (Part 1)</title>
    <link href="https://johnsonlee.io/en/2021/02/10/short-video-preloading-1/"/>
    <id>https://johnsonlee.io/en/2021/02/10/short-video-preloading-1/</id>
    <published>2021-02-10T03:00:00.000Z</published>
    <updated>2021-02-10T03:00:00.000Z</updated>
    <summary type="html">&lt;p&gt;In an era where user experience is king, “Video View” count is one of the most important metrics for measuring experience quality in a</summary>
    <category term="Computer Science" scheme="https://johnsonlee.io/categories/computer-science/"/>
    <category term="Mobile" scheme="https://johnsonlee.io/categories/computer-science/mobile/"/>
    <category term="Preloading" scheme="https://johnsonlee.io/tags/Preloading/"/>
  </entry>
</feed>