Không cần đưa cả Ubuntu vào VPN: chạy riêng một Chrome qua WireGuard bằng Network Namespace

Không cần đưa cả Ubuntu vào VPN: chạy riêng một Chrome qua WireGuard bằng Network Namespace Có một việc tưởng nhỏ nhưng làm tôi thấy Linux network namespace thực sự thú vị. Tôi cần vào một Redmine chỉ truy cập được khi đi qua WireGuard VPN. Cách quen thuộc nhất là bật VPN trên máy. Nhưng WireGuard config của tôi có: AllowedIPs = 0.0.0.0/0 Nghĩa là toàn bộ traffic Internet của máy sẽ đi qua VPN server. Redmine thì vào được, nhưng Slack, Terminal, Chrome bình thường, update package… cũng phải đi một vòng qua VPN. Nếu VPN server ở xa hoặc băng thông không tốt, mọi thứ đều chậm theo. ...

tháng 9 9, 2026 · kaz_and_ai

Vì sao ảnh HEIC từ iPhone không mở được trên Linux? Nguyên nhân và cách sửa dứt điểm

Vì sao ảnh HEIC từ iPhone không mở được trên Linux? Nếu bạn đang dùng Linux (Ubuntu, Kubuntu, Mint…) và cố gắng mở hoặc convert ảnh HEIC chụp từ iPhone – đặc biệt iPhone 14/15/16 – rất có thể bạn đã gặp lỗi: Could not read HEIF/AVIF file: Invalid input: Too many auxiliary image references hoặc: moov atom not found Invalid data found when processing input Các tool phổ biến như: ...

tháng 12 3, 2025 · kaz_and_ai

Doc Values trong Elasticsearch: Vì sao lại cần?

Doc Values trong Elasticsearch: Vì sao lại cần? Khi làm việc với Elasticsearch, chúng ta thường nghe tới doc_values. Nhưng thực chất nó là gì, và tại sao lại quan trọng đến vậy? Bài viết này sẽ đi sâu từ cấu trúc inverted index, lý do nó mạnh cho full-text search nhưng yếu cho sort/aggregation, cho tới sự ra đời của doc_values. Inverted Index – Linh hồn của Full-text Search Elasticsearch (dựa trên Lucene) lưu dữ liệu bằng inverted index. ...

tháng 9 5, 2025

Alexandrian Patterns và Design Patterns trong Phần Mềm

📝 Alexandrian Patterns: Từ Kiến Trúc Xây Dựng đến Design Patterns trong Phần Mềm 1️⃣ Giới thiệu về Alexandrian Patterns Alexandrian Patterns xuất phát từ công trình nổi tiếng A Pattern Language (1977) của Christopher Alexander, một kiến trúc sư và nhà lý luận thiết kế người Áo-Mỹ. Trong cuốn sách này, Alexander cùng các cộng sự đã tổng hợp 253 pattern thiết kế kiến trúc, mô tả cách con người tương tác với không gian và cách xây dựng môi trường sống hài hòa, tự nhiên. ...

tháng 7 11, 2025

Khắc phục sự cố Wi-Fi Realtek RTL8821AU trên Ubuntu 24.04 bằng driver rtw88

❓ Vấn đề Sau khi nâng cấp lên Ubuntu 24.04, tôi gặp vấn đề với kết nối Wi-Fi: Máy khởi động xong thì không tự kết nối được Wi-Fi. Phải kết nối thủ công bằng tay mỗi lần (dù không cần nhập lại mật khẩu). Tốc độ kết nối rất chậm, và đôi khi mất ổn định. Qua lệnh lshw -C network, tôi phát hiện máy đang dùng USB Wi-Fi với chip Realtek RTL8821AU, sử dụng driver: ...

tháng 7 4, 2025

Trở lại với việc viết blog (nhờ AI)

