Simon Willison’s Weblog
Adding dynamic features to an aggressively cached website
- Blog sử dụng aggressive caching với Cloudflare và header cache 15 phút để xử lý lượng truy cập lớn.
- Đã thêm các tính năng động vượt qua việc caching toàn bộ trang.
- Có các liên kết “edit” chỉ hiển thị cho người quản trị, sử dụng localStorage để kiểm tra quyền truy cập.
- JavaScript sử dụng để tạo và hiển thị các liên kết chỉnh sửa dựa trên key trong localStorage.
- Tính năng điều hướng ngẫu nhiên trong các trang tag cho phép người dùng chuyển đến bài viết ngẫu nhiên.
- Nút “Random” ghi lại tag và timestamp vào localStorage trước khi điều hướng đến bài viết ngẫu nhiên.
- JavaScript kiểm tra localStorage mỗi khi trang mới tải để hiển thị nút “Random” nếu thời gian trong 5 giây.
- Tính năng ngẫu nhiên được xây dựng với Claude Code từ iPhone, bao gồm tạo trang /random/TAG/.
- Sử dụng CTE để cải thiện hiệu suất truy vấn của tính năng ngẫu nhiên.
- Tùy chỉnh nút “Random” chỉ hiển thị khi tag có hơn 5 bài viết.
- LocalStorage được cập nhật để kéo dài thời gian tồn tại của nút “Random” trong đầu trang.
The Five Levels: from Spicy Autocomplete to the Dark Factory
- Dan Shapiro đề xuất mô hình năm cấp độ lập trình hỗ trợ AI, lấy cảm hứng từ các cấp độ tự động hóa lái xe.
- Cấp độ một là Spicy autocomplete, sử dụng GitHub Copilot hoặc sao chép, dán mã từ ChatGPT.
- Cấp độ hai là lập trình viên thực tập, viết các đoạn mã không quan trọng với sự xem xét hoàn toàn của con người.
- Cấp độ ba là lập trình viên junior, lập trình cùng mô hình nhưng vẫn kiểm tra từng dòng mã.
- Cấp độ bốn là lập trình viên chính, phần lớn mã được tạo ra bởi AI trong khi người lập trình làm công việc xem xét mã.
- Cấp độ năm là nhóm kỹ sư, nơi con người chủ yếu làm vai trò quản lý và các tác nhân AI thực hiện công việc.
- Cấp độ tối thượng, hay Dark Factory, giống như nhà máy robot không cần sự tham gia của con người, hoạt động như một hộp đen chuyển đổi thông số thành phần mềm.
- Ở cấp độ năm, không có ai kiểm tra mã do AI sản xuất, và con người chỉ thiết kế hệ thống để tăng cường hiệu quả của tác nhân.
- Một nhóm nhỏ với chưa đầy năm người đã phát triển hệ thống thuyết phục chỉ trong vài tháng với kinh nghiệm nhiều năm trong lập trình.
- Mục tiêu của họ là chứng minh rằng hệ thống hoạt động và tập trung vào kiểm tra hệ thống hơn là viết mã.
Engineering Leadership
How to Build a Successful Engineer <> Manager Relationship
- Mối quan hệ với quản lý là yếu tố quan trọng nhất tại nơi làm việc.
- Xây dựng quan hệ tốt với quản lý có thể mang lại nhiều cơ hội hơn trong công việc.
- Chủ động xác định vấn đề cấp bách của quản lý và tổ chức giúp thể hiện giá trị bản thân.
- Quản lý có ảnh hưởng lớn đến sự phát triển nghề nghiệp và thăng tiến của bạn.
- Các kỹ năng kỹ thuật chỉ là một phần; việc xây dựng lòng tin với quản lý mới là yếu tố quyết định.
- Đầu tư vào quan hệ với quản lý giống như đầu tư dài hạn, cần cung cấp kết quả chất lượng cao.
- Giao tiếp hiệu quả là cần thiết; thảo luận về vấn đề và giải pháp cùng với quản lý.
- Họp 1:1 với quản lý là cơ hội quan trọng để trao đổi và thảo luận về công việc của bạn.
- Cần chuẩn bị agenda cho các cuộc họp để tăng cường giao tiếp với quản lý.
- Nhân viên cần tự truyền đạt và ghi chép về những đóng góp và tác động của mình.
- Giao tiếp với quản lý nên ngắn gọn và có bằng chứng cụ thể (các kết quả nổi bật).
- Quản lý có hạn chế về thời gian nên không thể theo dõi mọi công việc của nhân viên.
Strategize Your Career
I created the Rent vs Own system for learning in the age of AI
- AI là một công cụ giúp tăng tốc độ làm việc, nhưng cũng tạo ra nguy cơ cho những kỹ sư thiếu kinh nghiệm.
- Một kỹ sư đã viết tài liệu 100% do AI tạo ra, nhưng nội dung không hợp lý khi xem xét chi tiết.
- Kỹ năng của kỹ sư đang bị “thuê mướn”, họ không hiểu thấu đáo các quyết định mà AI đưa ra.
- Có nguy cơ hình thành một thế hệ “Hollow Seniors” - những kỹ sư trông có vẻ hiệu suất cao nhưng không đủ khả năng giải quyết vấn đề cơ bản.
- Cần phân biệt giữa “just-in-time execution” (mượn kiến thức từ AI) và “just-in-case learning” (học để sở hữu kiến thức).
- Cần một hệ sinh thái để xác định các chủ đề kỹ thuật nào cần nghiên cứu sâu và những gì có thể ủy thác.
- Mô hình “T-shaped” cho kỹ sư đã trở nên lỗi thời, vì công việc yêu cầu phải có trực giác.
- Trực giác là sự kết hợp của “just-in-case learning”, giúp dự đoán nơi hệ thống có thể gặp sự cố.
- AI có thể viết mã hoặc sinh SQL nhanh chóng, nhưng không thể thay thế năng lực của trực giác khi khắc phục sự cố.
- Có một ảo giác về năng lực khi sử dụng LLMs; AI là công cụ dự đoán, không phải là nguồn sự thật.
- Tin tức về “Anthropic Blackmail” đã bị hiểu sai; báo cáo gốc đưa ra thông tin khác về trường hợp này.
The Pragmatic Engineer
The creator of Clawd: “I ship code I don’t read”
- Podcast và video có sẵn trên YouTube, Spotify và Apple, với tính năng xem trước tập và thời gian.
- Statsig tổ chức The Pragmatic Summit vào ngày 11 tháng 2 tại San Francisco với các diễn giả nổi bật như Laura Tacho và Martin Fowler.
- Sonar sẽ tổ chức Sonar Summit vào ngày 3 tháng 3 để chia sẻ chiến lược thực tiễn trong thời đại AI.
- Peter Steinberger thực hiện hơn 6,600 commit trong tháng Giêng, cho thấy năng suất cao.
- Moltbot, trước đây là Clawdbot, là dự án AI đang thu hút sự chú ý lớn trong ngành công nghệ.
- Peter Steinberger kết hợp LLMs và AI agents vào quy trình làm việc để tối ưu hóa hiệu suất.
- Clawd, dự án hobby của Peter, đang trở thành repository phát triển nhanh nhất trên GitHub.
- Tổng số sao trên GitHub cho Moltbot đang tăng trưởng đáng kinh ngạc, vượt qua nhiều dự án khác.
- Peter nhấn mạnh tầm quan trọng của việc “khép vòng” trong quy trình AI để xác minh công việc của AI agents.
- Các pull request đã không còn quan trọng; Peter hiện coi chúng là “prompt requests.”
- Peter vận hành 5-10 agents cùng lúc và ưu tiên lập kế hoạch kỹ lưỡng cho công việc của từng agent.
Martin Fowler
Bliki: Excessive Bold
- Việc sử dụng kiểu chữ đậm quá mức để nhấn mạnh thông tin làm giảm hiệu quả của nó (LLMs làm phổ biến thực hành này).
- Các công cụ typographical nhấn mạnh bao gồm: bold, italic, capital, và underline; trong đó bold được sử dụng quá nhiều.
- Sử dụng chữ in hoa thường bị coi là “la hét” và giảm uy tín của nội dung.
- Italics là cách nhấn mạnh tinh tế hơn, dễ dàng sử dụng trong văn bản dài mà không gây chú ý quá mức.
- Bold hữu ích khi thu hút ánh mắt người đọc, nhưng chỉ hiệu quả khi được sử dụng một cách tiết kiệm (thường dùng cho tiêu đề).
- Tác giả ít khi sử dụng bold trong văn bản, trừ trường hợp nhấn mạnh từ mới khi giải thích nghĩa.
- Việc in đậm một câu quan trọng có thể hữu ích nhưng thường không phải là công cụ tốt nhất; callouts thường hiệu quả hơn.
- In đậm đầu mỗi mục trong danh sách không cần thiết vì bullet đã đủ để thu hút sự chú ý.
- Tác giả khuyên nên viết văn bản liền mạch thay vì sử dụng danh sách bullet để nâng cao trải nghiệm đọc.
- Tác giả tránh sử dụng quá nhiều bold trong bài viết của mình để bảo toàn sức mạnh nhấn mạnh.
Why Version Control Exists: The Pendrive Problem
Building a Serverless Geofencing Engine with Go & PostGIS (to replace expensive APIs)
Why You Need a ChatGPT App Framework
[BlindSpot] Log 04. Let’s follow the SOLID principles : DIP
Efficient GAN-Based Anomaly Detection
Designing an Extensible Query API Using a DSL
Building Sprint Tracker #01
When Data Feels Present but Decisions Still Drift
Clawdbot/Moltbot security issues.
Vapor Chamber — A Tiny Command Bus for Vue Vapor (~1KB)
Cuando la IA escribe código… la ilusión del entendimiento (parte 4)
Deep Dive into VeraSnap: Building a Cryptographic Evidence Camera with Hash Chains, Hardware Signatures, and the VAP Framework
Hacker News: Best
💬 Somebody used spoofed ADSB signals to raster the meme of JD Vance
🔥 Amazon cuts 16k jobs
💬 Airfoil (2024)
🔥 Microsoft forced me to switch to Linux
🔥 ICE and Palantir: US agents using health data to hunt illegal immigrants
💬 Show HN: The HN Arcade
🔥 ASML staffing changes could result in a net reduction of around 1700 positions
🔥 Rust at Scale: An Added Layer of Security for WhatsApp
💬 Super Monkey Ball ported to a website
💬 Thief of $90M in seized U.S.-controlled crypto is gov’t contractor’s son