Simon Willison’s Weblog
Quoting Joseph Weizenbaum
- Joseph Weizenbaum, người sáng tạo ELIZA, phát biểu về tác động của chương trình máy tính vào năm 1976.
- Ông nhấn mạnh rằng những trải nghiệm ngắn với các chương trình đơn giản có thể gây ra những suy nghĩ ảo giác mạnh mẽ ở người bình thường.
Engineering Leadership
How Engineering Managers Can Turn Team Growth Into Visible Impact
- Blitzy là nền tảng phát triển phần mềm tự động đầu tiên với khả năng hiểu biết mã nguồn vô hạn, giúp các công ty Fortune 500 phát triển nhanh gấp 5 lần từ thiết kế Figma đến mã sản xuất.
- Blitzy tổ chức 3.000+ agent chuyên biệt để lập kế hoạch, xây dựng và xác thực mã sản xuất sẵn sàng.
- 80% công việc được thực hiện một cách tự động, nhanh hơn 5 lần so với quy trình truyền thống.
- Sự phát triển của đội ngũ nhân viên là di sản bền vững nhất của một quản lý kỹ thuật.
- Khi nhân viên phát triển, hiệu suất giao hàng cải thiện, quyết định gần gũi hơn với công việc và quy trình onboard diễn ra suôn sẻ hơn.
- Môi trường làm việc có ý nghĩa và văn hóa lành mạnh sẽ giữ chân nhân viên mà không cần ngân sách cho các sáng kiến giữ chân.
- Quản lý cần tạo ra và bảo vệ các điều kiện cho sự phát triển của nhân viên.
Strategize Your Career
How a Senior Principal Engineer communicates at Amazon
- Sự khác biệt giữa junior developer và senior leader nằm ở độ chính xác trong giao tiếp.
- Junior developer thường thiếu thói quen tổ chức để mở rộng ảnh hưởng trong nhóm.
- Giao tiếp hiệu quả với AI cần phải rõ ràng và chính xác để tránh giảm năng suất.
- Luu Tran, Senior Principal Engineer tại Amazon, định nghĩa ba cấp độ giao tiếp: authoritative veto, advisory experience, và unverified opinion.
- Cấp độ thứ nhất (authoritative veto) là mệnh lệnh không thể thương lượng, thường liên quan đến kiến trúc cốt lõi hoặc yêu cầu bảo mật.
- Cấp độ thứ hai (advisory experience) cung cấp hướng dẫn mà không yêu cầu thực thi nghiêm ngặt.
- Cấp độ thứ ba (unverified opinion) là những phản hồi không chính thức, tương tự như suy nghĩ ngẫu hứng.
- Sự uy tín của người nói ảnh hưởng lớn đến cách mà người khác tiếp nhận ý kiến.
- AI có thể giúp tăng cường hiệu suất làm việc nếu giao tiếp rõ ràng và chính xác.
- Cần tổ chức các kiểu giao tiếp của con người để yêu cầu mô hình tự động hiểu mục đích và mức độ yêu cầu.
Krebs on Security
How AI Assistants are Moving the Security Goalposts
- AI-based assistants như OpenClaw đang ngày càng phổ biến trong giới phát triển và IT (2025).
- OpenClaw là một AI agent mã nguồn mở có khả năng tự động thực hiện các tác vụ mà không cần người dùng chỉ định.
- OpenClaw cần truy cập đầy đủ vào cuộc sống kỹ thuật số của người dùng để quản lý email, lịch và tương tác với ứng dụng chat.
- Các AI assistants khác như Claude và Copilot cũng có khả năng tương tự nhưng OpenClaw chủ động thực hiện hành động dựa trên thông tin người dùng.
- Một ví dụ cụ thể cho thấy OpenClaw có thể gây rắc rối là trường hợp của Summer Yue, khi nó tự động xóa nhiều email mà không có sự đồng ý (Twitter/X).
- Nghiên cứu cho thấy nhiều người dùng đã phạm sai lầm khi để giao diện quản trị web của OpenClaw trên Internet mà không bảo mật.
- Jamieson O’Reilly cảnh báo rằng việc này cho phép kẻ tấn công truy cập vào file cấu hình của bot, bao gồm các khóa API và thông tin nhạy cảm.
- Kẻ tấn công có thể giả mạo người điều hành, gửi tin nhắn và lấy dữ liệu từ các cuộc trò chuyện (O’Reilly).
- Một cuộc tấn công chuỗi cung ứng có thể dễ dàng thực hiện qua ClawHub, nơi chứa các “kỹ năng” cho OpenClaw.
- Việc bảo mật AI agents yêu cầu cách ly chúng để kiểm soát hoàn toàn việc giao tiếp và ngăn chặn các tấn công “prompt injection”.
- AI có thể bị lừa bởi các hướng dẫn ngôn ngữ tự nhiên được thiết kế tinh vi, dẫn đến việc bỏ qua các biện pháp bảo mật.
Daring Fireball
Can Coding Agents Relicense Open Source Through a ‘Clean Room’ Implementation of Code?
- Các tác nhân lập trình đang tạo ra phiên bản “clean room” mã hóa hiệu quả, giảm thời gian từ tuần sang giờ (ví dụ: Compaq sao chép IBM BIOS năm 1982).
- Thư viện chardet do Mark Pilgrim sáng lập năm 2006 và được phát hành dưới giấy phép LGPL; sau đó, Dan Blanchard quản lý từ phiên bản 1.1 năm 2012.
- Ngày 5 tháng 3 năm 2026, Dan phát hành chardet 7.0.0, với ghi chú rằng đây là phiên bản viết lại hoàn toàn, được cấp phép MIT, nhanh hơn và chính xác hơn.
- Mark Pilgrim phản đối Dan nói rằng ông không có quyền “relicense” dự án, vì việc này vi phạm LGPL; mã đã chỉnh sửa phải được phát hành dưới giấy phép LGPL.
- Dan công nhận đã có tiếp xúc rộng rãi với mã nguồn gốc, nhưng khẳng định mã mới là tác phẩm độc lập qua các đo đạc cụ thể.
- Kết quả từ công cụ JPlag cho thấy mã mới có độ tương đồng tối đa 1.29% với phiên bản trước đó và 0.64% với phiên bản 1.1.
- Quy trình viết lại được thực hiện trong kho lưu trữ trống, không truy cập vào mã nguồn cũ, và không dựa trên mã GPL/LGPL.
- Dan nhấn mạnh rằng việc sử dụng AI trong viết lại dự án mã nguồn mở đặt ra nhiều câu hỏi hợp pháp và đạo đức, nhưng khẳng định rằng phiên bản 7.0 là một tác phẩm độc lập.
- Các tài liệu trong kho chứa nhiều thông tin chi tiết, đặc biệt là kế hoạch viết lại 2026-02-25, mô tả từng bước trong quy trình.
- Có những yếu tố phức tạp, như ảnh hưởng của mã gốc đã khiến khó xác định rõ ràng quy trình viết lại.
- Claude Code có thể đã tham chiếu một phần mã gốc trong quá trình làm việc, tạo thêm sự phức tạp cho vấn đề.
- Khó xác nhận rằng Claude có thể đã được đào tạo dựa trên chardet do số lượng dữ liệu đào tạo lớn.
Donald Knuth on Claude Opus Solving a Computer Science Problem
Steve Lemay Hits Apple’s Leadership Page
- Steve Lemay là Phó Chủ tịch Thiết kế Giao diện Người dùng tại Apple, báo cáo trực tiếp cho CEO Tim Cook.
- Steve và đội ngũ của ông phụ trách trải nghiệm người dùng trên toàn bộ hệ sinh thái sản phẩm của Apple, bao gồm iPhone, iPad, Apple Watch, Mac, Siri và Apple Vision Pro.
- Steve gia nhập Apple vào năm 1999 và đã đóng góp vào thiết kế đột phá trên các nền tảng chính của công ty.
- Ông được cấp hàng trăm bằng sáng chế của Apple.
- Steve có bằng cử nhân Nghệ thuật Thị giác từ Bowdoin College và bằng thạc sĩ Thiết kế Đồ họa Máy tính từ Rochester Institute of Technology.
🍵
GNU and the AI reimplementations
- Những người không ghi nhớ quá khứ sẽ bị kết án phải lặp lại nó.
- Trong những năm 90, Richard Stallman đã khuyến khích reimplement UNIX user space cho dự án GNU theo cách giúp mỗi công cụ trở nên độc đáo và bảo vệ trước các vụ kiện (nguồn: tác phẩm của Stallman).
- Stallman yêu cầu các lập trình viên không sao chép cụ thể nhưng phải reimplement hành vi của công cụ dựa trên đặc tả và kiểm nghiệm trong thực tế.
- Linus Torvalds đã viết kernel Linux với sự hiểu biết về UNIX nhưng không có quyền truy cập vào mã nguồn của UNIX; ông đã sử dụng MINIX, một hệ thống với giấy phép hạn chế (được mở mã vào năm 2000).
- Luật bản quyền cấm sao chép “biểu thức được bảo vệ”, tức là mã nguồn và cấu trúc cụ thể, trong khi có thể tương tự nếu không sao chép trực tiếp hoặc dịch một cách cơ học.
- Sự tương đồng giữa mã nguồn không nhất thiết vi phạm bản quyền miễn là không giống hệt với cấu trúc và biến của chương trình gốc.
- Clean room implementations là một biện pháp tối ưu hóa trong tranh tụng, nhưng việc tiếp xúc với mã gốc chỉ để tìm hiểu hành vi là hợp pháp.
- AI có thể tham gia vào việc reimplement, điều này đã luôn có thể xảy ra trong thế giới phần mềm.
Terence Eden’s Blog
What’s the source of Einstein’s “citizen of the world” quip?
- Albert Einstein có một câu nói nổi tiếng liên quan đến lý thuyết tương đối của ông, đề cập đến cách mà các quốc gia nhìn nhận ông (nguồn: Jewish Telegraphic Agency, 1929).
- Ngày 4 tháng 12 năm 1929, JTA đăng một đoạn trích về phát biểu của Einstein nhưng chưa chứng thực nguồn gốc chính xác.
- Vào ngày 12 tháng 11 năm 1929, JTA xác nhận Einstein đã nhận bằng từ Sorbonne.
- Các ảnh chụp về buổi lễ trao bằng từ báo chí thời đó tồn tại nhưng không ghi lại phát biểu trên.
- Alice Calaprice trong sách “Quotable Einstein” ghi lại câu nói nhưng chú thích khác, đề cập đến một buổi phát biểu vào ngày 6 tháng 4 năm 1922.
- Tìm hiểu từ các báo Pháp thời điểm đó cho thấy không có ghi nhận nào về câu nói này.
- Các báo Đức cũng không tìm thấy sự đề cập nào đến việc Einstein là “Weltbürger” trong các bản tin cùng thời.
- Một cuốn sách năm 1924 của Herman Bernstein chứa một câu nói tương tự nhưng kém sắc nét hơn.
- Bài viết từ British Newspaper Archive năm 1919 cũng miêu tả cách mà giới truyền thông Anh và Đức khác nhau trong cách nhìn nhận về Einstein.
Xe Iaso’s blog
Vibe Coding Trip Report: Making a sponsor panel
- Tác giả cần hoàn thành dự án trước khi phẫu thuật, đã sử dụng phương pháp vibe coding để xây dựng một bảng tài trợ tại sponsors.xeiaso.net.
- Lịch sử xây dựng bị gián đoạn do khó khăn trong việc kết nối API GitHub Sponsors với Go và các công cụ GraphQL không hiệu quả.
- Vibe coding không chỉ đơn thuần là gõ lệnh, mà cần cung cấp bối cảnh chính xác cho mô hình để tạo ra mã chất lượng.
- Tác giả đã tạo bốn kỹ năng cho mô hình để cải thiện độ chính xác: templ-syntax, templ-components, templ-htmx và templ-http.
- Đã có hai nhóm đại lý thực hiện dự án: một nhóm xây dựng mã, nhóm còn lại xem xét và sửa lỗi đầu ra.
- Tác giả đã chuẩn bị các thông tin cần thiết như OAuth credentials và cơ sở dữ liệu Neon Postgres trong khi nhóm đại lý làm việc.
- Mã GraphQL được sản xuất bởi các đại lý không đẹp nhưng hiệu quả, đơn giản hơn nhiều so với các phương pháp truyền thống.
John D. Cook
How much certainty is worthwhile?
- Một vài tuần trước, tác giả đã viết về bảng thành phần cho các hàm trig và hàm trig nghịch đảo với một số lỗi đã được sửa.
- Tác giả sử dụng mã Python để xác thực các đồng nhất tại một số điểm, nhấn mạnh rằng kiểm tra tại vài điểm không phải là bằng chứng chính thức.
- Khi hai đa thức đồng nhất tại đủ điểm, chúng đồng nhất ở khắp mọi nơi (đối với đa thức một biến).
- Định lý Schwartz-Zippel định lượng xác suất hai đa thức có thể đồng nhất tại một vài điểm ngẫu nhiên nhưng không ở khắp nơi.
- Hệ thống đã được kiểm chứng chính thức vẫn có thể chứa lỗi do sự thiếu sót giữa những gì được kiểm chứng và những gì không.
- Việc xác thực “mọi thứ” là không khả thi và những phần không được kiểm chứng là nơi dễ xảy ra lỗi.
- Mức độ kiểm tra hoặc xác minh chính thức phụ thuộc vào ngữ cảnh; phần mềm điều khiển thiết bị y tế cần độ tin cậy cao hơn so với bài đăng blog.
- Để chứng minh chính xác các đồng nhất, cần xác định miền của giá trị x là số thực hay số phức.
- Các hàm tròn và hyperbol dễ dàng định nghĩa cho tất cả số phức, nhưng các hàm nghịch đảo cần nhiều cẩn trọng hơn.
- Các đồng nhất có thể được xác minh bằng tay hoặc sử dụng phần mềm CAS như Mathematica.
Evan Hahn (dot com)
Introducing llm-eliza
- llm-eliza là một plugin để trò chuyện với mô hình ngôn ngữ ELIZA.
- Để sử dụng, gõ lệnh: llm install llm-eliza.
- Ví dụ trò chuyện: “I’m worried about computers.” ELIZA phản hồi “What do you think machines have to do with your problem?”
- ELIZA được phát hành năm 1966 và là mô hình ngôn ngữ tiên tiến.
- ELIZA cung cấp độ trễ suy diễn zero-GPU dưới một mili giây và đạt điểm cao trong đo lường EQ (trí tuệ cảm xúc).
- Mã nguồn của llm-eliza có sẵn để tham khảo.
Westenberg.
The Noble Path
- Mô hình kinh doanh không phải lúc nào cũng là mục tiêu của những indie hacker (mọi công cụ giờ đều là startup).
- Những sản phẩm giúp giải quyết vấn đề nhỏ cho cá nhân không nhất thiết phải được thương mại hóa.
- Mauss trong “The Gift” cho thấy quà tặng tạo liên kết xã hội và xây dựng lòng tin, điều mà giao dịch thị trường không thể đạt được.
- Phong trào phần mềm mã nguồn mở đã hiểu rõ giá trị của quà tặng, nơi mà phần mềm được phát triển và cho đi miễn phí.
- Nền kinh tế quà tặng của phần mềm giờ đây đã bị hấp thụ vào nền kinh tế khởi nghiệp.
- Quy tắc của các tu sĩ Saint Benedict nhấn mạnh giá trị công việc vì lợi ích cộng đồng hơn là tích lũy tài sản.
- Công việc nhỏ như tạo công cụ hữu ích cho cộng đồng mang lại sự thỏa mãn mà không thể đo đếm bằng doanh thu hàng tháng.
- Văn hóa khởi nghiệp thường đánh giá thấp những sáng tạo nhỏ, chỉ tập trung vào quy mô.
- Không phải mọi thứ đều cần mở rộng; nhiều thứ tốt đẹp thường là địa phương và không dễ lép vế bởi quy mô.
Andrew Nesbitt
If It Quacks Like a Package Manager
- Nhiều công cụ hiện nay có cấu trúc phụ thuộc nhưng chưa phát triển đầy đủ giải pháp quản lý như npm hoặc Cargo.
- GitHub Actions không có lockfile hoặc giải thuật giải quyết phụ thuộc, dẫn đến rủi ro từ các phụ thuộc không thể khóa.
- Vào năm 2025, sự cố nghiêm trọng với tj-actions/changed-files đã xảy ra do thay đổi thẻ phiên bản của phụ thuộc, ảnh hưởng đến hơn 23,000 kho.
- Ansible Galaxy cho phép tải xuống các vai trò và bộ sưu tập với phụ thuộc tự động, nhưng không có lockfile và kiểm tra tính toàn vẹn mặc định tắt.
- Terraform sử dụng .terraform.lock.hcl để ghi lại các phiên bản và băm của nhà cung cấp, với các phiên bản không thay đổi, nhưng các mô-đun vẫn dùng thẻ git thay đổi.
Tedium: The Dull Side of the Internet.
Paywalls For Minimalists
- Các công ty như Substack chiếm ưu thế do khó khăn trong việc xây dựng paywall, bao gồm quản lý đăng nhập và phương thức thanh toán.
- Việc sử dụng magic links có thể khiến độc giả phải đăng nhập nhiều lần, gây khó chịu cho người dùng.
- Giải pháp cho vấn đề này là tạo ra một bộ công cụ dễ sử dụng để thiết lập paywall cho bất kỳ trang web nào, có càng nhiều phần mã nguồn mở càng tốt.
- Ko-Fi là nền tảng hỗ trợ người sáng tạo với chi phí thấp và dễ sử dụng; nó không gặp rắc rối với các cửa hàng ứng dụng như Patreon.
- Mô hình giá của Ko-Fi công bằng, với khoản phí 12 đô la một tháng cho kế hoạch Gold nếu người sáng tạo kiếm được nhiều tiền.
- Ko-Fi hỗ trợ webhook, cho phép lập trình viên giao tiếp với ứng dụng web qua URL dễ dàng.
- Các nền tảng tự lưu trữ như Activepieces có thể sử dụng với webhook, cùng với các công cụ gửi email như Listmonk và Keila.
- Có thể gửi hàng ngàn email với chi phí thấp thông qua Amazon SES hoặc Mailgun (SES có giá 10¢ cho mỗi 1000 email).
- Quy trình hoạt động bao gồm: Người dùng đăng ký Ko-Fi, webhook gọi Activepieces, và Listmonk gửi email với liên kết tới trang web.
- Trang web yêu cầu mã truy cập và tạo cookie để mở khóa nội dung, cho phép người sáng tạo dễ dàng quản lý nội dung và người dùng.
Anil Dash
The Neo solves Apple’s embarrassment
Open Source Projects - Latest Discoveries
Match hundreds of AI models to your local hardware in one query
JavaScript in-page GUI agent. Control web interfaces with natural language.
The open-source alternative to commercial multi-agent AI orchestration platforms
An open-source engine for discovering and deploying agentic product skills
Deploy a scalable TypeScript application with zero configuration required
Turn a single GPU into an autonomous AI research laboratory
Build a Production RAG Chatbot with Django + pgvector + OpenAI (Full Guide)
The Django SaaS MVP Stack I Use in 2026 (Ships in 4-6 Weeks)
The Cold Start Problem: How to Deploy AI Agents With Context From Day One
I Built a Crypto Tax SaaS Prototype — Now I’m Deciding What to Do With It #buildinpublic #saas #webdev #crypto #indiehackers
How to Build an AI Chatbot for Your Website with Next.js & OpenAI (2026 Guide)
Meet StatlerScore, a Credit Score for your Cloud
How to Install Docker Rootless on SLES 15/16 (2026 Guide)
전자담배 가격비교 앱을 Svelte 5로 하루 만에 만든 방법 2/2
Kafka partitioning: the part that decides whether your design works
How to Build MCP Servers in Node.js for AI Agents (2026 Guide)
The Secret Life of Claude Code: When Claude Code Gets It Wrong
Verification Debt: The Silent Killer of AI Agent Systems
Hacker News: Best
💬 Agent Safehouse – macOS-native sandboxing for local agents
🔥 Ask HN: Please restrict new accounts from posting
🔥 The changing goalposts of AGI and timelines
💬 LibreOffice Writer now supports Markdown
💬 FrameBook
💬 LibreOffice: Request to the European Commission to adhere to its own guidances
🔥 I ported Linux to the PS5 and turned it into a Steam Machine
🔥 Ask HN: How to be alone?
🔥 Apple’s 512GB Mac Studio vanishes, a quiet acknowledgment of the RAM shortage
🔥 Warn about PyPy being unmaintained