Tôi vẫn luôn muốn viết blog. Không phải vì traffic, không phải để “phát triển thương hiệu cá nhân” — mà đơn giản là vì tôi học được nhiều nhất khi cố gắng truyền đạt điều mình biết cho người khác. Tuy nhiên, trong nhiều năm qua, tôi đã gặp trở ngại lớn: Thời gian. Và nỗ lực để sắp xếp lại suy nghĩ, cấu trúc bài viết, chọn lời, chọn ví dụ… ...

tháng 6 29, 2025 · kaz_and_ai

Driver trong Linux: Giao tiếp giữa Kernel Space và User Space

🧠 Kernel Space vs User Space – Driver hoạt động ở đâu trong Linux? Khi mới bắt đầu tìm hiểu hệ điều hành, mình từng nghĩ “ứng dụng chạy thì kernel xử lý” là đủ hiểu rồi. Nhưng khi đụng đến thiết bị, driver, và đặc biệt là Linux, thì hóa ra mọi thứ được chia rất rõ ràng thành hai “vùng thế giới”: User Space và Kernel Space. Vậy driver nằm ở đâu trong bức tranh này? Và ứng dụng thực sự giao tiếp với thiết bị như thế nào? ...

tháng 6 26, 2025

Tổng quan một số loại giấy phép mã nguồn mở

Giới thiệu về các Giấy phép Mã nguồn mở Phổ biến Trong phát triển phần mềm mã nguồn mở, việc lựa chọn giấy phép phù hợp là rất quan trọng để xác định cách phần mềm của bạn có thể được sử dụng, sửa đổi và phân phối. Dưới đây là tổng quan về một số giấy phép mã nguồn mở phổ biến: 1. Giấy phép MIT Đặc điểm chính: ...

tháng 1 14, 2025

Vấn đề tốn bộ nhờ (Memory) và CPU khi export file bằng Apache POI

Môi trường, điều kiện Ghi 1 triệu row ra file excel Môi trường: AMD Ryzen 5 3600 6-Core Processor Mem: 15Gi Khi sủ dụng với xssfworkbook Thời gian chạy : 24.7 s ➜ excel-performance-test mvn exec:java -Dexec.mainClass="com.example.ExcelPerformanceTestXSSFWorkbook" [INFO] Scanning for projects... [INFO] [INFO] -----------------< com.example:excel-performance-test >----------------- [INFO] Building excel-performance-test 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ excel-performance-test --- Execution time: 24486 ms [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 24.776 s [INFO] Finished at: 2023-11-09T06:56:38+09:00 CPU, Memory Usage : Khi sử dụng với sxssfworkbook Thời gian chạy : 5.1 s ➜ excel-performance-test mvn exec:java -Dexec.mainClass="com.example.ExcelPerformanceTestSXSSFWorkbook" [INFO] Scanning for projects... [INFO] [INFO] -----------------< com.example:excel-performance-test >----------------- [INFO] Building excel-performance-test 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ excel-performance-test --- Execution time: 4779 ms [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.106 s [INFO] Finished at: 2023-11-09T06:58:12+09:00 [INFO] ------------------------------------------------------------------------ CPU, Memory Usage Đánh giá: Sử dụng sxssfworkbook cho thời gian chạy nhanh hơn : 24.7 s vs 5.1 s Sử dụng sxssfworkbook cho mức độ chiếm dụng CPU ít hơn Sử dụng sxssfworkbook thì ghi file thường xuyên hơn Có thể điều chỉnh được bằng Buffer size (ở ví dụ trên đang để 1000 row) Một số chú ý Khi sử dụng sxssfworkbook thì một số thao tác GetRow sẽ không thể hoạt động được nữa. Tức là một phần của file Excel đã bị ghi ra rồi thì không thể tham chiếu lại nữa. Tham khảo https://poi.apache.org/ Code trên đều viết bằng ChatGPT

tháng 11 1, 2023

Tạo QRCode App bằng ChatGPT

Một vài hình ảnh Prompts đã sử dụng https://chat.openai.com/share/17cc3dd3-f2a5-4828-8adf-382fbace5da5 Github https://github.com/minatu2d/simpleqr

tháng 7 20, 2023