Loving nature, chasing simplicity.
Find me on
and
.
Writing
2026
-
Hiểu đúng cơ chế vẫn chưa đủ
-
AWS IAM: Hiểu Đúng Từ Nền Tảng
-
Tại sao tôi chán, và não tôi đang nói gì
-
Auth / Identity — Mental Model
-
MCP không có gì thần thánh: cuối cùng vẫn là API, input/output và business logic
-
Từ khóa dịch vụ AWS cho SAP-C02
-
Harness: bộ khung biến model thành agent
-
Compound, Đạo và những ván cược dài hạn
-
Current AI Agents Are Overhyped and Fundamentally Limited
-
China, Việt Nam và cái bẫy bão hòa kinh tế
-
Brain & Anxiety Playbook
-
Discussion Notes — Friston, Prior, Meta Awareness, Tỉnh Thức
-
Practice, Rest, and Motor Learning: Protect the Learning Signal
-
Procedural Memory vs. Working Memory & Cơ chế đạt Flow State
-
Từ khủng hoảng 1997 đến Bitcoin: Những nguyên tắc về dòng chảy vốn và niềm tin tập thể
-
Framework luận Tử Vi Trung Châu phái theo Vương Đình Chi
-
Âm Dương – Turning & Cân bằng động
-
Hai góc nhìn về AI-assisted programming
-
Học mà không có phản hồi
-
Kinh tế: Dòng chảy, Fiat và Chiến lược Tài sản
-
Market Research vs Market Validation
-
Công Thức Veritasium Cho Presentation Và Blog
-
7 Bài Học Về Bán Hàng
2020
-
LeetCode Practice Map: Patterns Before Problem Counts
-
Gọi API từ Frontend: Fetch, Axios và các nguyên tắc production
-
Side Project tiếp theo: ship một vòng giá trị trước khi xây platform
-
Làm mini app cho vợ: bắt đầu từ workflow, không bắt đầu từ framework
-
URL Slugs: Hyphens, Underscores, and Boring Consistency
-
Linux Processes: Interactive Jobs, Batch Work, and Daemons
-
Safe Navigation in Ruby: &., try, and dig
-
Exception trong Rails: rescue đúng tầng, log đúng context
-
Legacy Rails Maintenance Notes: Bundler, Homebrew, and MySQL
-
Legacy Rails 6 Setup Notes: rbenv, Webpacker, and Git
-
Function vs. Method: The Distinction That Actually Matters
-
JavaScript this: Call Sites, Binding Rules, and Arrow Functions
-
Callback, Promise và async/await: cùng một concurrency model, khác cách viết
-
Redux Fundamentals Without the Ceremony
-
React: Render, State, Effects và mental model hiện đại
-
Đọc EXPLAIN và tư duy tối ưu truy vấn SQL
2019
-
Shallow Copy, Deep Clone, and References in JavaScript
-
Two-Pointer Patterns in Ruby
-
Binary Search in Ruby: Invariants Before Code
-
Implementing a Singly Linked List in Ruby
-
Ruby Method Arguments Without the Guesswork
-
A Safe Shell Script for Deploying a Hexo Blog
-
Implementing a Binary Search Tree in Ruby
-
Using Multiple Git Accounts with SSH
-
Hexo Commands I Actually Need
-
Metaprogramming trong Ruby: sức mạnh, method lookup và giới hạn
-
VS Code Extensions I Actually Use
-
A Minimal Vim Setup That Stays Maintainable
-
Practical macOS Terminal Setup
-
Building a Minimal ORM in Ruby: From SQL to ActiveRecord
-
Rack xử lý một HTTP request như thế nào?
-
super trong Ruby: tiếp tục method lookup, không chỉ gọi parent
-
Public, private và protected trong Ruby: visibility là contract
-
Exception trong Ruby: raise, rescue, ensure và boundary
-
Scope và class method trong ActiveRecord: relation composable mới là điểm chính
-
Symbol và String trong Ruby: semantics trước micro-benchmark
-
SQL Injection trong Rails: parameter binding, query API và những lối tắt nguy hiểm
-
SOLID trong Ruby: nguyên tắc thiết kế, không phải checklist đạo đức
-
require, load, include, prepend và extend trong Ruby
-
Cập nhật dữ liệu trong ActiveRecord: chọn API theo invariant, không theo độ ngắn
-
HTTPS thực sự bảo vệ điều gì? TLS, certificate và HSTS
-
Session và Cookie trong Rails: trạng thái giả, rủi ro thật
-
Zeitwerk, Autoloading và Reloading trong Rails
-
CarrierWave với S3 trong Rails: cấu hình, security và lifecycle
-
Upload file lên S3 trong Rails: credential, quyền truy cập và kiến trúc đúng
-
IaaS, PaaS và SaaS: ai chịu trách nhiệm khi production cháy?
-
Mutable và Immutable trong Ruby: object identity, mutation và allocation
-
N+1 Query trong Rails: preload, eager_load, includes và cái giá của sự tiện lợi
-
Ruby Method Lookup: include, prepend, extend và singleton class
-
Quản lý secrets trong Rails: credentials, ENV và những thứ tuyệt đối đừng commit
-
Quy luật 80/20: công cụ ưu tiên, không phải định luật vật lý
-
Các Ruby implementation: CRuby, JRuby, TruffleRuby và mruby
-
Ruby truyền tham số thế nào? Pass-by-value của object reference
-
Root, sudo và package manager: quyền lực càng lớn, blast radius càng rộng