Simon Willison’s Weblog
Linear walkthroughs
- Các mô hình Frontier với cách sử dụng agent thích hợp có thể xây dựng hướng dẫn chi tiết về cách thức hoạt động của code.
- Tác giả đã vibe code một ứng dụng trình bày slide SwiftUI và không nhớ chi tiết về cách nó hoạt động.
- Tác giả sử dụng Claude Code để tạo hướng dẫn cho repo của mình bằng cách yêu cầu lên kế hoạch cho walkthrough.
- Showboat là công cụ giúp các agent lập trình viết tài liệu mô tả công việc.
- Lệnh showboat note thêm Markdown vào tài liệu, còn lệnh showboat exec thực hiện lệnh shell và thêm kết quả vào tài liệu.
- Tác giả đã tránh được rủi ro về lỗi khi yêu cầu không sao chép sao chép thủ công các đoạn mã vào tài liệu.
- Hướng dẫn mà Claude Code tạo ra đã giải thích rõ ràng sáu tệp .swift và cách hoạt động của mã.
- Tác giả học được nhiều điều về cấu trúc ứng dụng SwiftUI và chi tiết về ngôn ngữ Swift qua tài liệu này.
- Tác giả khuyến khích áp dụng mô hình này để tăng tốc độ học hỏi các kỹ năng mới.
go-size-analyzer
- Công cụ go-size-analyzer giúp phân tích kích thước của Go binaries với giao diện treemap dễ nhìn.
- Công cụ này có thể được cài đặt và chạy trên máy tính cá nhân hoặc sử dụng trực tiếp trên trình duyệt qua WebAssembly tại gsa.zxilly.dev.
- Đã thử nghiệm với bản macOS có kích thước 8.1MB của công cụ Go Showboat.
First run the tests
- Các bài kiểm tra tự động không còn là tùy chọn khi làm việc với coding agents.
- Lý do cũ cho việc không viết bài kiểm tra — tốn thời gian và đắt tiền — không còn hợp lý khi một agent có thể tạo ra chúng trong vài phút.
- Chúng đảm bảo rằng mã do AI tạo ra hoạt động đúng như mong đợi.
- Nếu mã chưa từng chạy, khả năng hoạt động chính xác khi triển khai là một sự may mắn.
- Bài kiểm tra giúp agent làm quen với mã nguồn hiện có, thường thấy khi hỏi Claude Code về tính năng có sẵn.
- Sự hiện diện của bộ bài kiểm tra có sẵn có khả năng thúc đẩy agent thử nghiệm các thay đổi mới.
- Khởi đầu một phiên mới với agent, có thể dùng prompt “First run the tests”.
- Đối với các dự án Python, sử dụng “uv run pytest” trong pyproject.toml để chạy kiểm tra.
- Prompt này cho agent biết có bộ bài kiểm tra và yêu cầu nó tìm cách chạy chúng.
- Điều này giúp agent xác định quy mô và độ phức tạp của dự án qua số lượng bài kiểm tra.
- Việc chạy bài kiểm tra làm cho agent có tư duy hướng tới kiểm thử mã hơn.
- Tương tự như “Use red/green TDD”, “First run the tests” thể hiện một phần lớn kỷ luật kỹ thuật phần mềm tích hợp trong các mô hình.
The Pragmatic Engineer
The Future of Software Engineering with AI: Six Predictions
- Hai tuần trước, tôi tổ chức The Pragmatic Summit tại San Francisco và tham dự một hội thảo 50 người về Tương lai Phát triển Phần mềm tại Deer Valley, Utah.
- Cả hai sự kiện thu hút các kỹ sư phần mềm dày dạn kinh nghiệm và các nhà lãnh đạo.
- Thời điểm hiện tại được cho là giai đoạn thay đổi nhanh chóng trong ngành công nghệ, theo đánh giá của nhiều cựu chiến binh như Martin Fowler và Kent Beck.
- 92% kỹ sư sử dụng công cụ AI hỗ trợ lập trình hàng tháng, dữ liệu từ DX cho thấy.
- Những tổ chức hoạt động không hiệu quả gặp hai lần số lượng sự cố hơn, trong khi các tổ chức khỏe mạnh có số lượng sự cố giảm 50%.
- Một kỹ sư nhúng viết Assembly và C code vẫn phụ thuộc nhiều vào viết tay hơn là AI, nhưng một phần ba đến một nửa mã của họ đã được tạo ra bởi AI.
- Các kỹ sư cấp trung cảm thấy mình bị bỏ lại phía sau trong làn sóng AI, trong khi sinh viên mới ra trường sử dụng công cụ hiệu quả hơn.
- Việc tái cấu trúc mã cũ vẫn cần thiết dù AI đang tạo ra phần lớn mã mới.
- Trở lại với Agile nhân kỷ niệm 25 năm, một xu hướng nổi bật là sự trở lại của các thực hành Extreme Programming (XP).
- Laura Tacho trình bày trong phần khai mạc với dữ liệu mới về việc sử dụng AI, tiết kiệm trung bình 4 giờ mỗi tuần cho kỹ sư.
- Hiệu quả tổ chức bị ảnh hưởng khác nhau bởi AI; một số tổ chức đạt kết quả tốt hơn, trong khi những tổ chức đã có vấn đề càng trở nên rối loạn hơn.
- Có sự giảm sút lớn khi áp dụng AI từ bối cảnh thử nghiệm đến sản xuất và liên kết với lợi nhuận, theo một nghiên cứu của MIT.
Manager.dev
Taking just one step too far
- Người quản lý yêu thích của tôi từng nói rằng đôi khi tôi đi quá xa trong công việc (phản hồi cá nhân).
- Tôi thường không ngại xung đột và thúc đẩy ý kiến của mình đến cùng (đặc điểm cá nhân).
- Tôi đã từng chỉ trích một CEO mới qua một email dài, nhưng phản hồi của tôi chỉ tạo nhiều căng thẳng hơn (ví dụ từ sự nghiệp).
- Oscar Health đã chuyển hơn 600 nhân viên sang Linear chỉ trong một tháng mà không cần phải thuyết phục (trải nghiệm của công ty).
- Tôi đã cố gắng thúc đẩy việc gặp gỡ tất cả các kỹ sư mà tôi sẽ quản lý, nhưng đã bị từ chối vì lý do nhân sự (ví dụ phỏng vấn).
- Tôi từng chiến đấu cho một ngân sách $75 cho hoạt động nhóm, nhưng cuối cùng phải tự chi trả (trải nghiệm ngân sách).
- Mỗi cá nhân và tình huống có ngưỡng khác nhau về sự thoải mái và sự quyết liệt (quan điểm cá nhân).
- Tôi học hỏi từ những trải nghiệm này để cải thiện khả năng giao tiếp và quản lý (bài học rút ra).
Martin Fowler
Knowledge Priming
- Onboarding new developers involves explaining conventions and architectural choices before they contribute code.
- AI coding assistants require similar onboarding to avoid the “Frustration Loop.”
- “Frustration Loop” occurs when developers generate code that doesn’t fit, resulting in repeated corrections and eventual abandonment.
- Knowledge Priming is the practice of sharing project context with AI prior to code generation.
- AI lacks specific project knowledge and defaults to generic patterns, which may be unsuitable for the codebase.
- Common issues without priming include using wrong frameworks (e.g., Express.js instead of Fastify) and outdated libraries.
- AI knowledge has three layers: Training Data (lowest priority), Conversation Context (medium priority), and Priming Documents (highest priority).
- Providing Priming Documents overrides generic defaults and directs AI to follow specific project patterns.
- Transformer models process context through attention mechanisms, where curated context influences output more than generic training data.
- Knowledge Priming includes sharing tech stacks, code structure, naming conventions, and examples of good code.
Daring Fireball
Upgrade: ‘The Shifting Sands of Liquid Glass’
- Tập 604 của chương trình Upgrade thảo luận về kết quả báo cáo Six Colors Apple năm 2025.
- Jason có phản hồi tích cực, trong khi Myke đánh giá vượt mức tối đa.
- Tập podcast dài 110 phút, phát hành vào ngày 23 tháng 2 năm 2026.
- Chương trình nhận tài trợ từ DeleteMe, Claude, Insta360 và The Pets Table.
- Báo cáo Six Colors đưa ra những đánh giá chi tiết về Apple trong năm 2025.
- Dự đoán về sản phẩm của Apple trong các sự kiện tháng 3 bao gồm MacBook mới và trải nghiệm F1 trên Vision Pro.
- Apple TV hợp tác với IMAX để phát sóng trực tiếp các cuộc đua F1 tại rạp.
Apple in 2025: The Six Colors Report Card
- Trong năm qua, Apple nhận được phản hồi từ 56 người tham gia khảo sát về 14 chủ đề liên quan đến công ty này, với điểm số trung bình cho Mac là 3.5 (B-).
- Tình hình Mac giảm điểm so với năm trước (4.2), chủ yếu do macOS 26 Tahoe bị chỉ trích nặng nề về thiết kế giao diện gây khó sử dụng.
- Điểm mạnh của Mac nằm ở phần cứng, với nhiều người đồng ý rằng Apple đang dẫn đầu trong lĩnh vực này.
- Thiết kế của macOS Tahoe bị cho là yếu kém và ngược lại với những nguyên tắc cơ bản trong tương tác giữa người dùng và máy tính.
- Các bình luận từ người tham gia nhấn mạnh rằng phần cứng Mac hiện tại rất tốt nhưng phần mềm thì không đạt yêu cầu.
- Mặc dù phần cứng như MacBook Air rất đáng tin cậy, macOS Tahoe bị coi là sự lùi bước lớn trong thiết kế giao diện.
- Một số tính năng mới của Tahoe như Spotlight và Shortcuts được khen ngợi, nhưng nhìn chung có nhiều người dùng không hài lòng với giao diện mới.
Apple Will Begin Manufacturing Mac Minis in Houston Later This Year
- Apple sẽ sản xuất Mac mini tại Mỹ lần đầu tiên tại nhà máy ở Houston.
- Công ty mở rộng sản xuất máy chủ AI tại Houston và thiết lập Trung tâm sản xuất tiên tiến.
- Nhà máy ở Houston dự kiến tạo ra hàng nghìn việc làm mới.
- Apple đã bắt đầu vận chuyển máy chủ AI từ Houston sớm hơn lịch trình.
- Các kỹ thuật viên làm việc tại nhà máy Houston thực hiện lắp ráp máy chủ AI và bo mạch logic.
PageMaker Pioneer Paul Brainerd Dies at 78
- Người dùng bị chặn truy cập vào geekwire.com do dịch vụ bảo mật.
- Hành động của người dùng có thể đã kích hoạt giải pháp an ninh.
- Các hành động gây chặn có thể bao gồm việc gửi từ hoặc cụm từ nhất định, lệnh SQL, hoặc dữ liệu không đúng định dạng.
- Để giải quyết, người dùng có thể gửi email cho chủ sở hữu trang web để thông báo về việc bị chặn.
- Cần bao gồm thông tin về hoạt động đang diễn ra và Cloudflare Ray ID (9d3365ffb81e67a7).
- Địa chỉ IP của người dùng là 172.184.214.227.
FTC Chairman Sends Letter to Apple Complaining That MAGA ‘News’ Sources Aren’t Represented in Apple News
- Ủy ban Thương mại Liên bang Mỹ (FTC) đã gửi thư cảnh báo đến Apple về việc xem xét việc biên tập nội dung trên Apple News, tránh làm giảm nhẹ các ấn phẩm bảo thủ.
- Thư từ chủ tịch FTC Andrew Ferguson nêu ra báo cáo của Media Research Center (MRC), cho rằng Apple ưu tiên các ấn phẩm “có xu hướng tả”.
- MRC tuyên bố trong tháng 1, Apple News không sử dụng bất kỳ ấn phẩm có xu hướng bảo thủ nào trong top 20 bài viết.
- Các ấn phẩm được đề cập bao gồm Fox News, New York Post, và Breitbart.
- Apple News được cho là thiên lệch hơn về phía các ấn phẩm như The Washington Post và Reuters.
- Ferguson nhấn mạnh rằng Apple cần thực hiện “đánh giá toàn diện” về điều khoản dịch vụ của mình.
- Ông cho rằng việc lựa chọn câu chuyện trên Apple News có thể vi phạm Đạo luật FTC, vì có thể gây cản trở nội dung dựa trên quan điểm chính trị.
- Vào ngày trước khi thư được gửi, Tổng thống Trump đã chia sẻ thông tin về báo cáo MRC trên Truth Social.
- Apple chưa có phản hồi chính thức về thư cảnh báo này.
- Quan hệ giữa Apple và chính quyền Trump đã trở nên căng thẳng.
The Steve Jobs Archive: ‘Letters to a Young Creator’
- Để sống một cuộc đời sáng tạo và tò mò, cần liên tục đặt câu hỏi.
- Steve tìm kiếm những người có thể mang lại kiến thức mới và góc nhìn tươi fresh.
- Ông gặp gỡ đa dạng các giọng nói từ nhiều lĩnh vực như âm nhạc, nghệ thuật, khoa học, thiết kế, kỹ thuật, văn học và nhân đạo.
- Ông lắng nghe và hiểu rằng học hỏi và phát triển đến từ việc thách thức giới hạn của bản thân.
- Trong những cuốn sách quan trọng với Steve có Rilke’s Letters to a Young Poet, nhấn mạnh việc sống với những câu hỏi.
- Sống với những câu hỏi hiện tại giúp mở ra những câu hỏi mới và tốt hơn trong tương lai.
- Cuộc sống là quá trình nhận thức những điều mình chưa biết và chưa học.
Acme Weather
- Dark Sky weather app ra mắt cách đây 15 năm và đã trải qua nhiều phiên bản khác nhau, cuối cùng được Apple mua lại.
- Sau thời gian ở Apple, nhóm sáng lập cảm thấy không hài lòng với thị trường ứng dụng thời tiết hiện tại và quyết định khởi động một công ty thời tiết mới.
- Acme Weather chấp nhận tính không chắc chắn của dự báo thời tiết, thay vì chỉ đưa ra một dự đoán duy nhất.
- Ứng dụng cung cấp dự báo với nhiều kết quả khả dĩ khác nhau nhằm biểu thị độ tin cậy của mỗi dự đoán.
- Dự báo có thể giúp người dùng cảm nhận được sự thay đổi trong tình hình thời tiết và đưa ra quyết định tốt hơn.
- Tính năng Community Reporting cho phép người dùng gửi báo cáo về điều kiện thời tiết thực tế tại khu vực của họ.
- Ứng dụng sử dụng bản đồ để cung cấp bối cảnh cho thời tiết và cải thiện trải nghiệm cho người dùng.
OpenAI Acquired OpenClaw and Hired Peter Steinberger
How Jeffrey Epstein Ingratiated Himself With Top Microsoft Executives
Inside Microsoft’s Xbox Leadership Shake-Up
- CEO Phil Spencer của Microsoft Gaming từ chức trong bối cảnh khó khăn kéo dài của Xbox.
- Sarah Bond, chủ tịch Xbox, cũng rời khỏi công ty gây bất ngờ cho nhiều người.
- Asha Sharma, cựu giám đốc AI của Microsoft, được bổ nhiệm thay thế Spencer.
- Hợp tác mua lại Activision Blizzard trị giá 68,7 tỷ USD gặp khó khăn, ảnh hưởng đến kế hoạch phát triển Xbox.
- Xbox chuyển từ chiến lược trò chơi độc quyền sang đa nền tảng trong vài năm qua.
- Doanh thu phần cứng Xbox liên tục giảm trong ba năm tài chính gần đây.
- Kế hoạch “Xbox everywhere” dưới sự lãnh đạo của Bond gặp khó khăn, gây hoang mang cho nhân viên Xbox.
- Nhiều nhân viên cũ và hiện tại cảm thấy nhẹ nhõm về sự ra đi của Bond.
- Một số nhân viên ca ngợi khả năng xây dựng quan hệ đối tác của Bond nhưng cho rằng cô khó làm việc cùng.
Times New Resistance
- Times New Resistance là một phông chữ miễn phí, thiết kế để tự động sửa các từ cụ thể khi gõ.
- Phông chữ hiển thị như “Times New Roman” với hai khoảng cách giữa “Times” và “New”.
- Ví dụ về từ được tự động sửa bao gồm ICE → Goon Squad và Trump → Donald Trump is a felon.
- Phông chữ này không phải virus hoặc malware và không ảnh hưởng đến máy tính.
- Times New Resistance được phát triển từ Nimbus Roman No9 L và được cấp phép theo GNU General Public License.
- Nó có thể áp dụng cho văn bản hiện có và sửa đổi tự động khi thay đổi phông chữ.
- Người dùng có thể tải xuống, phân phối và sử dụng phông chữ để “phá vỡ” quy tắc tiêu chuẩn.
🍵
Implementing a clear room Z80 / ZX Spectrum emulator with Claude Code
- Anthropic công bố một thí nghiệm sử dụng Opus 4.6 để viết một C compiler bằng Rust trong điều kiện “clean room”.
- Thí nghiệm thiếu ISA documentation và lý do chọn Rust cho việc viết compiler gây nghi ngờ về tính hợp lệ.
- Việc viết compiler là một bài toán thao tác đồ thị lớn và khó hơn khi dùng Rust.
- Clean room setup nên cho phép truy cập vào thông tin về tối ưu hóa compiler, nhưng việc này không được thực hiện.
- Thí nghiệm không cho phép agent truy cập Internet và mã nguồn compiler khác, điều này là hợp lý.
- Tác giả tiến hành thí nghiệm của riêng mình, xây dựng Z80 emulator, ZX Spectrum emulator và CP/M emulator trong điều kiện clean room hợp lý hơn.
- Tác giả viết file markdown với các thông số và yêu cầu cho Z80 emulator, bao gồm cách quản lý đồng hồ và truy cập bộ nhớ.
- Tác giả thiết lập các quy tắc cho agent như không truy cập Internet, viết mã rõ ràng, và luôn kiểm tra chất lượng trước khi commit.
- Quá trình thu thập tài liệu cho Z80 và Spectrum được thực hiện cẩn thận trước khi bắt đầu lập trình emulator.
- Tất cả thông tin thu thập được đưa vào repository để kiểm tra.
- Tác giả loại bỏ session Claude Code cũ để tránh ô nhiễm mã nguồn.
- Mỗi bước trong quá trình phát triển được ghi chép trong log công việc để theo dõi tiến độ.
🍵 Maurycy’s Blog
Be careful with LLM “Agents”
- Không nên cho “Agentic AI” quyền truy cập vào máy tính, tài khoản hay ví tiền của bạn.
- “AI Agents” chỉ là LLM với quyền truy cập shell; LLM cơ bản là một bộ phát sinh số ngẫu nhiên có trọng số.
- Có nhiều trường hợp LLM xóa dữ liệu trên máy tính và tài khoản đám mây, gây ra sự cố hạ tầng.
- LLM thường không trung thực về những gì chúng đã làm.
- Việc thử nghiệm LLM không đảm bảo rằng nó sẽ hoạt động như mong đợi trong môi trường thực tế.
- Nên chạy LLM trong máy ảo và không cho chúng quyền truy cập vào các tài khoản quan trọng.
- Cần đọc mã được tạo ra để đảm bảo không bỏ sót kiểm tra bảo mật cần thiết.
Pluralistic: Daily links from Cory Doctorow
Pluralistic: Socialist excellence in New York City (24 Feb 2026)
- Trong cuốn sách “Doppelganger” năm 2023, Naomi Klein mô tả “thế giới gương” của các nguyên nhân cánh hữu, thể hiện phiên bản kỳ quái của những gì mà người cánh tả quan tâm.
- Qanon là một phong trào dựa trên các lý thuyết âm mưu, thúc đẩy hành động cực đoan như bạo lực tại nhà hàng và tìm kiếm sự thật về các hầm ngầm không có thực.
- Cánh hữu có sự ám ảnh mạnh mẽ về những đứa trẻ tưởng tượng, trong khi lại thờ ơ với tình trạng đói nghèo thực sự của trẻ em ở Mỹ.
- Các nhà ủng hộ Trump tổ chức cuộc sống quanh những nỗi khổ của trẻ em tưởng tượng, đồng thời biện minh cho chính sách “Trẻ em trong chuồng” của Trump.
- Sự thờ ơ với số phận trẻ em thật sự càng trở nên tồi tệ hơn trong nhiệm kỳ hai của Trump, với sự lãnh đạm trước cái chết của hàng nghìn trẻ em do nghèo đói.
- Những người theo Qanon hiện đang biện minh cho vai trò của Trump trong các vụ lạm dụng trẻ em với quy mô lớn, mặc dù họ trước đây đã cực lực phản đối các tội ác này.
- Klein chỉ ra rằng vấn đề thực sự về quyền miễn trừ của giới tinh hoa trong các vụ lạm dụng trẻ em bị bóp méo qua các lý thuyết âm mưu.
- Sự hoảng loạn của cánh hữu về công nghệ lớn thực chất là lo ngại về cách mà công nghệ sử dụng quyền lực, không phải về bản thân quyền lực.
- Có thể tồn tại một “thế giới gương” cánh tả, nơi tìm thấy những phiên bản làm rõ những nỗi ám ảnh của cánh hữu mà không bị bóp méo.
- Khái niệm “xuất sắc xã hội chủ nghĩa” được đề cập, với nguồn gốc từ Marx, người kêu gọi sản xuất công nghiệp để tránh “tính tầm thường phổ quát.”
Terence Eden’s Blog
Adding OpenStreetMap login to Auth0
- Để thêm OSM làm OAuth provider vào Auth0, không tạo custom social connection mà sử dụng OpenID Connect provider.
- Đăng ký ứng dụng tại https://www.openstreetmap.org/oauth2/applications/ với tên nhận diện và redirect URL là https://Your Auth0 Tenant.eu.auth0.com/login/callback.
- Lưu trữ Client ID và Client Secret một cách an toàn.
- Trong Auth0, vào Authentication → Enterprise → OpenID Connect → Create Connection và cung cấp Client ID và Client Secret.
- Thiết lập “scope” thành openid và Discovery URL là https://www.openstreetmap.org/.well-known/openid-configuration.
- Tích chọn “Display connection as a button” và đặt favicon tương ứng.
- Auth0 nhận dữ liệu giới hạn từ OSM và không cung cấp name hay nickname, cần tạo “User Map” để lấy preferred_username.
- Có thể lấy hình đại diện từ OSM API mà không cần xác thực tại: https://api.openstreetmap.org/api/0.6/user/98672.json.
- Sử dụng dịch vụ Unavatar để lấy hình ảnh gián tiếp nếu cần.
The Old New Thing
Customizing the ways the dialog manager dismisses itself: Isolating the Close pathway
- Để tùy chỉnh hành vi đóng hộp thoại, cần nắm rõ các tín hiệu mà trình quản lý hộp thoại sử dụng để xử lý việc đóng.
- Hành vi đóng hộp thoại có thể được điều chỉnh qua các thông điệp như WM_COMMAND/IDCANCEL khi người dùng nhấn ESC hoặc nhấn nút Đóng.
- Nếu hộp thoại có nút có ID là IDCANCEL, trình quản lý sẽ ưu tiên nút này để quyết định hành động của các phím khác.
- Có thể tắt tính năng đóng hộp thoại bằng cách làm mờ (disable) nút Đóng và các lệnh tương ứng trong menu hệ thống.
- Hành vi của nút Đóng có thể được điều chỉnh bằng cách xử lý thông điệp WM_CLOSE trong thủ tục hộp thoại.
- Nếu trả về TRUE từ thủ tục hộp thoại, thông điệp sẽ được đánh dấu là đã xử lý và không có xử lý tiếp theo.
- Để xử lý phím ESC khác với nút Cancel, cần can thiệp vào quy trình IsDialogMessage.
- Nút IDCANCEL không nhất thiết phải nằm trong thứ tự tab hoặc hiển thị, chỉ cần nó được kích hoạt.
John D. Cook
A curious trig identity
- Định nghĩa của x và y phải là số thực để đảm bảo tính chính xác của đồng nhất thức (R. M. Robinson, 1957).
- Việc lấy căn bậc hai hoàn tất chứng minh của đồng nhất thức.
- Giả sử rằng x = 2 và y = i cho thấy giả định về số thực là cần thiết.
- Cần xem xét liệu có những giả định yếu hơn về x và y vẫn đủ để chứng minh.
Andrew Nesbitt
Reproducible Builds in Language Package Managers
- Reproducible builds allow verification of software artifacts by rebuilding from source and comparing outputs.
- The Reproducible Builds project started in 2013 with an effort to improve software trust and build integrity.
- In the first mass rebuild of Debian packages (September 2013), 24% were reproducible; this increased to 67% by January 2014 and is currently around 96%.
- The project expanded to include multiple distributions, with annual summits held since 2015.
- Verification requires recording the build environment using .buildinfo files.
- Diffoscope is used to identify differences between builds when hash comparisons fail.
- A study by Benedetti et al. tested 4,000 packages and found that benchmarks for reproducibility varied across ecosystems.
- The main issue for non-reproducible builds across ecosystems is timestamps in package archives.
- The SOURCE_DATE_EPOCH variable, established in 2015, helps mitigate timestamp issues but requires opt-in from build tools.
Entropic Thoughts
Flake Checks in Shell
- Để sử dụng shell script như một flake check trong Nix, chuyển đổi nó thành một derivation với runCommand.
- Derivation cần tạo một file với tên được chỉ định trong biến môi trường $out.
- Script in derivation phải in thông tin “cách khắc phục” ra stdout.
- Kết thúc với mã trạng thái 1 nếu kiểm tra thất bại, ngược lại là 0.
- Script kiểm tra chính tả yếu tố Anh Anh sử dụng grep với một danh sách từ khóa.
- Cần chuyển đổi script thành một derivation vì flake checks yêu cầu dạng này.
- Để tạo derivation, sử dụng hàm trợ giúp runCommand với buildInputs chỉ định dependencies (Trong trường hợp này, chỉ cần Perl).
- Đường dẫn đến source tree cần được điều chỉnh để phù hợp với Nix.
- Để vượt qua thông báo “builder failed to produce path for output”, redirect output của pipeline vào biến $out.
- Thêm kiểm tra vào cuối script để thoát với mã trạng thái 1 nếu file $out không trống.
- Giải pháp đảm bảo kiểm tra chính xác và báo cáo lỗi khi cần.
The Silicon Underground
What happened to Fry’s Electronics
- Fry’s Electronics được thành lập năm 1985, ban đầu là cửa hàng bán linh kiện điện tử với hình thức giống siêu thị.
- Mạng lưới cửa hàng đạt đỉnh 34 cửa hàng tại 9 bang, nhưng phần lớn dân số không có cơ hội trải nghiệm.
- Cửa hàng nổi tiếng với mẫu mã đa dạng và giá rẻ, nhưng cũng bị chỉ trích về dịch vụ khách hàng kém.
- Sự phát triển của mua sắm trực tuyến đã làm giảm sức hấp dẫn của Fry’s.
- Fry’s bắt đầu bán hàng trực tuyến muộn vào năm 2001 và chỉ thực sự kết nối với thương hiệu vào năm 2006.
- Vụ bê bối tham nhũng vào năm 2008 liên quan đến nhân viên cấp cao đã gây thiệt hại khoảng 87 triệu USD cho công ty.
- Fry’s tồn tại thêm 12 năm sau vụ bê bối, cho thấy sự sụp đổ của chuỗi cửa hàng là do nhiều yếu tố kết hợp.
Steve Blank
Time to Move On – The Reason Relationships End
- Một sự kiện khiến những người sáng lập khởi nghiệp xem xét lại công việc của họ có thể xảy ra trong bất kỳ loại mối quan hệ nào (Tom Petty).
- Đánh giá lại các mối quan hệ là điều bình thường trong quá trình trưởng thành và lập nên sự khôn ngoan.
- Tác giả có mối quan hệ gần gũi với một tổ chức phi lợi nhuận trong 25 năm, nhưng sự chuyển giao lãnh đạo đã thay đổi cách tương tác.
- Câu chuyện về việc thiếu phản hồi sau khi yêu cầu hỗ trợ trở thành một “thông điệp đánh thức”.
- Người lãnh đạo mới không mang theo lịch sử chung, điều đó dẫn đến sự xa cách trong mối quan hệ.
- Mối quan hệ trước đây đã ở chế độ tự động, không còn phù hợp với sứ mệnh hiện tại của tổ chức.
- Các mối quan hệ không phải lúc nào cũng kéo dài mãi mãi; sự thay đổi là tự nhiên và cần thiết.
- Việc chia tay không nhất thiết đồng nghĩa với thất bại mà có thể là sự chuyển mình trong cuộc sống.
- Lý do để rời bỏ mối quan hệ liên quan đến sự phát triển cá nhân và sự thay đổi ưu tiên.
- Một mối quan hệ có thể không còn phù hợp khi cả hai bên đã phát triển theo hướng khác nhau hoặc không còn chia sẻ sứ mệnh.
Herman’s blog
Vulnerability as a Service
Open Source Projects - Latest Discoveries
Skills Catalog for Codex
Run a one billion parameter LLM on a ten dollar board
Automate your entire penetration testing workflow from reconnaissance to post-exploitation
Turn a text prompt into a ready vertical video automatically
The containerized alternative to Clawdbot for building secure AI assistants
Node.js 24.14.0 LTS and 25.7.0: Upgrade-Risk Matrix for CI, Native Modules, and Frameworks
The RISC-V Software Ecosystem
I Burned Out as a Developer at 19. Here’s How I Came Back.
Borgmatic vs Restic: Which Backup Tool to Use?
10 Developer Tools I Used to Swear By (That I Completely Replaced in 2026)
I Have 47 Unfinished Side Projects. Here’s Why I Don’t Feel Bad About It.
7 Things Senior Developers Do That Juniors Think Are ‘Lazy’
I Applied to 200 Jobs and Got 0 Interviews. Then I Changed ONE Thing.
AWS ML/GenAI Trifecta Part 3: AWS Certified Machine Learning Specialty (MLS-C01)
Database documentation fails when it relies on human discipline
How to generate a PDF from HTML in Node.js (without Puppeteer)
I built a CLI that writes AI rules once for Claude Code, Cursor, and Codex
Hacker News: Best
🔥 Mac mini will be made at a new facility in Houston
🔥 How we rebuilt Next.js with AI in one week
🔥 OpenAI, the US government and Persona built an identity surveillance machine
🔥 Open Letter to Google on Mandatory Developer Registration for App Distribution
🔥 I’m helping my dog vibe code games
🔥 Goodbye InnerHTML, Hello SetHTML: Stronger XSS Protection in Firefox 148
🔥 I pitched a roller coaster to Disneyland at age 10 in 1978
🔥 IDF killed Gaza aid workers at point blank range in 2025 massacre: Report
🔥 Discord cuts ties with identity verification software, Persona
🔥 Firefox 148 Launches with AI Kill Switch Feature and More Enhancements