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-
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.
-
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.
-
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.
-
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.
-
Frame: React-Like Rendering Notes
Candidate GitHubA 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.
-
Flutter Tax Calculator Notes
Candidate GitHubA 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.
-
Advent of Code in Rust
Candidate GitHubAlgorithm 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.
-
Algorithm Practice Notes
Candidate GitHubLeetCode, 剑指 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.