Simon Willison’s Weblog
FLUX.2-klein-4B Pure C Implementation
- Ngày 15 tháng 1, Black Forest Labs phát hành black-forest-labs/FLUX.2-klein-4B, phiên bản 4 tỷ tham số của FLUX.2, dưới giấy phép Apache 2.0.
- Salvatore Sanfilippo (antirez) xây dựng phiên bản thuần C và không phụ thuộc để chạy mô hình.
- Claude Code và Claude Opus 4.5 hỗ trợ trong quá trình phát triển dự án.
- Để hỗ trợ phát triển, Salvatore đã yêu cầu Opus lưu trữ ghi chú thực hiện và các phát hiện trong quá trình phát triển.
- Tài liệu IMPLEMENTATION_NOTES.md trong repo GitHub cung cấp thông tin chi tiết hơn về dự án.
Engineering Leadership
How Coinbase Scaled Their Hiring to 150 Engineers Per Month
- Hỗ trợ Enterprise SSO là cần thiết để đáp ứng nhu cầu của khách hàng doanh nghiệp.
- IdPs là viết tắt của Identity Providers, đóng vai trò trong xác thực người dùng.
- SAML và SCIM là hai giao thức khác nhau cho xác thực và đồng bộ hóa dữ liệu người dùng.
- Scaling hiring là một thách thức lớn khi tăng quy mô từ 1 đến 150 kỹ sư mỗi tháng.
- Phỏng vấn LeetCode được sử dụng để giảm yếu tố chủ quan trong tuyển dụng.
- Luca Bonmassar có 20 năm kinh nghiệm trong ngành, từng là VP of Engineering tại Coinbase.
- Coinbase đã chuyển từ tuyển dụng địa phương sang quốc tế, mở rộng nguồn tài năng đáng kể.
- Tuyển dụng và phỏng vấn trở nên trung tâm hóa, giúp cải thiện quy trình đánh giá ứng viên.
- Ban phỏng vấn tại Coinbase quyết định các ứng viên được nhận hoặc từ chối, với ít nhất 10 hồ sơ mỗi ngày.
- Quy trình tuyển dụng đã được tôi hóa để tăng tốc độ và hiệu quả.
Strategize Your Career
I identified the 7 deadly sins of engineering productivity so you don’t have to
- Kỹ sư không mệt mỏi chỉ vì viết nhiều mã. Mệt mỏi đến từ việc phải chiến đấu với ma sát trong công việc.
- Năng suất thực sự là giải quyết các vấn đề khó khăn hiệu quả, không chỉ là làm nhiều việc hơn, nhanh hơn.
- Ngắt quãng tác vụ làm giảm khả năng viết mã. Mất khoảng 23 phút để lấy lại sự tập trung sâu sau một lần gián đoạn.
- Công cụ như Slack và email khiến người dùng phải phản ứng ngay lập tức, gây cản trở việc giải quyết các vấn đề phức tạp.
- Văn phòng mở thường làm trầm trọng thêm vấn đề giao tiếp. Sự gần gũi vật lý không giúp cải thiện giao tiếp.
- Để cải thiện giao tiếp, nên viết tài liệu có bối cảnh trước và gửi liên kết thay vì nhờ trực tiếp.
- Nghiện công việc nông cạn làm giảm khả năng làm việc sâu. Nhảy qua lại giữa các nhiệm vụ gây cảm giác bận rộn nhưng thực sự lại giảm hiệu quả.
- Tập trung vào “thời gian phản hồi” thay vì “thời gian giải quyết” gây lãng phí thời gian của nhóm.
- “Luật về sự tầm thường” (Law of Triviality) cho thấy các đội thường tập trung vào nhiệm vụ dễ dàng thay vì những vấn đề quan trọng hơn.
- Sử dụng Ma trận Eisenhower để phân loại quyết liệt các nhiệm vụ. Nhiệm vụ khẩn cấp thường không quan trọng.
- Luôn ưu tiên tính năng giải phóng người dùng thay vì tính năng gây ấn tượng với cấp trên.
- Luật Parkinson cho thấy công việc luôn mở rộng để lấp đầy thời gian có sẵn.
Open Source Projects - Latest Discoveries
Free, local, open-source Cowork - Claude cowork alternative.
- AionUI là một giải pháp mã nguồn mở, miễn phí và chạy cục bộ, hỗ trợ các trợ lý lập trình AI.
- Nó cho phép phát triển trong môi trường nhận thức, nơi mã và gợi ý của AI hoạt động song song mà không rời khỏi máy tính người dùng.
- Dự án này bảo vệ quyền riêng tư, không gửi mã nguồn cho API bên thứ ba và không có giới hạn sử dụng.
- AionUI dễ tùy chỉnh, sử dụng công nghệ web phổ biến và có khả năng kết nối với các mô hình LLM cục bộ khác.
- Người dùng cần clone repo từ GitHub, cài đặt Node.js/npm hoặc Docker và cấu hình để sử dụng với mô hình AI ưa thích.
- Kho lưu trữ trên GitHub chứa tài liệu, theo dõi vấn đề và cách đóng góp.
A curated collection of wallpapers organized by theme and style.
- Kho lưu trữ “vyrx-dev/Wallpapers” trên GitHub cung cấp bộ sưu tập hình nền cho lập trình viên và người yêu thích thẩm mỹ gọn gàng.
- Bộ sưu tập được tổ chức theo chủ đề (ví dụ: “Cyberpunk”, “Minimalist”, “Nature”) và phong cách (ví dụ: “Dark”, “Light”, “Abstract”).
- Cấu trúc thư mục rõ ràng giúp người dùng tìm kiếm hình nền một cách nhanh chóng.
- Người duy trì đã lọc chất lượng và sắp xếp hình ảnh hợp lý, giúp tiết kiệm thời gian cho lập trình viên.
- Bạn có thể cập nhật bộ sưu tập dễ dàng bằng cách sử dụng lệnh “git pull” sau khi đã clone.
- Để tải bộ sưu tập, chỉ cần chạy lệnh: git clone https://github.com/vyrx-dev/Wallpapers.git.
- Repo hỗ trợ cộng đồng, cho phép người dùng đóng góp hình nền qua Pull Requests.
YouTube in your terminal. Clean and distraction-free.
- ytsurf là một công cụ client YouTube dựa trên terminal, giúp xem video mà không bị phân tâm (sử dụng mpv cho phát lại).
- Giao diện của ytsurf không có thumbnail, phần bình luận hay các thuật toán gợi ý, chỉ tập trung vào nội dung video.
- Các công nghệ sử dụng: mpv cho giải mã video, yt-dlp để lấy dữ liệu video, và Textual cho giao diện người dùng.
- Người dùng có thể tìm kiếm video, phát video và điều khiển phát lại bằng các phím của mpv.
- Cài đặt ytsurf đơn giản với câu lệnh:
pip install ytsurf, sau đó gõ ytsurf trong terminal để chạy.
- Hữu ích cho việc xem video như talk hội nghị, nghe nhạc hay podcast trong khi làm việc.
- Có thể truy cập thêm thông tin chi tiết và cấu hình trên GitHub: https://github.com/Stan-breaks/ytsurf.
Unify every icon set with a single universal SVG framework
- Iconify là một thư viện biểu tượng toàn diện, cung cấp hơn 200,000 biểu tượng mã nguồn mở từ các bộ khác nhau như Material Design, FontAwesome.
- Nó cho phép sử dụng hầu hết bất kỳ biểu tượng nào từ các bộ nổi tiếng qua một cú pháp nhất quán, không phụ thuộc vào framework.
- Thay vì cài đặt nhiều gói npm, bạn chỉ cần cài đặt Iconify để truy cập biểu tượng theo yêu cầu.
- Cú pháp bao gồm một tiền tố (tên bộ biểu tượng) và một tên (định danh biểu tượng), ví dụ “mdi:account”.
- Iconify hỗ trợ tất cả các framework như React, Vue, Svelte, và HTML với cùng một API.
- Tải biểu tượng theo yêu cầu giúp giảm kích thước bundle, chỉ tải các biểu tượng cần thiết khi sử dụng.
- Iconify xuất ra SVG sạch, không sử dụng fonts hay pseudo-elements CSS kỳ lạ.
- Tính năng truy cập vào một hệ thống biểu tượng lớn giúp tiết kiệm thời gian tìm kiếm và tích hợp các bộ biểu tượng mới.
- Người dùng có thể bắt đầu bằng cách cài đặt gói @iconify/react cho dự án React.
- Tài liệu đầy đủ trên GitHub hỗ trợ người dùng với nhiều tuỳ chọn và hướng dẫn.
Stop paying for expensive monitoring tools Use this open-source alternative
- Bottom (btm) là công cụ giám sát hệ thống chạy trong terminal, miễn phí và tùy biến cao.
- Nó hiển thị thông tin về CPU, bộ nhớ, hoạt động mạng, đĩa I/O và thống kê quy trình theo cách dễ nhìn.
- Bottom hoạt động trên nhiều nền tảng: Linux, macOS, Windows, FreeBSD, và Android.
- Giao diện của btm có thể tùy chỉnh với chế độ văn bản hoặc giao diện widget phong phú.
- Thiết kế UI của btm sạch sẽ và hỗ trợ tương tác chuột, đồng thời hiển thị biểu đồ dữ liệu lịch sử.
- Cài đặt Bottom rất đơn giản thông qua các package manager như Homebrew trên macOS, apt hoặc dnf trên Linux, và Winget, Chocolatey trên Windows.
- Bottom là lựa chọn hữu ích cho việc giám sát môi trường phát triển, máy chủ hoặc gỡ lỗi sự cố hiệu suất.
The open-source API gateway for REST GraphQL TCP and gRPC traffic
- Tyk là một API gateway mã nguồn mở viết bằng Go, quản lý lưu lượng truy cập giữa khách hàng và dịch vụ backend.
- Tyk xử lý các nhiệm vụ như xác thực, giới hạn tần suất, phân tích, biến đổi dữ liệu và định tuyến cho REST, GraphQL, TCP và gRPC.
- Tyk hỗ trợ quản lý giao thức gRPC và TCP bên cạnh HTTP, cho phép kiến trúc đa dạng mà không cần gateway riêng.
- Có khả năng tích hợp GraphQL federation và playground ngay tại cấp độ gateway.
- Tyk được cấu hình thông qua REST API, giúp dễ dàng tự động hóa và tích hợp vào GitOps hoặc CI/CD.
- Được xây dựng bằng Go, Tyk cung cấp hiệu suất cao và độ trễ thấp.
- Hệ thống plugin phong phú cho phép mở rộng với middleware tùy chỉnh viết bằng JavaScript, Python hoặc Go.
- Cách nhanh nhất để triển khai Tyk là sử dụng Docker với file docker-compose.yml có sẵn trong kho Tyk trên GitHub.
The open-source engine for quantitative finance and AI agents
- OpenBB là một thư viện Python cung cấp truy cập vào nhiều dữ liệu tài chính và kinh tế.
- Thư viện tích hợp hàng trăm nguồn dữ liệu, bao gồm giá cổ phiếu, chỉ số kinh tế và dữ liệu crypto.
- Dữ liệu được chuẩn hóa thành Pandas DataFrames, giúp người dùng dễ dàng phân tích.
- OpenBB hỗ trợ tự động hóa và AI, cho phép các tác nhân AI sử dụng để thực hiện phân tích tài chính.
- Thư viện có một giao diện đơn giản, giảm thiểu thời gian tích hợp API.
- OpenBB không chỉ là thư viện mà còn là nền tảng với nhiều công cụ hỗ trợ khác.
- Dự án được cấp phép MIT và cho phép người dùng tự lưu trữ, tránh tình trạng bị khóa bởi bên thứ ba.
- Việc cài đặt OpenBB dễ dàng qua pip install.
- Dữ liệu có thể được truy xuất ngay lập tức sau khi cài đặt (ví dụ: lịch sử giá cổ phiếu Apple).
- Người dùng có thể tham khảo tài liệu hướng dẫn có sẵn trên GitHub để tìm hiểu về các mô-đun và nhà cung cấp dữ liệu.
Stop paying for premium counters use this open source library instead
- Number Flow là thư viện JavaScript mã nguồn mở, không phụ thuộc, dùng để tạo hoạt ảnh đếm số.
- Thư viện này giúp chuyển đổi số từ giá trị khởi đầu (thường là 0) sang một số mục tiêu một cách mượt mà.
- Người dùng có thể cài đặt bằng npm:
npm install number-flow.
- Sử dụng thư viện rất đơn giản, chỉ cần vài dòng mã để khởi chạy bộ đếm.
- Thư viện cho phép tùy chỉnh thời gian, hàm easing và định dạng số linh hoạt.
- Là thư viện nhẹ, Number Flow không làm tăng kích thước bundle của dự án.
- Được thiết kế để giải quyết nhu cầu cụ thể về bộ đếm mà không cần một thư viện hoạt ảnh lớn hơn.
Hacker News: Best
💬 Police Invested Millions in Shadowy Phone-Tracking Software Won’t Say How Used
💬 Flux 2 Klein pure C inference
- Chương trình này sinh ra hình ảnh từ các text prompts sử dụng mô hình FLUX.2-klein-4B từ Black Forest Labs.
- Chương trình được triển khai hoàn toàn bằng C, không cần phụ thuộc bên ngoài ngoại trừ thư viện chuẩn C.
- Tăng tốc bằng MPS và BLAS là tùy chọn nhưng được khuyến nghị để cải thiện hiệu suất.
- Code được tạo ra bằng AI trong cuối tuần, là dự án mã nguồn mở đầu tiên mà tác giả không viết mã.
- Phần mềm không yêu cầu định lượng hay chuyển đổi mô hình; nó chạy trực tiếp với mô hình safetensors dưới dạng input, sử dụng kiểu số thực (floats).
- Tạo hình ảnh từ text: lệnh sử dụng là
./flux -d flux-klein-model -p "<prompt>" -o <output_path>.
- Chuyển đổi hình ảnh: dùng lệnh
./flux -d flux-klein-model -i <input_image> -o <output_image> -p "<prompt>".
- Để sinh hình ảnh chất lượng tương tự, biến
-S (seed) phải được sử dụng để tái tạo chính xác.
- Hỗ trợ nhiều tùy chọn cấu hình như kích thước, số bước sinh mẫu và mức độ thay đổi hình ảnh.
- Hỗ trợ tăng tốc Metal GPU tự động trên máy Mac sử dụng Apple Silicon.
🔥 Gaussian Splatting – A$AP Rocky “Helicopter” music video
- A$AP Rocky phát hành video âm nhạc cho bài “Helicopter” với nhiều cảnh quay được ghi lại bằng công nghệ volumetric.
- Gần như mọi màn trình diễn của con người trong video đều được ghi lại và hiển thị dưới dạng dynamic splats.
- Quá trình thực hiện video diễn ra vào tháng 8 tại Los Angeles, với sử dụng 56 camera RGB-D đồng bộ hóa.
- Evercoast ghi lại hơn 10 terabytes dữ liệu thô và xuất ra khoảng 30 phút footage hoàn thiện dưới dạng PLY sequences.
- Dữ liệu được xử lý trong Houdini, sử dụng CG Nomads GSOPs và OTOY’s OctaneRender cho việc rendering cuối cùng.
- Team sản xuất có khả năng xem trước các cảnh ghi hình volumetric tại nhiều giai đoạn, giúp việc ra quyết định sáng tạo diễn ra nhanh chóng và tiết kiệm.
- Công nghệ gaussian splatting cho phép loại bỏ và tái cấu trúc các yếu tố vật lý trong cảnh quay mà vẫn giữ được tính xác thực của chuyển động con người.
- Đội ngũ cũng sử dụng Blender để lập kế hoạch và tạo preview cho cảnh quay, giúp lên bố cục quy hoạch một cách hiệu quả.
💬 Statement by Denmark, Finland, France, Germany, Netherlands, Norway, Sweden, UK
- NATO cam kết tăng cường an ninh tại Bắc Cực như một lợi ích chung xuyên Đại Tây Dương.
- Cuộc tập trận “Arctic Endurance” do Đan Mạch phối hợp thực hiện với các đồng minh nhằm đáp ứng nhu cầu an ninh tại Bắc Cực.
- Cuộc tập trận này không gây ra mối đe dọa cho bất kỳ ai.
- Các nước tham gia bày tỏ sự đoàn kết với Vương quốc Đan Mạch và dân cư Grönland.
- Đan Mạch, Finland, Pháp, Đức, Hà Lan, Na Uy, Thụy Điển và Vương quốc Anh nhấn mạnh tầm quan trọng của nguyên tắc chủ quyền và toàn vẹn lãnh thổ.
- Các mối đe dọa thuế quan có thể làm suy yếu quan hệ xuyên Đại Tây Dương và gây rủi ro leo thang.
- Các nước sẽ tiếp tục phản ứng một cách thống nhất và phối hợp.
🔥 The Nobel Prize and the Laureate Are Inseparable
- Huy chương và bằng danh dự là biểu tượng vật lý xác nhận việc nhận giải Nobel Hòa bình.
- Người nhận giải Nobel Hòa bình được trao huy chương vàng và bằng danh dự cùng với tiền thưởng riêng lẻ.
- Giải thưởng không thể chia sẻ hay chuyển nhượng sau khi công bố và không bao giờ bị thu hồi.
- Ủy ban Nobel Na Uy không bình luận về các phát biểu hay hành động sau này của người nhận giải.
- Người nhận giải tự do quyết định cách sử dụng huy chương, bằng danh dự và tiền thưởng.
- Một số huân chương Nobel được trưng bày tại các bảo tàng trên khắp thế giới.
- Kofi Annan (Giải Nobel Hòa bình 2001) đã hiến tặng huy chương và bằng danh dự cho Văn phòng Liên Hợp Quốc tại Geneva.
- Dmitry Muratov (Giải Nobel Hòa bình 2021) đã bán huy chương với giá 103,5 triệu USD, ủng hộ quỹ trẻ mồ côi Ukraine.
- Huy chương Nobel được làm bằng vàng 18 karat, nặng 196 gram và có đường kính 6,6 cm.
- Huy chương được thiết kế bởi nhà điêu khắc Na Uy Gustav Vigeland vào năm 1901, có hình ảnh Alfred Nobel và ba người đàn ông biểu tượng cho tình huynh đệ.
🔥 Statement by Denmark, Finland, France, Germany, the Netherlands,Norway,Sweden,UK
- NATO cam kết tăng cường an ninh Arctic như một lợi ích chung xuyên Đại Tây Dương.
- Cuộc tập trận “Arctic Endurance” với sự tham gia của các đồng minh không gây ra mối đe dọa nào.
- NATO thể hiện sự đoàn kết đầy đủ với Vương quốc Đan Mạch và người dân Greenland.
- NATO sẵn sàng tham gia đối thoại dựa trên nguyên tắc chủ quyền và toàn vẹn lãnh thổ.
- Mối đe dọa về thuế quan làm suy yếu quan hệ xuyên Đại Tây Dương và có nguy cơ dẫn đến một vòng xoáy xuống dốc nguy hiểm.
- NATO cam kết duy trì sự thống nhất và phối hợp trong phản ứng trước các mối đe dọa.
- NATO kiên quyết bảo vệ chủ quyền của mình.
🔥 Predicting OpenAI’s ad strategy
- OpenAI đã huy động được 40 tỷ USD với định giá 260 tỷ USD vào tháng 3 năm 2025, lập kỷ lục lớn nhất cho một công ty công nghệ tư nhân.
- Dự kiến doanh thu hàng năm (ARR) của OpenAI đạt 10 tỷ USD vào tháng 6 năm 2025 và tháng 7 có tháng doanh thu đầu tiên vượt 1 tỷ USD.
- Dự đoán ARR của OpenAI cho năm 2025 đạt 20 tỷ USD (Sam Altman).
- OpenAI có 800 triệu người dùng hàng tuần, 190 triệu người dùng hàng ngày và 35 triệu người dùng trả phí.
- Vào tháng Giêng năm 2026, OpenAI công bố sẽ có quảng cáo trong các phiên bản miễn phí của ChatGPT.
- Mô hình quảng cáo dự kiến bắt đầu thử nghiệm trên Mỹ cho người dùng miễn phí và Go vào đầu năm 2026.
- Quảng cáo có thể tồn tại dưới dạng tài trợ hợp lệ trong câu trả lời và sẽ được đánh dấu rõ ràng cách biệt với nội dung tự nhiên.
- Dự kiến OpenAI sẽ đạt 1 tỷ USD doanh thu quảng cáo vào năm 2026, với mục tiêu 25 tỷ USD vào năm 2029 (chưa được xác nhận công khai).
- OpenAI sẽ cung cấp nền tảng tự phục vụ cho quảng cáo, cho phép nhà quảng cáo đấu giá vị trí như Google.
- Quảng cáo bên cạnh nội dung có thể xuất hiện khi người dùng hỏi về chủ đề có tiềm năng thị trường.
💬 Consent-O-Matic
- Consent-O-Matic là một tiện ích mở rộng trình duyệt giúp tự động xử lý các banner đồng ý cho người dùng.
- Tiện ích này được phát triển bởi Trung tâm Hình ảnh và Tương tác Nâng cao (CAVI) tại Đại học Aarhus.
- Sau khi cài đặt, người dùng thiết lập sở thích và Consent-O-Matic tự động áp dụng những lựa chọn này cho các banner của hơn 200 Consent Management Platform (CMP).
- Consent-O-Matic là một dự án mã nguồn mở, cho phép bất kỳ ai đóng góp cải tiến quy tắc và tài liệu.
- Tiện ích chỉ giao tiếp với web khi cập nhật danh sách quy tắc hoặc khi người dùng báo cáo trang không hoạt động.
- Người dùng nên cài đặt trực tiếp từ cửa hàng tiện ích chính thức của trình duyệt để đảm bảo tính năng cập nhật tự động.
- Bất kỳ ai cũng có thể tải xuống hoặc xây dựng Consent-O-Matic từ mã nguồn bằng cách sử dụng Git và npm.
🔥 Command-line Tools can be 235x Faster than your Hadoop Cluster (2014)
- Công cụ dòng lệnh có thể nhanh hơn cụm Hadoop tới 235 lần.
- Việc xử lý 1.75GB dữ liệu trên máy tính cá nhân chỉ mất khoảng 12 giây, trong khi Hadoop tiêu tốn 26 phút.
- Dữ liệu chess gồm khoảng 2 triệu ván chơi được lấy từ kho lưu trữ millionbase.
- Shell commands giúp tạo ra pipeline dữ liệu với khả năng xử lý song song hiệu quả.
- Phân tích dữ liệu nên được thực hiện qua streaming để tiết kiệm bộ nhớ.
- Dữ liệu game chess có ba kết quả chính: trắng thắng (1-0), đen thắng (0-1), và hòa (1/2-1/2).
- Thử nghiệm với 3.46GB dữ liệu cho thấy tốc độ xử lý đạt khoảng 272MB/sec.
🔥 A Social Filesystem
- Tập tin đại diện cho những sản phẩm sáng tạo của bạn, và không thuộc về ứng dụng mà bạn sử dụng (nguyên tắc tập tin).
- Định dạng tập tin giống như ngôn ngữ, cho phép các ứng dụng khác nhau tương tác mà không cần biết về nhau.
- Định dạng SVG là một ví dụ về thông số mở; nó có thể được nhiều ứng dụng khác nhau đọc và viết (ví dụ: Excalidraw, Adobe Illustrator).
- Một số định dạng tập tin như .doc có thể là quyền sở hữu hoặc không tài liệu, nhưng vẫn có thể được phát triển phần mềm để đọc ghi (tái kỹ thuật).
- Nguyên tắc tập tin cho phép tài sản của người dùng tồn tại độc lập với ứng dụng; ví dụ, bản thảo không thuộc về máy đánh chữ.
- Bạn có thể tạo tập tin trong một ứng dụng và người khác có thể đọc nó bằng một ứng dụng khác, miễn là định dạng tương thích.
- Ở thế giới xã hội, các tương tác như bài đăng và theo dõi có thể được coi là tập tin xã hội trong một “thư mục mọi thứ”.
- Thư mục “mọi thứ” có thể lưu trữ tất cả những gì bạn đã tạo trên các ứng dụng xã hội, giải quyết vấn đề sở hữu dữ liệu của bạn.
- Tất cả các thay đổi trong thư mục sẽ được đồng bộ hóa với các ứng dụng liên quan, cho phép quản lý dữ liệu mượt mà hơn.
- Các ứng dụng có thể đến và đi, nhưng tập tin vẫn tồn tại, miễn là các ứng dụng vẫn nghĩ theo cách tập tin.
Portfolio Dungeon Crawler
- Người gửi là Austin, một lập trình viên tự học sống tại Tây Bắc Thái Bình Dương.
- Austin thích học hỏi về phát triển và thử nghiệm các mô hình AI mới.
- Portfolio được xây dựng bằng AI Studio và triển khai trên Google Cloud.
- Dự án này lấy cảm hứng từ một sản phẩm cá nhân là Solo DnD, dự kiến phát hành trong vài tuần tới.
- Austin tự hào về việc người dùng có thể khám phá các phần ẩn trong portfolio như một cuộc phiêu lưu trong dungeon.
- Anh ấy thêm vào một trận chiến với trùm cuối để hoàn tất trải nghiệm khi người dùng khám phá xong thông tin.
Build an Autonomous AI Nutritionist: From Blood Sugar Prediction to Instacart Checkout
- Xây dựng một Autonomous AI Nutritionist Agent để lập kế hoạch bữa ăn dựa trên dữ liệu sức khỏe và xu hướng đường huyết.
- Hệ thống sử dụng Autonomous Agents, LangChain, và GraphQL để tối ưu hóa quy trình mua sắm thực phẩm.
- Kiến trúc của hệ thống bao gồm các bước từ nhập liệu của người dùng đến thông báo hoàn thành giao dịch.
- Cần sử dụng Python 3.10+, LangChain, OpenAI SDK, Selenium và có kiến thức về GraphQL.
- Bước đầu tiên là lấy dữ liệu về macro dinh dưỡng gần nhất từ MyFitnessPal thông qua GraphQL.
- Sử dụng LangChain Agents để quyết định liệu có cần kiểm tra kho đồ ăn trước khi đặt hàng.
- Tự động hóa quá trình thêm hàng vào Instacart bằng cách sử dụng Selenium để mô phỏng hành trình của người dùng.
- Hệ thống cần xử lý giới hạn tốc độ, duy trì phiên và các vòng phản hồi đa phương thức để đảm bảo tính khả thi khi mở rộng.
Validating Native Python: A Practical Approach with baredtype
- Python thường sử dụng các cấu trúc dữ liệu cơ bản như dict và list để di chuyển dữ liệu.
- baredtype là thư viện cho phép xác thực dữ liệu mà không yêu cầu thay đổi kiểu hoặc hình thức dữ liệu.
- baredtype làm việc trực tiếp với các cấu trúc dữ liệu tiêu chuẩn mà không cần tạo lớp tùy chỉnh.
- Bạn có thể sử dụng json.dumps và json.loads để tuần tự hóa và khôi phục dữ liệu mà không cần phương thức đặc biệt.
- baredtype tôn trọng các định nghĩa TypedDict cho các trường bắt buộc và Annotated cho các ràng buộc giá trị.
- Thư viện giúp ánh xạ các kiểu Python sang các tiêu chuẩn bên ngoài như JSON Schema và OpenAPI.
- baredtype hỗ trợ hai phương pháp xác minh cấu trúc dữ liệu: kiểm tra kiểu tĩnh và kiểm tra dựa trên thuộc tính.
- Kiểm tra kiểu tĩnh giúp phát hiện lỗi trước khi mã chạy, bằng cách sử dụng công cụ như Mypy hoặc Pyright.
- Kiểm tra dựa trên thuộc tính giúp xác minh tính linh hoạt của mã trong điều kiện áp lực thông qua Hypothesis.
- Xác thực thời gian chạy là cần thiết để đảm bảo rằng dữ liệu bên ngoài đúng với thông số kỹ thuật.
Fix OBS Studio Microphone Permission Issues on macOS Hackintosh
- Nếu OBS Studio không xuất hiện trong phần quyền Mic trên macOS, hãy kiểm tra cài đặt quyền tại System Settings > Privacy & Security > Microphone.
- Cách khắc phục phổ biến nhất là khởi động OBS thông qua Terminal bằng lệnh
open /Applications/OBS.app/Contents/MacOS/OBS.
- Sau khi mở OBS, nhanh chóng thêm Audio Input Capture và chọn micro để kích hoạt hộp thoại yêu cầu quyền.
- Nếu bạn muốn sử dụng biểu tượng OBS trong Dock, hãy tạo một Automator Launcher bằng cách sử dụng Run Shell Script với cùng lệnh mở OBS.
- Để tạo Automator Launcher, hãy lưu nó và thay đổi biểu tượng để giống với OBS gốc.
- Nếu không có hộp thoại yêu cầu xuất hiện, có thể reset quyền Mic bằng cách tải TCC Transparency hoặc sử dụng lệnh
tccutil reset Microphone.
- Đảm bảo sử dụng phiên bản OBS phù hợp với cấu hình Hackintosh (Intel hoặc Apple Silicon), đặc biệt với các phiên bản macOS mới như Ventura, Sonoma, Sequoia, và Tahoe.
Mi primera migración a la nube: Cómo moví mi portafolio de GitHub Pages a AWS Amplify
- DEV Community là không gian thảo luận về phát triển phần mềm và quản lý sự nghiệp trong lĩnh vực này.
- Future tập trung vào tin tức và thảo luận về khoa học và công nghệ, bao gồm AI, VR, cryptocurrency, và điện toán lượng tử.
- Open Forem là không gian thảo luận chung cho mọi chủ đề không được phân loại khác.
- Music Forem dành riêng cho những người yêu thích âm nhạc, từ sáng tác đến biểu diễn và thiết bị âm nhạc.
- Vibe Coding Forem thảo luận về phát triển phần mềm AI và các dự án đang được xây dựng.
- Security Forem là trung tâm cho mọi vấn đề liên quan đến bảo mật, từ hacking đạo đức đến phát triển nghề nghiệp trong lĩnh vực này.
- Crypto Forem phục vụ cho cộng đồng quan tâm đến cryptocurrency, bao gồm Bitcoin, phát triển protocol, DeFi, và NFTs.
- Parenting là nơi cho các bậc phụ huynh chia sẻ kinh nghiệm và thách thức trong việc nuôi dạy con cái.
- Forem Core thảo luận về dự án phần mềm mã nguồn mở Forem, bao gồm các tính năng, bug, và hiệu suất.
- Maker Forem dành cho những người làm và những người đam mê thảo luận về Arduino, Raspberry Pi và in 3D.
- HMPL.js Forem dành cho lập trình viên sử dụng HMPL.js để xây dựng ứng dụng web nhẹ và nhanh.
How I Reduced My Test Suite by 72% Using TestIQ
- AI có khả năng tạo ra hàng loạt bài kiểm tra nhưng không kiểm tra tính trùng lặp của các bài kiểm tra đó.
- Trong ví dụ với 5 bài kiểm tra cho máy tính, tất cả đều kiểm tra cùng một đường đi mã (code path) mặc dù tên hàm khác nhau.
- Phân tích 54 bài kiểm tra do AI tạo ra cho máy tính cho thấy có tới 39 bài kiểm tra trùng lặp và 168 bài trùng lặp một phần.
- Chỉ cần 15 bài kiểm tra là đủ, tỷ lệ trùng lặp đạt 72%.
- Phương pháp so sánh văn bản không hiệu quả để phát hiện trùng lặp vì các bài kiểm tra khác nhau về cách viết nhưng thực hiện cùng một chức năng.
- Giải pháp là sử dụng TestIQ để phân tích độ bao phủ (coverage) của các bài kiểm tra.
- TestIQ thu thập dữ liệu độ bao phủ cho từng bài kiểm tra và so sánh các mẫu độ bao phủ.
- Phân loại các bài kiểm tra thành ba loại: Exact Duplicates, Subset Duplicates và Similar Tests.
- Từng bước sử dụng TestIQ: cài đặt, thu thập dữ liệu độ bao phủ, phân tích các bài kiểm tra và kiểm tra trực quan.
- Kết quả thực tế: từ 54 bài kiểm tra còn 15 bài, tiết kiệm thời gian CI khoảng 70%.
- Ứng dụng Django sản xuất cũng giảm từ 847 xuống 612 bài kiểm tra, tiết kiệm 28% thời gian chạy CI.
- Có thể tích hợp TestIQ vào CI/CD để ngăn chặn việc hợp nhất các bài kiểm tra trùng lặp.
PVM - PHP Version Manager for Windows
- PVM (PHP Version Manager) là công cụ quản lý phiên bản PHP dành cho hệ thống Windows.
- PVM quản lý không chỉ phiên bản PHP mà còn cả extensions, cấu hình php.ini và biến môi trường.
- Cấu trúc dự án PVM bao gồm các thư mục cho chức năng chính, hệ thống core, utility functions và thư mục kiểm tra.
- PVM có tính năng thiết lập tự động, giúp cấu hình biến PATH tự động.
- Chuyển đổi giữa các phiên bản PHP chỉ cần một lệnh đơn giản.
- PVM hỗ trợ quản lý extensions như Xdebug và OPcache.
- Cấu hình php.ini có thể chỉnh sửa trực tiếp từ dòng lệnh mà không cần mở file.
- Cho phép cài đặt phiên bản PHP tại các thư mục tùy chỉnh.
- Tính năng truy cập phiên bản PHP mới từ các nguồn trực tuyến.
- PVM tự động sao lưu và khôi phục các biến PATH và cài đặt php.ini.
- Cần Windows 10/11 và PowerShell 5.1 trở lên để sử dụng PVM.
- Cách cài đặt PVM bao gồm việc nhân bản repository và chạy lệnh thiết lập tự động.
My Best Advice as a Software Engineer
- Tác giả làm việc tại một startup trong lĩnh vực cybersecurity trong 1 năm 6 tháng.
- Kinh nghiệm làm việc tại đây giúp tác giả cải thiện kỹ năng C# và .NET.
- Tác giả tham gia các cuộc họp để hiểu thêm về kiến trúc và thảo luận giải pháp.
- Tác giả khuyên không nên chỉ hỏi “Mình nên làm gì?” mà nên tự đặt câu hỏi “Mình sẽ giải quyết vấn đề này như thế nào?”.
- Tác giả chủ động tiếp nhận trách nhiệm cho một tính năng và nghiên cứu các giải pháp tiềm năng.
- Việc tự mình tìm hiểu và triển khai giải pháp giúp nâng cao kỹ năng và khả năng giải quyết vấn đề.
- Tác giả nhấn mạnh tầm quan trọng của việc không chỉ thực hiện nhiệm vụ mà còn khám phá và tìm ra các giải pháp sáng tạo.
Navigating Family Dynamics: A Guide to Managing a Minor’s Trust Fund
- Quản lý quỹ tín thác của trẻ vị thành niên có thể gặp khó khăn do sự can thiệp của các thành viên trong gia đình.
- Là người quản lý quỹ tín thác, bạn có nghĩa vụ phải hành động vì lợi ích tốt nhất của người thụ hưởng.
- Thiết lập mong đợi rõ ràng với các thành viên gia đình về vai trò của bạn trong việc quản lý quỹ.
- Xây dựng kế hoạch giao tiếp và xác định thông tin sẽ chia sẻ với gia đình.
- Ghi chép lại tất cả các tương tác với thành viên gia đình, bao gồm email, cuộc gọi và cuộc họp.
- Nếu cần, tìm kiếm sự tư vấn từ chuyên gia tài chính hoặc luật sư.
- Đầu tư vào danh mục đa dạng với các tài sản có rủi ro thấp như trái phiếu và cổ phiếu trả cổ tức.
- Theo dõi chi tiêu để đảm bảo chúng phù hợp với mục tiêu của quỹ tín thác.
- Lập kế hoạch cho mục tiêu dài hạn của người thụ hưởng để đưa ra những quyết định có lợi cho tương lai.
- Giữ hồ sơ chính xác và cập nhật các quy định về thuế.
PostgreSQL on Arch Linux: From Zero to Running in 5 Minutes
- Hướng dẫn này giúp cài đặt PostgreSQL trên Arch Linux nhanh chóng, chỉ dưới 5 phút.
- Cần chuẩn bị: Arch Linux, quyền sudo, và kiến thức cơ bản về terminal.
- Bước 1: Cài đặt PostgreSQL bằng lệnh
sudo pacman -S postgresql.
- Bước 2: Khởi tạo thư mục dữ liệu với lệnh
sudo -iu postgres initdb -D /var/lib/postgres/data.
- Bước 3: Bắt đầu và kích hoạt PostgreSQL với
sudo systemctl start postgresql và sudo systemctl enable postgresql.
- Bước 4: Kiểm tra trạng thái PostgreSQL bằng
sudo systemctl status postgresql và kiểm tra phiên bản bằng psql --version.
- Bước 5: Tạo người dùng và cơ sở dữ liệu với lệnh:
CREATE USER your_username WITH PASSWORD 'your_secure_password';
CREATE DATABASE your_database OWNER your_username;
GRANT ALL PRIVILEGES ON DATABASE your_database TO your_username;
- Bước 6: (Tùy chọn) Cấu hình kết nối TCP/IP, chỉnh sửa
postgresql.conf và pg_hba.conf, sau đó khởi động lại dịch vụ.
- Vấn đề 1: Nếu nhận thông báo “Directory exists but is not empty”, sử dụng
sudo rm -rf /var/lib/postgres/data để xóa nó trước khi khởi tạo lại.
- Vấn đề 2: Kiểm tra nếu có phiên bản PostgreSQL khác đang chạy bằng
ps aux | grep postgres và sudo lsof -i :5432.
Gaomon Finally Released Full-Featured Linux Drivers for Their Graphic Tablets
- Gaomon đã phát hành driver chính thức cho các tablet đồ họa trên Linux, cung cấp đầy đủ chức năng (từ website Gaomon).
- Driver hỗ trợ tất cả các mẫu tablet Gaomon, bao gồm cả các mẫu cũ.
- Chức năng của driver bao gồm: hỗ trợ cấu hình toàn bộ tablet, hỗ trợ Ring Touch, quá trình cài đặt dễ dàng, giao diện đồ họa hiện đại và tùy chỉnh nâng cao cho nút bấm, độ áp lực.
- Trước đây, người dùng Linux chủ yếu sử dụng DIGImend và OpenTabletDriver cho tablet đồ họa.
- DIGImend cung cấp tương thích cấp thấp nhưng thiếu công cụ cấu hình của nhà cung cấp và giao diện người dùng đẹp mắt.
- OpenTabletDriver là driver user-space phổ biến nhưng phụ thuộc vào reverse engineering, có thể thiếu một số tính năng cụ thể của tablet.
- Driver của Gaomon mang lại hỗ trợ chính thức từ nhà sản xuất, giúp người dùng truy cập các tính năng đặc thù mà không cần phải reverse engineering.
- Gaomon tablet là lựa chọn tốt cho người dùng Linux trong các lĩnh vực thiết kế đồ họa, UI/UX, chỉnh sửa video và ghi chú.
No, la ia no programa… (parte 2) las pruebas realizadas.
- Los modelos de IA no generan código funcional a pesar de parecerlo (0/9 de éxito).
- Todos los modelos evaluados fallaron en lógica y manejo de estado en la integración del sistema (fuentes: Gemini 3.0 Flash, ChatGPT, Kimi K2).
- Los errores fueron principalmente lógicos, no sintácticos; no pudieron modelar correctamente el ciclo de vida de la conexión.
- Modelos como DeepSeek y GLM no corrigieron errores básicos sin intervención adicional.
- MiniMax M2.1, aunque especializado en código, requirió más intervenciones y no superó problemas conceptuales (más de 10 turnos).
- La tasa de éxito del 0% indica que no hay correlación entre compilar y funcionar correctamente.
- La IA puede ser útil como asistente de productividad, pero no tiene capacidad de razonamiento sistémico autónomo.
- La conclusión resalta una barrera cognitiva que los modelos de IA actuales no pueden cruzar para integrar sistemas complejos.