- Sau 25 năm, phần lớn các chương trình dùng hằng ngày đã được thay bằng những công cụ do chính tác giả thiết kế, giao cho Claude Code việc thêm tính năng và sửa lỗi để dần thay thế từng công cụ đa dụng sẵn có
- Toàn bộ môi trường được chia thành lớp nền tảng dựa trên CHasm, xử lý pixel và nhập phím bằng assembly x86_64 thuần không dùng libc, và lớp ứng dụng Rust là Fe₂O₃ chạy trên crust
- Ở lớp CHasm, i3-wm được thay bằng tile, kitty được thay bằng glass, zsh và rsh được thay bằng bare, còn less được thay bằng show
- Ở lớp Fe₂O₃, VIM đã được thay bằng scribe chỉ 72 giờ sau commit đầu tiên; trình quản lý file, email, RSS, lịch, bảng thiên văn và công cụ phim ảnh cũng được thay bằng các công cụ tùy biến theo workflow cá nhân
- BYOS(Build Your Own Software) trở thành một lựa chọn thực tế hơn nhờ Rust, Claude Code và các bài toán lập trình TUI đã được tài liệu hóa tốt, cho phép thay từng công cụ sao cho khớp chính xác với một người chỉ trong phạm vi cuối tuần
Môi trường desktop tự làm
- Lần đầu tiên sau 25 năm, gần như mọi chương trình dùng hằng ngày đã được thay bằng các công cụ do chính tác giả thiết kế
- Đây không phải là thay toàn bộ công cụ đa dụng sẵn có trong một lần, mà là quá trình thay từng cái một theo cách vừa tay mình
- Việc phát triển được thực hiện bằng cách giao cho Claude Code thêm tính năng và sửa lỗi, đưa ra chỉ dẫn ngắn trong lúc làm việc khác rồi quay lại nhận kết quả
- Toàn bộ môi trường được chia thành hai lớp
- CHasm: lớp nền tảng viết bằng assembly x86_64 thuần không dùng libc, dùng để vẽ pixel và đọc nhập phím
- Fe₂O₃: lớp ứng dụng Rust, chạy trên crust, một thư viện TUI dùng chung nhỏ gọn
Lớp CHasm: công cụ dựa trên assembly
Lớp Fe₂O₃: công cụ dựa trên Rust và crust
scribe thay thế VIM chỉ trong 72 giờ
- vim là công cụ cốt lõi được dùng từ năm 2001 suốt 25 năm để viết email, bài viết, bài blog, code, HyperList và sách
- Trí nhớ cơ bắp đã ăn sâu đến mức ngay cả trong ô nhập văn bản bất kỳ trên trình duyệt cũng gõ
:w
- Commit đầu tiên của scribe được tạo lúc 00:09 ngày 1 tháng 5, và đến chiều ngày 3 tháng 5 thì đã thay được vim
- scribe là một trình soạn thảo theo chế độ như vim, nhưng lược bỏ 90% tính năng không dùng đến và chỉ giữ những gì phù hợp với workflow cá nhân
- Soft wrap mặc định
- Chế độ đọc tập trung kiểu Limelight
- AI trong prompt mà không rời khỏi buffer
- Chỉnh sửa HyperList với tô sáng cú pháp đầy đủ
- Hỗ trợ định dạng mã hóa do Ruby HyperList app sử dụng
- Các thanh ghi bền vững được chia sẻ giữa các phiên đồng thời
- Đây không phải các tính năng mang tính cách mạng, nhưng tất cả đều khớp chính xác với workflow cá nhân
- Trước đây, dù có nảy ra tính năng mình muốn thì vẫn phải chờ hàng tháng, hàng năm, hoặc mãi mãi để một nhà phát triển khác nghĩ ra ý tưởng tương tự và đưa vào công cụ; còn bây giờ, những cải tiến mong muốn đã ở gần chỉ vài phút
Chi phí làm công cụ cá nhân đã thấp hơn
- Trước đây, tự làm một trình soạn thảo, trình quản lý file hay trình quản lý cửa sổ là dự án kéo dài nhiều năm
- Ngay cả việc làm RTFM ra trò cũng mất vài năm và là công việc tốn kém đáng kể
- Với đa số mọi người, kể cả lập trình viên, điều đó không hiệu quả về mặt kinh tế
- Kịch bản thường thấy là làm thử một phần rồi đến khi cuối tuần kết thúc lại quay về dùng công cụ có sẵn
- Giờ đây, nhờ Rust, Claude Code và các bài toán lập trình TUI đã được tài liệu hóa đầy đủ, chi phí để “tự làm đúng công cụ mình thật sự muốn” đã giảm mạnh
- Điểm cốt lõi không phải ở bản thân AI hay Rust, mà là khoảng cách giữa “ước gì trình soạn thảo của mình làm được X” và “đây là trình soạn thảo làm được X” đã thu hẹp đến mức có thể hoàn thành chỉ sau vài buổi tối làm việc tập trung
Phần mềm không phải để phát hành, mà cho một người
- Những phần mềm này không được làm ra để người khác dùng
- Chúng được tạo cho một người, phù hợp với cách người đó dùng tay, nghĩ về email và muốn lịch được hiển thị
- Người dùng khác có thể sẽ phát hiện ra vô số góc cạnh sắc nhọn, nhưng với cách dùng cá nhân thì các góc đó khớp hoàn toàn nên không lộ ra
- Mã nguồn và ý tưởng không mới; những người có gu, kỷ luật và tài năng tốt hơn đã làm điều này từ trước
- Điểm chính là việc tạo ra một môi trường desktop computing phù hợp với một người nay đã thực sự khả thi
- Không còn chỉ là mức cấu hình công cụ của người khác để dùng tạm, mà là thay từng công cụ cụ thể trong đời sống để nó hoạt động đúng như mong muốn, hết cuối tuần này đến cuối tuần khác
- Nó không còn giống một dự án anh hùng kéo dài 10 năm, mà gần với một quá trình thay thế thực tế có thể tiến hành theo từng cuối tuần
Niềm vui của thiết kế cho một người dùng
- Khi làm cho chính mình, không cần phải nghĩ đến khả năng cấu hình để đáp ứng sở thích của người khác
- Không cần hỗ trợ những điều kiện biên mà bản thân sẽ không bao giờ gặp
- Cũng không cần viết tài liệu cho những người dùng không tồn tại
- Không phải tranh cãi trong issue tracker xem giá trị mặc định có đúng không; giá trị mình muốn chính là mặc định đúng
- Cheat sheet
\\? của trình soạn thảo hiển thị các phím đã tự ghi nhớ theo đúng thứ tự ưu tiên và các binding mà bản thân cho là hợp lý
- Đây là thiết kế không có ủy ban, và vì chỉ có một người dùng đích nên quyết định được đưa ra trong vài giây
- Một phần lớn độ phức tạp của phần mềm đến từ việc phải phục vụ người dùng không phải mình; bỏ phần đó đi thì còn lại những công cụ nhỏ, nhanh và khớp chính xác
BYOS như một lựa chọn
- Khi cảm thấy trình soạn thảo, trình quản lý file, thanh trạng thái hay shell chỉ cần hoạt động khác đi một chút, câu trả lời không còn chỉ là viết plugin, học một ngôn ngữ cấu hình khó nhằn, hoặc chấp nhận cách làm sẵn có
- Lựa chọn thứ ba là Build Your Own Software(BYOS) đã trở thành một con đường thực tế hơn
- Ngay cả khi không thay toàn bộ desktop, chỉ cần một công cụ trong workflow hằng ngày khớp chính xác cũng đã đáng để dành cả cuối tuần
1 bình luận
Ý kiến trên Hacker News
Trong vài tháng qua tôi đã suy nghĩ rất nhiều về chủ đề này, và trong một bài blog vài tháng trước tôi gọi nó là “Extremely Personal Software”: https://redfloatplane.lol/blog/14-releasing-software-now/
Vào năm 2026, có thể sẽ có nhiều phần mềm mới được viết cho chỉ 1~10 người hơn bất kỳ năm nào trước đó, và khả năng cao xu hướng này còn tiếp diễn trong vài năm sau
Phần lớn loại phần mềm này trên thực tế sẽ trở thành phần mềm ẩn, vì chi phí để nói cho agent biết thấp hơn rất nhiều so với chi phí lập kế hoạch thiết kế, nên mọi người sẽ tạo nó chỉ cho riêng mình
Trong vài năm tới, khả năng tương tác sẽ trở nên quan trọng, và tôi cũng tự hỏi liệu có thể giải quyết ở cấp agent/LLM bằng các chỉ thị thường trực như “thường thì hãy dùng sqlite, dùng văn bản thuần, dùng tiêu chuẩn mở” hay không
Sẽ có rất nhiều người muốn phần mềm cá nhân nhưng không quan tâm đến bảo trì hay vận hành, nên khả năng quan sát và vận hành có lẽ cũng sẽ trở nên khá quan trọng
Kể từ BASIC vào thập niên 1960, rồi sau đó là vô số ngôn ngữ lập trình giáo dục bao gồm Logo của Feurzeig/Papert/Solomon, lịch sử đã lặp đi lặp lại một cách kỳ lạ quanh nỗ lực giúp người mới có thể tạo phần mềm
Nỗ lực đó không nhằm onboarding các lập trình viên chuyên nghiệp tương lai, mà là để khiến chữ “cá nhân” trong máy tính cá nhân thực sự có ý nghĩa
Đó có nghĩa là đây là máy tính của bạn nên bạn có thể đưa phần mềm của mình lên đó, và thực ra ngay cả máy tính bỏ túi cũng cung cấp khả năng như vậy
Chúng ta cứ liên tục tái phát hiện những điều nền tảng
Nếu không có AI thì tôi sẽ không bao giờ làm chuyện đó, và cũng sẽ không có thời gian để làm
Giờ tôi đã có những ứng dụng tùy biến với nhiều tính năng mà sản phẩm thương mại khó lòng cung cấp dễ dàng, và vì dùng phi thương mại nên cũng có nhiều lựa chọn mở ra
Phần mềm tự do có thể một ngày nào đó sẽ cung cấp được, nhưng rất có thể sẽ chậm hơn
Trong quá trình đó tôi cũng học được rất nhiều về mặt kỹ thuật, và có thể khám phá những vùng từng xa lạ với mình với chi phí có thể kiểm soát
Tôi định sẽ tiếp tục làm thêm các ứng dụng như vậy, đặc biệt là ứng dụng nấu ăn của tôi đã khớp chính xác yêu cầu đến mức thay thế ngay các ứng dụng khác trên thị trường
Khía cạnh vận hành cũng thú vị, vì đa số người dùng không tự chạy phần mềm vận hành nên tôi phải suy nghĩ riêng về chuyện đó
Tailscale và Cloudflare khá hữu ích, và rõ ràng ở đây có thị trường
Thậm chí tôi còn tự hỏi liệu rồi máy tính có thể viết phần mềm dùng một lần cho một tác vụ chỉ dành cho một người, chạy đúng một lần thông qua giao diện phù hợp với từng công việc hay không
Chính khái niệm người dùng phải học “cách dùng phần mềm”, kiểu như nhớ phím tắt, có thể sẽ biến mất như thẻ đục lỗ
Giống Star Trek, ta chỉ việc giao việc cho “máy tính”, còn cách nó vận hành bên trong và phần mềm sẽ vô hình với ta, ta chỉ xử lý kết quả mà thôi
Khó mà hình dung hết các hệ quả, nhưng rõ ràng đây là thời điểm vừa khiến tôi thấy mình già đi vừa rất đáng hứng thú
Tôi cũng thấy trực giác rằng tầm quan trọng của những thứ như API, lớp xác minh, v.v. sẽ tăng lên rất nhiều là hoàn toàn đúng
Một vài công cụ nội bộ đáng để làm thành thư viện, và nếu thư viện đầu tiên tốt cùng bộ test đủ đầy thì việc chuyển sang nhiều ngôn ngữ sẽ trở nên rất đơn giản
Nghĩ theo chiều ngược lại, việc ai đó gắn công cụ tùy biến vào thư viện này cũng sẽ dễ hơn
Đây là thời điểm thật sự rất thú vị của ngành tính toán
https://maggieappleton.com/home-cooked-software
Tôi cũng nhận ra rằng mình đang theo cùng triết lý đó
Tôi dùng các công cụ suckless, chỉnh sửa st và dwm rất nhiều nên giờ chúng có cảm giác như ở nhà
Hiện tôi còn đang tự triển khai một trình quản lý git để nó tích hợp tốt với luồng làm việc của mình
Tôi sẽ không đi tới mức assembly, nhưng thực sự rất thích cách tiếp cận này và tôi cũng đang làm gần như điều tương tự bằng Ruby
Trình quản lý cửa sổ, shell, terminal, editor, trình quản lý tệp và menu bật lên của tôi (kiểu giống dmenu) đều được viết hoàn toàn bằng Ruby, bao gồm cả render font và binding X11
Tôi bắt đầu những thứ này từ trước khi cải tiến bằng Claude nên phần lớn vẫn là mã tôi tự viết tay, nhưng tỷ trọng đó đang thay đổi
Chúng lộn xộn, có lỗi, và còn có cả những “tính năng sai trái” chỉ hợp với tôi nhưng sẽ là cực hình với người khác
Như bài gốc nói, tôi không khuyến khích người khác trực tiếp dùng mã của mình, và điều đó mang lại cảm giác giải phóng khủng khiếp
Nhìn chung các dự án này bao phủ phần bề mặt lớn nhất của những gì tôi dùng, ngoại trừ kernel, trình duyệt và Xorg
Ngay cả Xorg cũng quá hấp dẫn, nhưng để nhét nó vào lịch trình thì có lẽ LLM phải tiến bộ hơn nhiều
Vì đa phần là cho riêng tôi nên không cần đánh bóng, và miễn là nó hợp với tôi hơn các lựa chọn khác thì có bug cũng không sao
Tôi thực sự tin rằng nhiều người hơn nữa nên làm như vậy. Đây là trải nghiệm học tập tuyệt vời, đồng thời bạn có được một hệ thống chỉ có những tính năng mình thực sự muốn và thực sự dùng
Về sau chuyện này sẽ còn dễ hơn nữa
Thật sự rất ngầu, nhưng tôi tò mò không biết thực tế đã tốn bao nhiêu thời gian và bao nhiêu tiền
Claude Code không miễn phí, và dù rất nhanh thì nó gần giống như thuê một nhà thầu robot có đơn giá theo giờ khá cao
[1]: https://fortune.com/2026/04/28/nvidia-executive-cost-of-ai-is-greater-than-cost-of-employees/
[2]: https://www.briefs.co/news/uber-torches-entire-2026-ai-budget-on-claude-code-in-four-months/
Tôi đã dùng gói rẻ nhất của Claude Pro, pi.dev+GPT-5.5, và gần đây thêm một ít deepseek-v4 qua openrouter trong khoảng hai tuần để tạo ra phiên bản tùy chỉnh của riêng mình
Hiện tại mức tương đương tính năng khoảng 90%, và ở một vài khía cạnh thì đã vượt qua rồi
Với khoảng 20 euro, nó sắp thay thế một dịch vụ đăng ký 60 euro/năm
Tôi chưa từng có lấy một khoảnh khắc nghĩ đến chuyện người khác sẽ chạy nó thế nào, không có đăng nhập, không có bảo mật, không có gì cả
Vì nó sẽ chạy 100% sau một node Tailscale không có truy cập từ bên ngoài
Quy trình release và triển khai cũng đúng theo cách tôi thích, người khác có thể không thích nhưng tôi không cần quan tâm. Nó là của tôi mà
Vài tháng trước tôi cũng thay thế Hazel[0] theo đúng kiểu đó
MVP chắc chỉ mất một buổi tối, còn để làm cho đẹp thì nhẹ nhàng mất khoảng một tuần
Giờ tôi có ứng dụng macOS của riêng mình làm đúng chính xác việc mà tôi cần Hazel làm, và nó sẽ mãi là của tôi, tôi có thể thêm hay bớt tính năng tùy ý
[0] https://www.noodlesoft.com/whats-new-in-hazel-6/
Đằng nào tôi cũng phải dùng nó vào việc gì đó
Về thời gian, nếu tính toàn bộ bộ phần mềm CHasm và Fe2O3 thì tôi bắt đầu vào 2026-03-29, và thời gian của riêng tôi chắc vào khoảng 60 giờ
Tuy nhiên từ mùa hè năm ngoái tôi đã tinh chỉnh một cấu hình Claude Code khá chuyên biệt cho nhu cầu của mình, qua hơn 70 dự án Claude Code
Tôi có một wrapper tmux dành cho đúng 1 người
Từ bất kỳ thiết bị nào của tôi, qua Tailscale, tôi có thể điều khiển Claude Code, codex, opencode hoặc đơn giản là shell trên bất kỳ thiết bị nào khác, dù thường xuyên hơn là tôi chạy nó trên máy chủ exe.dev
Tôi khá thường xuyên tiếp tục phiên làm việc từ điện thoại, và đôi khi còn dùng cả giọng nói
Có nút để xem tệp mà agent nhắc đến trong luồng văn bản hoặc mở liên kết, và cũng có những nút dành cho các thao tác git đúng kiểu tôi cần
Cũng có nút chuyển giữa chế độ yolo và chế độ thường
Về cơ bản đó là một UI cực kỳ đơn giản cho mọi thứ tôi thực sự dùng, và trên điện thoại cũng dễ dùng
Có lẽ còn quan trọng hơn là hoàn toàn không có UI cho những thứ tôi không đích thân dùng
Trên mọi máy của tôi đều có repo harness-harness này, nên khi cần thay đổi tôi chỉ việc mở tab, biến nó thành prompt rồi áp dụng ngay
Mọi thứ đều tốt, chỉ có điều có lẽ mặt xấu là nó khiến tôi có thể làm việc vào mọi giờ đang thức
Trên Windows tôi dùng một wrapper whisper “cho 1 người”, kết nối qua SSH, và nhờ card đồ họa ARC trên laptop mà nó chạy cũng ổn
Sẽ rất hay nếu khi SSH từ smartphone tôi cũng làm được như vậy
Thật sự rất thú vị
Một số người tạo ra thứ gì đó sẽ làm ra sản phẩm không chỉ hợp với gu của riêng họ mà còn với gu của một nhóm khán giả nhỏ
Một phần trong số những nhóm khán giả đó sẽ tiếp tục lớn lên và có thể làm rung chuyển các tay chơi lớn
Phần thâm dụng vốn trong việc xây dựng phần mềm đang tan chảy và được thay bằng chi phí vận hành là token tính theo mức sử dụng cùng với thời gian của chính mình
Điều này sẽ mở rộng đáng kể không gian khả năng và tạo ra một vùng đất chung mới khổng lồ
Nếu chi phí tạo ra rẻ đến thế thì chẳng có lý do gì không phát hành dưới dạng mã nguồn mở
Nếu bạn thích mã nguồn mở của người khác nhưng không muốn mang nguyên khối về, bạn chỉ cần bảo agent “hãy đưa ý tưởng này vào đồ của tôi”
Đây cũng là một cách nghĩ mới về mã nguồn
Khi chúng ta bước vào thời đại phần mềm phong phú và thường xuyên được tùy biến, giá trị của phần mềm với tư cách doanh nghiệp sẽ giảm xuống
Sẽ có rất nhiều ứng dụng tuyệt vời, và cũng sẽ có rất nhiều ứng dụng tệ
Một điều nữa đáng theo dõi là Internet rồi sẽ trở nên ồn ào đến mức nào trong thời gian tới
Nhiều ứng dụng kiểu này sẽ vận hành bằng cách gọi API và gửi ping qua lại cho nhau
Hơi lạc đề một chút, nhưng tôi thắc mắc giá trị của việc tạo hình ảnh laptop trên bàn làm việc là gì
Nó không liên quan đặc biệt nhiều, và thay vào đó có thể đưa ảnh chụp màn hình thiết lập thật như đã đăng lên vài repo, hoặc đưa thứ gì đó độc đáo hơn
Những hình ảnh na ná với bầu không khí như vậy có thể tìm rất dễ, nên tôi tự hỏi có phải có trò vui nào đó mà tôi đã bỏ lỡ không
Tuyệt vời! Và tôi ghét nó
Có lẽ chính người tạo ra nó cũng sẽ thừa nhận rằng việc làm ra bộ phần mềm này mang lại niềm vui, nhưng đó sẽ là kiểu niềm vui khác với thứ mà nhiều người ở đây có thể nhận ra
Giống như “small web” hay những phản văn hóa khác của Internet, tôi mong được trở thành một phần của nhóm những người phản biện vẫn làm mọi thứ theo cách cũ
Tôi tưởng tượng mình là người dọn dẹp đống đổ nát sau khi những người khác lao toàn lực vào mọi thứ có trợ giúp AI và đánh mất tư duy phản biện, kỹ năng lập trình, kiến thức dòng lệnh Unix, v.v.
Tôi cũng phần nào hiểu được sức hấp dẫn của việc all-in vào AI và phần mềm cá nhân hóa. Nó khá cyberpunk
Nhưng xét từ góc nhìn phần mềm mã nguồn mở thì tôi cho rằng nhược điểm lấn át ưu điểm
Những nguyên tắc quan trọng như quyền sở hữu cộng đồng và sự cam kết bị thiếu vắng, và cách tiếp cận này thậm chí còn cực đoan đến mức phản xã hội
Các vấn đề về khả năng bảo trì là điều không thể tránh khỏi, chưa kể sự phụ thuộc vào các công ty công nghệ lớn
Mỗi người có đường riêng, nhưng đây không phải con đường của tôi
Một nhóm là kiểu “chỉ cần món đồ đó tồn tại là được”, nhóm còn lại là kiểu “muốn món đồ đó tồn tại, nhưng cũng muốn tự tay làm và hiểu nó”
Nhóm thứ nhất đang có khoảng thời gian cực kỳ vui vẻ
Nhóm thứ hai, tức những người như bạn và tôi được mô tả ở trên, thì cảnh giác và hoài nghi
Có phần hơi nghịch lý. Suốt nhiều năm chúng ta xem và đọc khoa học viễn tưởng cùng cyberpunk rồi mơ về đúng thế giới này
Đã bao giờ bạn thấy tổ lái tàu Enterprise tự viết code chưa? Họ chỉ cần bảo máy tính “hãy viết một subroutine” là xong. Một thế giới quá ngầu
Nhưng giờ khi nó đã đến đây, tay nghề lại đang bị đe dọa, và tôi không còn hoàn toàn thán phục ý niệm “cứ yêu cầu rồi rời đi” nữa
Tôi cũng sợ sẽ mất đi tư duy phản biện, kỹ năng thô, và cảm quan thiết kế
Tôi cũng hình dung cảnh mình là một trong số ít người sau 2 năm, 3 năm, 5 năm, 10 năm nữa vẫn chưa trao ý thức về bản thân và tay nghề cho các lãnh chúa công nghệ
Nhưng rồi tôi cũng tự hỏi liệu điều đó có còn quan trọng không
“Mã nguồn” rốt cuộc có thể trở thành một tầng trừu tượng sâu mà chẳng ai còn nghĩ đến
Giống như 99% chúng ta cuối cùng không cần quan tâm hay biết mã máy được xuất ra cuối cùng trông ra sao và làm gì
Dù sao thì hiện tại tôi vẫn sẽ giữ lấy tư duy của mình
Khi tôi nghĩ “giá mà email/trình duyệt/lịch của tôi làm được X”, thì rất nhiều khi vấn đề thực ra là giới hạn của giao thức bên dưới
Vậy nên dù có tự làm toàn bộ phần mềm đi nữa, khi tương tác với thế giới bên ngoài thì vẫn phải chấp nhận thỏa hiệp