Learning notes

Learning

Some repositories are not projects I want to present as finished work. They are study artifacts: small places to try an API, build a mental model, and keep a record of what finally clicked.

Notes

8 study repos
  1. A compact Chinese knowledge base for rebuilding the right technical mental model in a few minutes.

    • Short notes are easier to revisit when each one answers a single question.
    • Problem, mechanism, minimal example, and boundaries form a useful recall structure.
    • Markdown, local search, and generated navigation keep the publishing workflow lightweight.
  2. Engineering histories that explain how open-source software grew into its present architecture.

    • Repository history is easier to understand as pressure, decision, implementation, and consequence.
    • Commits, issues, RFCs, and releases reveal why an architecture changed—not only when it changed.
    • Historical constraints make old trade-offs more useful than judging them with today's assumptions.
  3. A personal vocabulary study app built from saved words, generated learning cards, audio, and review state.

    • Small per-word files make generated learning material easier to validate and repair.
    • Lazy loading and IndexedDB keep a large static vocabulary library responsive.
    • Export, import, and optional KV sync keep study progress portable across browsers.
  4. A study note about terminal, shell, PTY, WebSocket transport, and browser-side rendering.

    • A shell is a program, while a terminal is an interface.
    • A PTY lets interactive programs behave as if they are attached to a terminal.
    • xterm.js renders terminal control sequences but does not run the shell.
  5. Frame: React-Like Rendering Notes

    Candidate GitHub

    A small TypeScript virtual-DOM and patching experiment hidden behind a modest library-template README.

    Note design: Write this as a note with a tiny `h()`/`patch()` snippet, then show a keyed list reorder trace so readers can see which DOM nodes move, update, or get created.

    • `h()` turns a tag, props, key, and children into a vnode tree.
    • `patch()` compares old and new vnodes, updates props/events/styles, and reuses DOM when tag and key match.
    • The keyed children diff is the best writing angle because it explains why identity matters in UI rendering.
  6. Flutter Tax Calculator Notes

    Candidate GitHub

    A Flutter native app for personal income tax calculation, with routes for special deductions, provident fund, and insurance.

    Note design: Use the app screenshot as the visual anchor, then diagram the route flow and walk through one calculation path from input values to computed tax.

    • Flutter apps become easier to explain when the route map is visible first.
    • `decimal` is useful for money-like calculations where normal floating point math is too casual.
    • `rxdart` fits as a learning bridge from reactive JavaScript work into Flutter state and streams.
  7. Advent of Code in Rust

    Candidate GitHub

    Algorithm practice in Rust; useful as a learning record rather than a product.

    • Rust puzzle solutions expose ownership, parsing, and iterator habits in small doses.
    • Good learning notes can focus on one puzzle technique instead of every solution.
    • This pairs well with broader algorithm-practice notes.
  8. Algorithm Practice Notes

    Candidate GitHub

    LeetCode, 剑指 Offer, and algorithm notes that can become pattern-oriented learning records.

    Note design: Turn this into a learning index: pick one pattern at a time, include a short problem cluster, and show the shared template or decision tree before code.

    • The valuable writing angle is patterns, not a dump of solutions.
    • A note could group problems by technique: backtracking, binary search, DP, recursion, graph search.
    • This is a durable learning category for the blog.