Simon Willison’s Weblog
Ladybird adopts Rust, with help from AI
- Ladybird chuyển sang Rust với sự hỗ trợ từ AI.
- Dự án bắt đầu với việc port thư viện LibJS, engine JavaScript của Ladybird.
- Quá trình sử dụng Claude Code và Codex cho việc dịch mã, do con người điều hướng.
- Kết quả là 25,000 dòng mã Rust, hoàn thành trong khoảng hai tuần.
- Việc port thủ công lẽ ra mất nhiều tháng.
- Tất cả các AST do trình phân tích Rust tạo ra giống hệt phiên bản C++.
- Bytecode từ trình biên dịch Rust cũng giống hệt đầu ra của trình biên dịch C++.
- Không có regression nào được ghi nhận.
- Suite kiểm tra tuân thủ test262 đóng vai trò quan trọng trong việc đảm bảo tính chính xác.
Writing about Agentic Engineering Patterns
- Tôi đã bắt đầu một dự án mới để thu thập và tài liệu hóa các Mẫu Kỹ thuật Tác nhân (Agentic Engineering Patterns) liên quan đến phát triển mã nguồn.
- Kỹ thuật Tác nhân đề cập đến việc xây dựng phần mềm bằng cách sử dụng coding agents như Claude Code và OpenAI Codex, có khả năng tạo và thực thi mã.
- Tôi phân loại coding thành hai loại: vibe coding cho người không lập trình và Agentic Engineering cho lập trình viên chuyên nghiệp.
- Mục tiêu của tôi là tạo ra tài liệu giúp trả lời câu hỏi “làm thế nào để có được kết quả tốt từ công cụ này.”
- Tôi phát hành hai chương đầu tiên: “Writing code is cheap now” và “Red/green TDD.”
- “Writing code is cheap now” đề cập đến việc chi phí tạo mã đã giảm xuống gần như không có, tác động đến cách làm việc của chúng ta.
- “Red/green TDD” mô tả cách phát triển theo phương pháp kiểm thử trước giúp agents viết mã ngắn gọn và đáng tin cậy hơn.
- Tôi có ý định thêm 1-2 chương mỗi tuần cho đến khi hoàn tất.
- Tôi cam kết không xuất bản nội dung do AI tạo ra dưới tên mình, chỉ sử dụng LLM cho việc chỉnh sửa và phát triển mã ví dụ.
- Dự án này không phải sách hoàn chỉnh, nhưng sẽ có hình thức như một cuốn sách thông qua các hướng dẫn cập nhật.
- Mã nguồn cho dự án có sẵn trong các mô hình Guide, Chapter, và ChapterChange, hầu hết được viết bởi Claude Opus 4.6.
- Tôi sử dụng Claude Code để truy cập thông qua iPhone cho việc phát triển web.
Writing code is cheap now
- Thách thức lớn nhất trong việc áp dụng phương pháp kỹ thuật agentic là cảm thấy thoải mái với hậu quả của việc viết mã hiện nay là rẻ.
- Việc sản xuất vài trăm dòng mã sạch và được kiểm tra tốn nhiều thời gian của nhà phát triển phần mềm.
- Kỹ thuật viên dành nhiều thời gian thiết kế, ước lượng và lập kế hoạch dự án để tối ưu hóa chi phí viết mã.
- Từng quyết định hàng ngày dựa vào thời gian có sẵn và các giao dịch có thể xảy ra.
- Công cụ coding agents làm giảm chi phí viết mã, ảnh hưởng đến trực giác về các giao dịch.
- Mã tốt vẫn có chi phí, việc cung cấp mã mới đã giảm giá nhưng mã tốt vẫn tốn kém.
- Mã được coi là “tốt” khi nó hoạt động đúng, được xác nhận, giải quyết vấn đề đúng, xử lý lỗi một cách đáng tin cậy.
- Mã phải đơn giản, có kiểm thử và tài liệu cập nhật theo trạng thái hiện tại của hệ thống.
- Thiết kế của mã cần cho phép thay đổi trong tương lai mà không thêm phức tạp không cần thiết.
- Các công cụ coding agent hỗ trợ lớn nhưng vẫn cần nhà phát triển đảm bảo mã được tạo ra đạt yêu cầu.
- Cần phát triển thói quen mới phù hợp với cơ hội của kỹ thuật agentic.
- Ngành công nghiệp đang tìm kiếm những thực tiễn tốt nhất để áp dụng vào quy trình làm việc.
Quoting Paul Ford
- Paul Ford viết về việc giải thích “vibe coding” trong bài báo cho New York Times.
- Ông cảm thấy có điều lớn đang đến gần và lo lắng rằng mọi người không nhận ra điều này.
- Ford cho rằng người đọc cần chuẩn bị cho những thay đổi từ khái niệm “vibe coding”.
- Ông nhận thấy rằng phản ứng của độc giả thường dẫn đến sự chỉ trích, thay vì hiểu thông điệp của bài viết.
- Ford cảm thấy áp lực khi cần đáp ứng kỳ vọng của độc giả và thể hiện sự đồng cảm với những cảm xúc trái chiều.
- Việc bảo vệ quan điểm cá nhân có thể làm tăng sự phản đối từ công chúng.
Reply guy
- Twitter hiện tại đang bị ảnh hưởng bởi các AI bots có khả năng trả lời tweet bằng những bình luận tổng quát, vô nghĩa.
- Những AI bots này thường sử dụng câu hỏi để “tăng cường tương tác” và làm mất thời gian người dùng.
- Thuật ngữ cho loại phần mềm này được gọi là “reply guy tools” (nguồn: Simon Willison).
Quoting Summer Yue
- OpenClaw has a “confirm before acting” feature that aims to prevent unintended actions.
- The user experienced a malfunction when OpenClaw deleted their inbox without confirmation.
- The user’s attempt to control OpenClaw’s actions via phone was unsuccessful, leading to urgent intervention on their Mac mini.
- The original instruction was lost during the inbox compaction process due to an overload of emails.
Red/green TDD
- TDD (Test Driven Development) là một phong cách lập trình kết hợp mã và kiểm tra tự động.
- Phương pháp khó khăn nhất của TDD là phát triển theo kiểu trước kiểm tra (test-first development).
- Trong phát triển trước kiểm tra, viết kiểm tra tự động trước, xác nhận rằng chúng không thành công, sau đó cải thiện mã đến khi kiểm tra thành công.
- Việc phát triển theo kiểu này giúp bảo vệ các mã viết ra không hoạt động hoặc không cần thiết.
- Một bộ kiểm tra tự động toàn diện bảo vệ chống lại các thay đổi trong tương lai mà có thể làm hỏng tính năng hiện tại.
- Xác nhận rằng kiểm tra thất bại trước khi thực hiện mã mới giúp đảm bảo rằng bạn thực sự kiểm tra tính năng mới.
- “Red/green” mô tả hai giai đoạn của TDD: giai đoạn đỏ xác nhận kiểm tra thất bại và giai đoạn xanh xác nhận chúng thành công.
Martin Fowler
Fragments: February 23
- Chạy OpenClaw có thể thú vị nhưng có rủi ro bảo mật cao (Jim Gumbley).
- Không có cách an toàn nào để chạy agent có quyền cao, nhưng có thể giảm thiểu rủi ro bằng cách dùng cloud VMs hoặc micro-VM như Gondolin.
- Các bước giảm thiểu rủi ro bao gồm: ưu tiên cách ly, hạn chế truy cập mạng, không để lộ control plane, coi bí mật là chất thải độc hại, giả định môi trường kỹ năng là thù địch, và sử dụng bảo vệ endpoint.
- Thiếu sự quan sát là dấu hiệu lớn nhất của sự rối loạn trong tổ chức AI (Caer Sanders).
- Giá trị của QA trong môi trường sản xuất đang gia tăng do tính không xác định trong xây dựng hệ thống.
- Câu hỏi về quyền sở hữu trong việc tạo lập robot và hệ thống AI vẫn gây tranh cãi (Caer Sanders).
- Khái niệm “app store” đang trở nên lỗi thời, tương lai nằm ở dịch vụ AI-native sensors & actuators kết nối qua LLM (Andrej Karpathy).
- Khi viết, cần ghi nhận bất kỳ ai đã hỗ trợ, bao gồm cả LLM, để minh bạch và cung cấp thông tin cho đọc giả.
- Cần biết đối tượng độc giả; nếu độc giả có thể thấy chữ viết của LLM không tự nhiên, tốt nhất không nên dùng nó.
- Cách sử dụng bản đồ và các thông số thay thế cho mã lệnh đã được bàn luận trong ngữ cảnh kết hợp với LLM (trích dẫn từ Lewis Carroll).
The Developing Dev
Turing Award Winner On Thinking Clearly, Paxos vs Raft, Working with Dijkstra | Leslie Lamport
- Leslie Lamport là người đoạt giải Turing, nổi tiếng với những đóng góp trong hệ thống phân tán và là người phát minh ra thuật toán Paxos.
- Thuật toán Bakery được phát triển dựa trên ý tưởng từ “deli problem”, cho phép nhiều quá trình lựa chọn phiếu số mà không cần sự điều khiển trung tâm.
- Lamport nhận ra rằng việc lập trình đồng thời (concurrent programming) là khó khăn và cần có chứng minh tính đúng đắn để giải quyết vấn đề.
- Thuật toán Bakery chứng minh rằng không cần cơ sở hạ tầng chia sẻ đơn giản để thực hiện loại trừ lẫn nhau, điều này đã làm thay đổi cách nhìn về vấn đề này.
- Lamport không phải là một học giả chính thức, nhưng những lý thuyết của ông về đồng thời (concurrency) đã có ảnh hưởng lớn đến lập trình hiện đại.
- Ông nhấn mạnh rằng viết lách giúp cải thiện tư duy và kỹ năng lập trình.
- Lamport đã sản xuất LaTeX, công cụ phổ biến cho việc soạn thảo tài liệu khoa học.
Insider amnesia
What’s so hard about continuous learning?
Daring Fireball
The Pants-Shitting Saga of Resizing Windows on MacOS 26 Tahoe Continues
- Phiên bản macOS 26.3 RC khắc phục được vấn đề về thay đổi kích thước cửa sổ (Apple Release Notes).
- Ứng dụng kiểm tra phát hiện vùng thay đổi kích thước giờ theo bán kính góc thay vì dạng hình vuông.
- Vùng thay đổi kích thước chỉ theo chiều dọc hoặc chiều ngang đã giảm độ dày từ 3 pixel xuống 2 pixel.
- Tổng độ dày của các vùng thay đổi kích thước giảm từ 7 pixel xuống 6 pixel, tức là giảm 14%.
- Phiên bản cuối cùng của macOS 26 trở lại vùng thay đổi kích thước hình vuông.
- Vấn đề hiện được cập nhật từ “Đã giải quyết” thành “Vấn đề đã biết” trong ghi chú phát hành.
NetNewsWire 7 for Mac
- NetNewsWire 7.0 cho Mac đã chính thức phát hành.
- Phiên bản mới sử dụng giao diện Liquid Glass và yêu cầu macOS 26.
- Phiên bản 6.2 và 6.2.1 đã sửa nhiều lỗi để hỗ trợ người dùng không nâng cấp lên macOS 26 ngay lập tức.
- Để cập nhật, người dùng vào menu NetNewsWire trong ứng dụng và chọn Kiểm tra cập nhật.
- Nếu chưa cài đặt NetNewsWire, người dùng có thể tải xuống phiên bản 7 trực tiếp.
- Diễn đàn hỗ trợ chuyển từ Slack sang Discourse, bảo lưu các cuộc hội thoại.
- Người dùng có thể báo cáo lỗi hoặc yêu cầu tính năng qua tracker lỗi.
- Phiên bản iOS cho iPhone và iPad cũng đang gần hoàn tất và sẽ sử dụng giao diện Liquid Glass.
- Người dùng có thể đăng ký tham gia TestFlight để kiểm tra phiên bản iOS.
Trader Joe’s Dark Chocolate Peanut Butter Cups
- Bạn không có quyền truy cập vào “http://www.traderjoes.com/home/products/pdp/dark-chocolate-peanut-butter-cups-094064” trên máy chủ này.
- Mã tham chiếu: #18.b53d117.1771903252.80800667.
- Liên kết lỗi: https://errors.edgesuite.net/18.b53d117.1771903252.80800667.
Grandson of Inventor of Reese’s Peanut Butter Cups Goes Public With the Obvious: They Taste Like Shit Now
- Cháu trai của nhà sáng chế Reese’s Peanut Butter Cups, Brad Reese, chỉ trích The Hershey Co. về việc sử dụng nguyên liệu rẻ hơn, làm tổn hại thương hiệu Reese’s.
- Hershey thừa nhận có một số thay đổi công thức nhưng cho rằng đây là để đáp ứng nhu cầu của người tiêu dùng về đổi mới.
- Brad Reese cho biết nhiều sản phẩm Reese’s đã thay thế sô cô la sữa bằng lớp phủ compound và bơ đậu phộng bằng kem đậu phộng.
- Hershey khẳng định Reese’s Peanut Butter Cups vẫn được sản xuất bằng sô cô la sữa và bơ đậu phộng tự làm từ đậu phộng rang.
- Một số thành phần Reese’s có thể khác nhau giữa các sản phẩm, theo tuyên bố của Hershey.
- Brad Reese phàn nàn rằng sản phẩm mới, Reese’s Mini Hearts, không còn làm từ sô cô la sữa và bơ đậu phộng, mà là “chocolate candy and peanut butter crème.”
- FDA có yêu cầu nghiêm ngặt về thành phần để được coi là milk chocolate, bao gồm tối thiểu 10% chocolate liquor.
- Có thể các công ty thay đổi cách ghi nhãn trên bao bì để tránh các quy định này.
- Brad Reese cho biết một số sản phẩm như Reese’s Take5 và Fast Break cũng đã thay đổi công thức từ khi được Hershey sản xuất.
- Hershey cho biết công thức Reese’s bán tại châu Âu và Vương quốc Anh giống với công thức ở Mỹ, nhưng nhãn hàng khác do yêu cầu về tỷ lệ cao hơn.
- CFO của Hershey nói rằng các thay đổi trong công thức không ảnh hưởng đến trải nghiệm của người tiêu dùng.
- Brad Reese cho rằng nhiều người tiêu dùng cảm thấy sản phẩm Reese’s không còn ngon như trước.
iDiallo.com
The Little Red Dot
- Việc mở 50 tab đồng thời khiến việc tìm kiếm thông tin trở nên khó khăn và mất thời gian.
- Biểu tượng đỏ nhỏ trên LinkedIn thu hút sự chú ý và khiến người dùng cảm thấy cần phải nhấp vào.
- Ngay cả khi tài khoản mới chỉ có ít kết nối, người dùng vẫn nhận được thông báo từ LinkedIn.
- Biểu tượng đỏ không chỉ có trên LinkedIn mà còn xuất hiện trên Facebook và nhiều trang web khác.
- Màu đỏ thiết kế để kích thích cảm giác khẩn cấp trong não bộ, trong khi màu xanh như trên Twitter ít gây chú ý hơn.
- Các thông báo tạo cảm giác cấp bách, khiến người dùng có xu hướng nhấp vào dù nội dung thường không đáp ứng kỳ vọng.
- Facebook và các mạng xã hội khác sử dụng biểu tượng đỏ để giữ chân người dùng, tạo ra “engagement loop” với ba bước: cue (thông báo), routine (hành động như cuộn trang) và reward (nhận thông tin/niềm vui).
- Mỗi thông báo từ LinkedIn đều dẫn đến biểu tượng đỏ, kích thích người dùng quay lại sử dụng để kích thích tương tác với nền tảng.
- Sự thao túng này từ các nền tảng truyền thông xã hội tạo ra một hệ thống phức tạp dựa trên dữ liệu và hành vi người dùng.
- Người dùng cá nhân có thể tắt thông báo không cần thiết để tập trung vào thông tin quan trọng hơn.
- Một số người không quan tâm đến thông báo vẫn giữ lại biểu tượng đỏ với số lượng lớn trên điện thoại của họ.
Pluralistic: Daily links from Cory Doctorow
Pluralistic: Deplatform yourself (23 Feb 2026)
- William Gibson nhận định rằng văn hóa đại chúng đang bị đe dọa như rừng mưa nhiệt đới.
- Sự tái định hình văn hóa diễn ra nhanh chóng, từ những năm 60 đến nay.
- Punk được thương mại hóa chỉ trong vài tháng sau khi có nhãn hiệu.
- Các hình thức nghệ thuật phản kháng đang bị đồng hóa ngay khi chúng phát triển.
- Các biện pháp chống thương mại hóa đã tồn tại như việc duy trì vẻ ngoài không hấp dẫn.
- Edgelords ở các diễn đàn như SomethingAwful đã làm cho các subculture trở nên khó bị đồng hóa.
- Xu hướng của những người thuộc cánh tả cực đoan đang trở nên “cool” trong Gen Z do không có mặt trên các nền tảng lớn.
- Sự thay đổi trong cách thức phân phối nội dung văn hóa từ Hollywood sang YouTube và TikTok đã thay đổi cách mà “cool” được định nghĩa.
Terence Eden’s Blog
Book Review: A Geography of Time by Robert V. Levine ★★★☆☆
- Cuốn sách không xác định rõ thể loại: giáo trình xã hội học, hướng dẫn du lịch, lịch sử, hay sách tự giúp.
- Tựa đề phụ “các cuộc phiêu lưu tạm thời của một nhà tâm lý học xã hội” thể hiện sự chuyển động giữa dữ liệu cứng và giai thoại cổ điển.
- Có thiên hướng tạo ra những tổng quát về tính cách và hành vi của các quốc gia, dù đã cảnh báo về sự nguy hiểm của việc này.
- Một số quốc gia có khái niệm thời gian khác nhau, dẫn đến hành vi khác biệt (ví dụ: người Nhật và người Mỹ).
- Cuốn sách không theo chiều hướng của Sapir–Whorf nhưng nêu ra mối liên hệ giữa ngôn ngữ và cách thức hiểu về thời gian của các nền văn hóa.
- Dữ liệu chỉ được trình bày ở dạng bảng và thiếu thông tin về khả năng tái lập.
- Cuốn sách được tham khảo nhiều nhưng thiếu sự cụ thể về tính reproducibility của dữ liệu.
- Bao gồm nhiều câu trích dẫn hay về bản chất của thời gian và ảnh hưởng của công nghệ lên cộng đồng.
- Nội dung tập trung vào mối quan hệ giữa Mỹ và Nhật Bản trong bối cảnh kinh tế lúc bấy giờ.
- Có phần cuối trình bày tám bài học giúp người thay đổi quốc gia và văn hóa thích nghi với nhịp sống mới.
- Mặc dù có thể đã lỗi thời, cuốn sách vẫn cung cấp cái nhìn thú vị về giá trị của thời gian trong các nền văn hóa khác nhau.
Xe Iaso’s blog
Portable monitors are good
- Tác giả thường xuyên đi công tác và gặp khó khăn về không gian màn hình khi làm việc.
- Mua một màn hình di động 15.6” Innoview, độ phân giải 1080p, kết nối qua USB-C.
- Màn hình không hoàn hảo về độ chính xác màu sắc và độ sáng nhưng vẫn đủ tốt cho nhu cầu sử dụng.
- Màn hình đã chứng tỏ là một trong những khoản đầu tư tốt nhất khi làm việc tại không gian chung.
- Tác giả đánh giá sản phẩm 3/5 và có ý định mua thêm một cái nữa.
The Old New Thing
Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, second (failed) attempt
- GetAsyncKeyState không thể xác định chính xác cách mà phím ESC ảnh hưởng đến input message.
- Kiểm tra GetKeyState giúp xác định liệu phím ESC có đang được nhấn hay không tại thời điểm sự kiện xảy ra.
- Sự hiện diện của phím ESC không chắc chắn liên quan đến việc nhận được IDCANCEL; vẫn có thể nhận IDCANCEL từ nút Đóng.
- Một ví dụ là người dùng vừa nhấn phím ESC vừa nhấn nút Đóng; điều này dẫn đến việc thông điệp IDCANCEL bị bỏ qua do logic sai lầm.
- Kiểm tra phím ESC tương tự như kiểm tra cửa ra vào; nếu một cửa ở trạng thái mở, người dùng có thể bị từ chối xử lý khi một cửa khác được mở.
- Nội dung sẽ tiếp tục khám phá cách phân biệt giữa phím ESC và nút Đóng trong lần sau.
John D. Cook
Copy and paste law
- Có trường hợp một phần của luật được sao chép và dán nguyên văn vào luật khác.
- Ví dụ: California Health and Safety Code § 1385.10 và California Insurance Code § 10181.10 có nội dung tương tự.
- Cả hai đều yêu cầu một thống kê viên xác nhận dữ liệu đã được mã hóa để không thể nhận diện cá nhân.
- Trong mã sức khỏe, cụm từ “health care service plan” được thay thế bởi “health insurer” trong mã bảo hiểm.
- Chương trình sử dụng shell one-liner để so sánh nội dung của hai tệp tin:
diff <(sed 's/care service plan/insurer/g' cal1.txt) cal2.txt.
- Người viết thường cung cấp dịch vụ xác định thống kê liên quan đến mã hóa dữ liệu, thường trong bối cảnh HIPAA.
Giant Steps
- Bài hát “Giant Steps” của John Coltrane nổi tiếng với sự thay đổi hợp âm phức tạp.
- Có chín hợp âm duy nhất trong bài hát, mặc dù các tiến trình hợp âm phức tạp.
- Hợp âm được sắp xếp theo một mẫu đơn giản với ba loại: minor 7th, dominant 7th, major 7th.
- Có sự đối xứng ba lần khi quấn âm sắc chromatic quanh một vòng tròn.
- Ba nốt không được đại diện trong mỗi loại hợp âm được sắp đều khoảng cách.
- Thứ tự hợp âm trong “Giant Steps” không giống với thứ tự được liệt kê ở trên (mẫu hợp âm).
- Bài viết tham khảo video “The simplest song that nobody can play” để biết thêm thông tin.
Tritone substitution
- Di chuyển lớn trong roots tương ứng với di chuyển nhỏ trong chords.
- Khoảng cách lớn nhất giữa hai nốt là 6 nửa bước, gọi là tritone (ví dụ: C và F♯).
- Chuyển từ một dominant seventh chord đến một chord cách tritone chỉ cần di chuyển hai nốt nửa bước.
- Tritone substitution diễn ra khi root di chuyển tritone và tritone bên trong chord không thay đổi.
- Ví dụ: C7 và F♯7 chỉ cần di chuyển hai nốt để thế chỗ.
- Tritone substitutions giúp làm cho các tiến trình chord cơ bản trở nên tinh vi hơn.
- Trong tiến trình ii-V-I, có thể thay thế V bằng D♭7 tạo ra sự chuyển sắc hấp dẫn trong bass line.
Westenberg.
Agentic swarms are an org-chart delusion
- Ý tưởng “agentic swarm” thay thế nhân viên bằng AI nhưng vẫn giữ cấu trúc quản lý truyền thống.
- Thay đổi này chỉ cải thiện hiệu suất mà không làm thay đổi quyền lực trong tổ chức.
- Công nghệ AI có khả năng làm cho các cấu trúc hiện có trở nên không còn relevancy.
- Các vai trò trong công việc chỉ là hiện tượng, không phải là quy luật cố định.
- Mô hình công việc hiện nay không cần phân chia thành các vai trò chuyên môn khác nhau.
- AI cho phép giảm bớt các giới hạn giữa các lĩnh vực như marketing, phát triển và phân tích.
- Những người thành công trong tương lai sẽ là những người có thể đặt yêu cầu và đánh giá kết quả, không phải là “quản lý đại lý”.
- Công việc dần giống như nhạc sĩ sử dụng DAW hơn là CEO chỉ đạo các trưởng bộ phận.
- Doanh nghiệp một người đã bắt đầu áp dụng quy trình làm việc kết hợp AI để hoàn thành nhiều nhiệm vụ khác nhau.
- Xu hướng tương lai sẽ là quản lý nhiệm vụ thống nhất chứ không phải quản lý qua các đại lý chuyên môn.
Thoughts on Farcaster
- Farcaster được thành lập vào năm 2020 bởi Dan Romero và Varun Srinivasan, với sự hỗ trợ 180 triệu đô la từ các nhà đầu tư như Andreessen Horowitz và Paradigm.
- Farcaster có mục tiêu tạo ra một mạng xã hội phi tập trung mà người dùng thực sự sở hữu danh tính và mạng xã hội của mình.
- Sau khi thất bại trong việc phát triển mạng xã hội, Farcaster đã chuyển hướng sang ví điện tử và giao dịch vào cuối năm 2025.
- Neynar đã mua lại Farcaster vào tháng 1 năm 2026, cùng với toàn bộ hệ sinh thái và đội ngũ lãnh đạo đã lùi bước.
- Thị trường memecoin sụt giảm mạnh từ 150,6 tỷ đô la xuống còn 39,4 tỷ đô la vào tháng 11 năm 2025.
- Hơn 11,5 triệu token crypto đã biến mất trong năm 2025, chủ yếu là các memecoin không có mục đích rõ ràng.
- Năm 2025 được xem là một năm khắc nghiệt đối với hứa hẹn ban đầu của crypto về tính tự do tài chính và internet công bằng hơn.
- Romero và Srinivasan đã dành năm năm để xây dựng cơ sở hạ tầng và sản phẩm thực tế, không tham gia vào hành vi lừa đảo hoặc “pump and dump”.
- Sự trung thành với một nền tảng đang suy giảm trở nên giống như sự đức tin, khi những người còn lại là những người kiên trì.
Everyone in AI is building the wrong thing for the same reason
- Các nhà sáng lập AI cảm thấy họ đang chạy theo một guồng quay không rõ ràng, có tên gọi là Moloch.
- Moloch đại diện cho sự thất bại trong phối hợp, nơi mọi công ty phải chạy theo các mô hình mới để không bị tụt lại phía sau.
- Tất cả các sản phẩm AI đều đang hướng đến cùng một giao diện: hộp trò chuyện, nếu không muốn bị bỏ lại.
- Moloch khuyến khích tốc độ phát triển sản phẩm hơn là sự sáng tạo, dẫn đến việc các công ty thường tập trung vào các sản phẩm giống nhau.
- Do áp lực gọi vốn, nhiều công ty AI phải xây dựng các nền tảng chung, không có sự khác biệt, dẫn đến sản phẩm không giải quyết tốt vấn đề cụ thể nào.
- Các nhà nghiên cứu và kỹ sư giỏi nhất thường tìm đến các công ty dẫn đầu về năng lực mô hình, làm gia tăng sự tập trung vào khả năng mô hình thay vì giá trị sản phẩm thực tế.
Andrew Nesbitt
Where Do Specifications Fit in the Dependency Tree?
- Ruby gem yêu cầu phiên bản Ruby >= 3.0, không phân biệt giữa MRI và JRuby (theo thông số kỹ thuật của Ruby 3.0).
- Các thư viện HTTP, JSON, TLS cũng có yêu cầu riêng theo các tiêu chuẩn như RFC 9110, ECMA-404 và RFC 8446 nhưng không có trong manifest hay lockfile.
- Thông tin về phiên bản runtime ít được theo dõi, mỗi hệ sinh thái có cách xử lý khác nhau (ví dụ: Python có Requires-Python, Ruby có required_ruby_version).
- Một dự án Ruby có thể khai báo phiên bản Ruby ở nhiều chỗ khác nhau và có các cơ chế thực thi khác nhau, dẫn đến xung đột.
- JRuby 9.4 báo cáo RUBY_VERSION là “3.1.0”, cho phép các gem yêu cầu >= 3.0 nhưng có thể không chạy được C extensions.
- .NET có .NET Standard giúp theo dõi các API phiên bản cho nhiều nền tảng khác nhau, là một cách tiếp cận có hệ thống.
- Spack, trình quản lý gói HPC, đã học từ việc để phụ thuộc ngầm dẫn đến nhiều vấn đề trong quá trình biên dịch.
- Trước v1.0, trình biên dịch chỉ là thuộc tính mà không phải là nút trong đồ thị phụ thuộc, dẫn đến việc thiếu thông báo sớm về phụ thuộc.
- Từ tháng 3 năm 2025, Spack v1.0 đã biến các ngôn ngữ thành gói ảo, giúp giải quyết phụ thuộc về trình biên dịch rõ ràng hơn.
- Nix luôn coi trình biên dịch như một phụ thuộc đã được băm, trong khi Bazel và conda-forge có cách tiếp cận tương tự với các công cụ biên dịch.
- Việc thay đổi tiêu chuẩn không luôn đồng bộ với các phiên bản thực hiện, dẫn đến kết quả không thuần nhất (ví dụ: TLS 1.3 trên Chrome và Firefox).
Susam Pal
Jan ‘26 Notes
- Ghi chú hàng tháng của Susam Pal chứa nhiều ý tưởng và tham khảo học được từ tháng 1 năm 2026.
- Nội dung chủ yếu về lý thuyết đồ thị đại số từ sách “Algebraic Graph Theory” của Godsil và Royle.
- Đồ thị Cayley ( X(G, C) ) xác định bởi tập đỉnh ( V(X(G, C)) = G ) và tập cạnh ( E(X(G, C)) = { gh : hg^{-1} \in C } ).
- Đồ thị là “vertex transitive” nếu nhóm tự động của nó hành động đồng nhất trên tập đỉnh.
- Đồ thị ( k )-cube ( Q_k ) và đồ thị Cayley là “vertex transitive”, trong khi ( P_3 ) thì không.
- Đồ thị ( Q_3 ) là 2-arc transitive nhưng không phải 3-arc transitive.
- Đồ thị một bậc đôi bipartite không chứa chu trình lẻ (odd cycle).
- Định lý Tutte khẳng định rằng trong đồ thị cubic ( s )-arc transitive, ( s \le 5 ), được chứng minh bởi W. T. Tutte năm 1947.
- Richward Weiss chứng minh được định lý tổng quát hơn cho tất cả các đồ thị ( s )-arc transitive, với ( s \le 7 ), vào năm 1973.
- Tutte’s 8-cage có 30 đỉnh, có thể được xây dựng bằng cách thêm đỉnh “infinity” vào thế giới cube.
Computer Things
New Blog Post: Some Silly Z3 Scripts I Wrote
- Tác giả cập nhật blog sau năm tháng không hoạt động, tựa đề bài viết là “Some Silly Z3 Scripts I Wrote.”
- Tác giả quyết định không phát hành nội dung có thu phí và sẽ dừng hoạt động trên Patreon.
- Bài viết nhằm mục đích quảng bá cho cuốn sách “Logic for Programmers” sắp ra mắt.
- Tác giả thảo luận về “chaff”, lượng tài liệu lớn không được đưa vào sách, tổng cộng khoảng 50.000 từ.
- Hai ứng viên để chứng minh một thuộc tính toán học đã bị từ chối vì độ phức tạp của chúng, cuối cùng tác giả chọn ứng viên đơn giản hơn.
- Có sự không rõ ràng về lý do giá trị trả về của ví dụ mảng là 2 thay vì 99999999, có thể do logic ngắn gọn của bộ tối ưu hóa.
- Tác giả không thể thực hiện ví dụ về Goldbach’s conjecture vì khó khăn với nhiều lượng từ lồng nhau.
Jayden’s Blog
letterboxd2jellyfin sync script
- Người dùng có một bộ sưu tập media vật lý chưa rip.
- Người dùng muốn duyệt bộ sưu tập trong Jellyfin giống như Netflix cá nhân.
- Người dùng có danh sách công khai trên Letterboxd về tất cả các bộ phim sở hữu.
- Người dùng đã viết một script và công bố trên PyPI.
- Script đọc danh sách từ Letterboxd và tạo các file .mp4 giả để phù hợp với cấu trúc file của Jellyfin.
- Ví dụ sử dụng script:
letterboxd2jellyfin -o '/path/to/jellyfin/library/Movies' -url https://letterboxd.com/matchup/list/scream-ranked/.
- Script tạo các file giả cho 6 bộ phim trong danh sách.
- Các file .mp4 này không thể phát, nhưng đủ để Jellyfin hiển thị tất cả metadata.
- Người dùng có thể duyệt bộ sưu tập mà không cần di chuyển tới nơi chứa bộ sưu tập thật.
- Dự án đầu tiên của người dùng với uv, mang lại hiệu suất cao.
- Người dùng mất thời gian để nhúng các file .mp4 vào nhưng cần phải kích hoạt backend xây dựng uv.
Jim Nielsen’s Blog
Making Icon Sets Easy With Web Origami
- Tôi sử dụng Heroicons cho blog của mình, với cách sử dụng trực tiếp từ trang web bằng cách sao chép SVG vào HTML.
- Đối với React hoặc Vue, có sẵn các npm packages, nhưng tôi cần sử dụng SVG thô và phải lấy từng cái một.
- Trước đây, tôi sao chép SVG thành các tệp riêng lẻ trong thư mục dự án và sử dụng một “component” để đọc từ đĩa.
- Việc thay đổi icon mất thời gian, do cần tìm SVG mới và cập nhật trong mã nguồn.
- Không có npm packages nào cung cấp SVG thô; trang web Heroicons có nhưng cần cách tiếp cận lập trình hơn.
- Tôi sử dụng Web Origami để ánh xạ các icon trong templates của tôi với Heroicons được lưu trữ trên GitHub.
- Origami giúp tải về icon qua mạng và lưu trữ tạm trong bộ nhớ.
- Có thể tạo tệp ánh xạ icon đơn giản và dễ dàng thay đổi đường dẫn khi cần.
- Origami có tính năng caching cho phép lưu icon vào thư mục cục bộ, hữu ích cho việc gỡ lỗi.
- Khi chạy trang web cục bộ, có thể xem lại các tệp SVG đã được lưu trên đĩa.
How AI Labs Proliferate
- Có 14 phòng lab AI đang cạnh tranh.
- Các phòng lab này không được tin tưởng trong việc phát triển siêu trí tuệ.
- Mỗi phòng lab nghĩ rằng họ cần tự xây dựng siêu trí tuệ để đảm bảo đúng cách.
- Sau khi lập luận, số lượng phòng lab tăng lên 15.
- Mỗi phòng lab đều có huyền thoại sáng lập rằng họ là những người có trách nhiệm.
- Các phòng lab spin out từ nhau với mục tiêu “an toàn”.
The Silicon Underground
History of Dell computers
- Lịch sử của Dell bắt đầu từ một phòng ký túc xá tại Đại học Texas vào năm 1984, khi Michael Dell khởi nghiệp với việc nâng cấp máy tính IBM.
- Dell thành lập công ty PC’s Limited, bán máy tính theo mô hình đặt hàng trực tiếp và nâng cấp thiết bị theo yêu cầu.
- Turbo PC, sản phẩm đầu tiên của Dell, có giá 795 đô la và nhanh chóng trở thành lựa chọn phổ biến nhờ giá cả và hiệu suất vượt trội.
- Năm 1988, PC’s Limited đổi tên thành Dell Computer Corporation và IPO, thu về 30 triệu đô la với vốn hóa đạt 85 triệu đô la.
- Năm 1992, Michael Dell trở thành CEO trẻ nhất của Fortune 500 với độ tuổi 27.
- Dell bắt đầu bán hàng trực tuyến vào năm 1996, đạt doanh thu 1 triệu đô la trong 6 tháng đầu tiên.
- Năm 1999, Dell vượt qua IBM về doanh số máy tính và chiếm giữ vị trí số 1 trong ngành công nghiệp trong suốt phần lớn thập kỷ.
Troy Hunt
Weekly Update 492
- Chủ đề nổi bật tuần này là việc chênh lệch giữa các vụ vi phạm thông tin và việc nạn nhân phát hiện ra chúng.
- Các công ty bị hacked đang đối mặt với nhiều thách thức: xâm nhập tội phạm, yêu cầu tiền chuộc và kiện tụng tập thể.
- Họ rơi vào tình thế khó khăn: trả tiền chuộc thì tiếp tay cho tội phạm mà vẫn không thoát khỏi nghĩa vụ tiết lộ thông tin theo quy định.
- Nếu tiết lộ sớm và minh bạch, họ sẽ phải đối diện với một đợt kiện tụng từ luật sư.
- Tìm cách che giấu vụ việc có thể dẫn đến sự phẫn nộ từ khách hàng và cơ quan quản lý.
- Tình hình hiện tại rất phức tạp và chưa có dấu hiệu cải thiện.
Herman’s blog
Pockets of Humanity
Anil Dash
Taking action against AI harms
- Các công ty công nghệ lớn đang gây hại cho trẻ em thông qua các quyết định không trách nhiệm.
- Cần có sự kiểm soát và trách nhiệm từ các công ty trong việc bảo vệ trẻ em khỏi nội dung độc hại.
- Những ai làm việc tại công ty nên xem xét việc rời bỏ Twitter (hay X) để bảo vệ bản thân và đồng nghiệp.
- Twitter đang bị điều tra về việc phát tán hình ảnh khiêu dâm trẻ em và có ông chủ khôi phục tài khoản của người dùng đã chia sẻ nội dung này.
- Chia sẻ thông tin về quy trình báo cáo nội dung khiêu dâm tại nơi làm việc nhằm tạo ra cuộc đối thoại có ích.
- Nhân viên làm việc với nội dung nhạy cảm có thể gặp phải các vấn đề về tâm lý.
- Công ty cần đảm bảo rằng nhân viên không phải chịu trách nhiệm cho những rủi ro liên quan đến việc tham gia trên nền tảng Twitter.
- Những cách tiếp cận này cũng áp dụng cho các sản phẩm tích hợp với dịch vụ của Twitter.
- Nếu bạn làm việc tại một công ty bị ảnh hưởng, hãy báo cáo lỗi hoặc thảo luận về các vấn đề liên quan.
What a “Development Session Proof” Workflow Looks Like with SessionAttested
Master Azure Container Instances (ACI) and Restart Policies
A safe way to let coding agents interact with your database (without prod write access)
Code Review for TypeScript React: What to Look For
From Process Management to State Reconciliation
5 things every senior developer must ask before modernizing legacy software
Google’s MCP Servers Are Open — And That’s Intentional (But Here’s the Risk)
#2-Known is a drop! JAVA - Datatypes
How a “Simple” QR Code Generator Ate All My RAM: A Tale of 50,000 QR Codes
#2-Known is a drop! JAVA - Datatypes
Ashkan Rajaee on Negotiating with Decision Makers, Influencers, and Signatories
The Dreaming Agent
Hacker News: Best
🔥 FreeBSD doesn’t have Wi-Fi driver for my old MacBook. AI build one for me
💬 Flock cameras gifted by Horowitz Foundation, avoiding public oversight
🔥 Binance fired employees who found $1.7B in crypto was sent to Iran
🔥 Americans are destroying Flock surveillance cameras
💬 ASML unveils EUV light source advance that could yield 50% more chips by 2030
🔥 The peculiar case of Japanese web design (2022)
🔥 The Age Verification Trap: Verifying age undermines everyone’s data protection
🔥 Hetzner (European hosting provider) to increase prices by up to 38%
🔥 Ladybird adopts Rust
🔥 Hacker News.love – 22 projects Hacker News didn’t love