# Viet-Anh Nguyen (Nguyễn Việt Anh) - AI & Machine Learning Expert

> Personal website and technical blog by **Viet-Anh Nguyen** (also known as Nguyễn Việt Anh, Viet)
> Comprehensive resource for AI, Machine Learning, Computer Vision, and Edge AI deployment

## About Viet-Anh Nguyen

**Name:** Viet-Anh Nguyen (Vietnamese: Nguyễn Việt Anh)
**Short Name:** Viet
**Current Role:** Machine Learning Lead at Scopic Software
**Open Source Contributor:** Neural Research Lab (https://www.nrl.ai)
**Location:** Vietnam
**Website:** https://www.vietanh.dev

**Viet-Anh Nguyen** is Machine Learning Lead at Scopic Software and Open Source Contributor at Neural Research Lab. I build across both Cloud and Physical AI — from cloud-served LLMs to on-device inference on edge hardware. Expertise in deep learning, computer vision, large language models, MLOps, and system architecture. Specializes in turning AI research into reliable, production-ready systems.

**Key Achievements:**
- 5.6k+ GitHub stars across open-source AI projects
- On-device voice agents for EdgeVox
- Apache-2.0 · no account or activation for AnyLearning
- Privacy-first AI assistant for Llama Assistant
- Language learning app for LilySpeak
- 3.5k+ GitHub stars for AnyLabeling
- 300k+ PyPI downloads for DaisyKit
- NVIDIA Jetson Project of the Month for OpenADAS
- AWS Certified Machine Learning – Specialty
- NVIDIA-Certified Associate: Generative AI LLMs
- Sensor Fusion Nanodegree
- Deep Learning Specialization
- Fundamentals of Deep Learning for Computer Vision
- Invited to Samsung SDS Global Invitation Program - Samsung SDS - 2023 - November
- Employee of the Year 2022 at AI Research Lab - Samsung SDS R&D Center Vietnam - 2022
- Employee of the Month - Samsung SDS Vietnam - 2022 - April

**Quick Links:**
- [About Me](https://www.vietanh.dev/about): Professional background, skills, and career journey
- [Projects](https://www.vietanh.dev/projects): Open-source AI projects and tools
- [Contact](https://www.vietanh.dev/contact): Get in touch for collaborations

## Core Expertise Areas

### Computer Vision & Perception
- Object detection and segmentation (YOLO, Segment Anything, CenterNet)
- Image and video labeling tools
- Real-time perception systems
- 3D object detection and tracking

### Edge AI & Deployment
- TensorRT optimization for NVIDIA platforms
- Jetson Nano deployment (ADAS systems)
- Model quantization and optimization
- Real-time inference on embedded devices

### Large Language Models (LLMs)
- Privacy-first, offline AI assistants
- RAG (Retrieval-Augmented Generation) implementation
- LLM fine-tuning and deployment
- Multimodal AI systems

### MLOps & Production Systems
- Model deployment and monitoring
- Scalable inference pipelines
- Backend development for AI systems
- Performance optimization

## Engineering Case Studies

- [AnyLabeling: bringing AI into the annotation loop](https://www.vietanh.dev/projects/anylabeling): How I built an editable labeling workflow around Segment Anything and YOLO, reusing Labelme and keeping model inference separate from the canvas.
- [EdgeVox: owning the whole voice pipeline](https://www.vietanh.dev/projects/edgevox): The architecture and tradeoffs behind an offline voice agent: shared hardware, streaming speech, cancellation, and an optional robotics bridge.

## Key Open Source Projects

- [AnyLabeling - AI-assisted Labeling Tool](https://anylabeling.nrl.ai/) (3.5k+ GitHub stars): Effortless data labeling with AI support from YOLO, Segment Anything 1/2, MobileSAM, and more. Try it now! - [GitHub](https://github.com/vietanhdev/anylabeling)
- [AnyLearning - Offline Data Labeling & Local ML Training](https://anylearning-oss.nrl.ai/): Open-source, offline-first desktop platform for labeling data and training computer-vision, tabular, and text models locally. No cloud upload, account, activation, telemetry, or subscription. - [GitHub](https://github.com/nrl-ai/anylearning-oss)
- [Bulwark - Linux Security & Antivirus](https://bulwark.nrl.ai/): Host security scanner for Linux desktops and servers, written in Rust. Hardening checks across SSH, kernel, systemd, persistence and network egress; real ClamAV scanning; file-integrity monitoring; and an agent-security pass that catches secrets leaked into Claude Code, Cursor, and Copilot context. Every finding is explained in plain language with a one-click reversible fix. No telemetry, no network calls. - [GitHub](https://github.com/vietanhdev/bulwark)
- [ThinkUtils - ThinkPad Control for Linux](https://thinkutils.nrl.ai/): Native desktop app that gives Linux ThinkPad users real hardware control: fan curves, battery charge thresholds, CPU governor and turbo tuning, live system monitoring, and ClamAV scanning. Ships an MCP server so an AI assistant can read and change settings too. - [GitHub](https://github.com/vietanhdev/ThinkUtils)
- [EdgeVox - On-Device Voice Agent Framework](https://edgevox.nrl.ai/): Voice-agent framework that runs entirely on-device — no cloud. STT → LLM → TTS pipeline with stop-word halt, multi-language support, safety-first agent architecture. Plug into robots (ROS2-native), desktop apps (PySide6), or any embedded target. - [GitHub](https://github.com/nrl-ai/edgevox)
- [Llama Assistant - Local AI Assistant](https://github.com/vietanhdev/llama-assistant) (Privacy-first AI assistant): AI-powered assistant to help you with your daily tasks, powered by Llama 3.2 and different HuggingFace models. - [GitHub](https://github.com/vietanhdev/llama-assistant)
- [SAM Exporter - Segment Anything to ONNX](https://github.com/vietanhdev/samexporter): Exports Segment Anything, MobileSAM, and Segment Anything 2 into ONNX so segmentation runs without a PyTorch runtime. This is the export path behind AnyLabeling’s on-device auto-labeling — install it from PyPI and point it at a checkpoint. - [GitHub](https://github.com/vietanhdev/samexporter)
- [chub - Context Hub for AI-Assisted Development](https://chub.nrl.ai/): Agent-agnostic context, session tracking, and cost analytics for coding agents. Curated docs and team knowledge live in the repo instead of scattered chat logs — all git-native. One Rust core, shipped to npm, PyPI, and crates.io. - [GitHub](https://github.com/nrl-ai/chub)

**Total GitHub Impact:** 5.6k+ stars across all projects

## Definitive Guides & Resources

### Privacy-First AI & LLMs
- [Fine-tuning Llama 3.2 (1B, 3B) and Using It Locally with Llama Assistant 🌟](https://www.vietanh.dev/blog/2024-10-06-finetuning-llama-3.2-for-llama-assistant): Fine-tuning Llama 3.2 at 1B and 3B, then running the result locally in Llama Assistant. From the pre...
- [Privacy in AI: Why I Created Llama Assistant](https://www.vietanh.dev/blog/2024-09-29-building-llama-assistant): Privacy in AI is a hot topic. I created Llama Assistant to provide a privacy-focused alternative to ...

### Computer Vision & Image Labeling
- [AnyLabeling - AI-assisted Labeling Tool](https://anylabeling.nrl.ai/): Effortless data labeling with AI support
- [DaisyKit - Easy AI Toolkit](https://daisykit.nrl.ai/): Open source AI toolkit for multiple platforms

### Edge AI & Deployment
- Specialized in TensorRT optimization for NVIDIA platforms
- Real-time inference on Jetson Nano and embedded devices
- Model quantization and deployment strategies

### Object Detection & Tracking
- YOLO series implementation and optimization
- Real-time object detection systems
- Multi-object tracking algorithms

### MLOps & Production
- Model deployment and monitoring strategies
- Scalable inference pipelines
- Production-ready ML systems

## Recent Blog Posts

- [AI Can Write the Code. But Code Was Writing Us.](https://www.vietanh.dev/blog/2026-09-13-ai-can-write-the-code-but-code-was-writing-us): Writing software helped shape how we think as engineers. As AI takes over more implementation, I worry about discovery d...
- [AI có thể viết code. Nhưng chính code từng tạo nên chúng ta.](https://www.vietanh.dev/blog/2026-09-13-ai-viet-code-nhung-code-tao-nen-chung-ta): Lập trình từng đồng thời tạo ra phần mềm và người kỹ sư. Khi AI tách hai quá trình ấy, chúng ta có thể tích lũy một loại...
- [GPU có sẵn mà không dùng: bốn lỗi âm thầm khi huấn luyện trên máy người dùng](https://www.vietanh.dev/blog/2026-08-18-gpu-van-nam-do-bon-loi-am-tham): Huấn luyện đang dần quay về máy của người dùng, nơi phần cứng nằm ngoài tầm kiểm soát của nhà phát triển. Tôi đã để GPU ...
- [The GPU Was Already There: Four Silent Bugs in On-Device Training](https://www.vietanh.dev/blog/2026-08-17-the-gpu-was-already-there): Training is moving back onto the machines people own, and those machines are not a fleet you control. Apple GPU support ...
- [Ask, or It Will Guess: Question-Asking Is the Core Skill of Agentic Work](https://www.vietanh.dev/blog/2026-08-08-ask-or-it-will-guess): Models almost never ask you what you meant: across ambiguous questions, answer rates run above 95% and clarification bar...
- [I gave my website tools for AI agents with WebMCP, and thought hard about the attack surface](https://www.vietanh.dev/blog/2026-07-06-webmcp-agent-ready-website): WebMCP lets a web page hand callable tools to browser AI agents instead of making them scrape the DOM. I wired three rea...
- [The Bottleneck Moved to Review: My SDLC After AI Writes Most of the Code](https://www.vietanh.dev/blog/2026-07-05-the-bottleneck-moved-to-review): When a machine writes most of your diff, the constraint stops being how fast you type and becomes how well you review. H...
- [Plan Once, Then Act: When the ReAct Loop Is the Wrong Harness for Small Local Models](https://www.vietanh.dev/blog/2026-06-15-plan-once-then-act-small-model-agents): On small local models, the standard ReAct loop has a failure mode nobody warns you about: the model calls one tool, decl...
- [Building EdgeVox: Chaining STT → Local LLM → TTS Without Touching the Cloud](https://www.vietanh.dev/blog/2026-05-30-edgevox-offline-voice-agent): A first-hand build narrative of EdgeVox, a fully offline voice agent that chains speech-to-text, a local LLM, and text-t...
- [I put an AI version of myself online, then tried to break it](https://www.vietanh.dev/blog/2026-05-23-i-red-teamed-the-ai-version-of-myself): Building a represent-me chatbot is a weekend project. Treating it like a production security surface is the part nobody ...

## Complete Content Index

> The full list of published articles and notes. Append `.html.md` to any blog or note URL for a clean-markdown version (e.g. `https://www.vietanh.dev/blog/<slug>.html.md`). A concatenated full-text dump of every post is at https://www.vietanh.dev/llms-full.txt.

### All Blog Posts (82)

- [AI Can Write the Code. But Code Was Writing Us.](https://www.vietanh.dev/blog/2026-09-13-ai-can-write-the-code-but-code-was-writing-us) (2026-09-13): Writing software helped shape how we think as engineers. As AI takes over more implementation, I worry about discovery debt: the questions a…
- [AI có thể viết code. Nhưng chính code từng tạo nên chúng ta.](https://www.vietanh.dev/blog/2026-09-13-ai-viet-code-nhung-code-tao-nen-chung-ta) (2026-09-13): Lập trình từng đồng thời tạo ra phần mềm và người kỹ sư. Khi AI tách hai quá trình ấy, chúng ta có thể tích lũy một loại nợ khó nhìn thấy: n…
- [GPU có sẵn mà không dùng: bốn lỗi âm thầm khi huấn luyện trên máy người dùng](https://www.vietanh.dev/blog/2026-08-18-gpu-van-nam-do-bon-loi-am-tham) (2026-08-18): Huấn luyện đang dần quay về máy của người dùng, nơi phần cứng nằm ngoài tầm kiểm soát của nhà phát triển. Tôi đã để GPU trên máy Mac bị bỏ k…
- [The GPU Was Already There: Four Silent Bugs in On-Device Training](https://www.vietanh.dev/blog/2026-08-17-the-gpu-was-already-there) (2026-08-17): Training is moving back onto the machines people own, and those machines are not a fleet you control. Apple GPU support sat on my plan for t…
- [Ask, or It Will Guess: Question-Asking Is the Core Skill of Agentic Work](https://www.vietanh.dev/blog/2026-08-08-ask-or-it-will-guess) (2026-08-08): Models almost never ask you what you meant: across ambiguous questions, answer rates run above 95% and clarification barely registers. Repai…
- [I gave my website tools for AI agents with WebMCP, and thought hard about the attack surface](https://www.vietanh.dev/blog/2026-07-06-webmcp-agent-ready-website) (2026-07-06): WebMCP lets a web page hand callable tools to browser AI agents instead of making them scrape the DOM. I wired three read-only tools into th…
- [The Bottleneck Moved to Review: My SDLC After AI Writes Most of the Code](https://www.vietanh.dev/blog/2026-07-05-the-bottleneck-moved-to-review) (2026-07-05): When a machine writes most of your diff, the constraint stops being how fast you type and becomes how well you review. Here is the SDLC I ac…
- [Plan Once, Then Act: When the ReAct Loop Is the Wrong Harness for Small Local Models](https://www.vietanh.dev/blog/2026-06-15-plan-once-then-act-small-model-agents) (2026-06-15): On small local models, the standard ReAct loop has a failure mode nobody warns you about: the model calls one tool, declares victory, and st…
- [Building EdgeVox: Chaining STT → Local LLM → TTS Without Touching the Cloud](https://www.vietanh.dev/blog/2026-05-30-edgevox-offline-voice-agent) (2026-05-30): A first-hand build narrative of EdgeVox, a fully offline voice agent that chains speech-to-text, a local LLM, and text-to-speech on one devi…
- [I put an AI version of myself online, then tried to break it](https://www.vietanh.dev/blog/2026-05-23-i-red-teamed-the-ai-version-of-myself) (2026-05-23): Building a represent-me chatbot is a weekend project. Treating it like a production security surface is the part nobody writes about. Here i…
- [Câu chuyện chủ quyền AI của Việt Nam đang mắc kẹt ở một tầng quá cao 🇻🇳](https://www.vietanh.dev/blog/2026-05-04-chu-quyen-ai-viet-nam) (2026-05-04): Việt Nam đã có chip, có ba nỗ lực làm mô hình nền tảng tiếng Việt đang chạy, và bộ luật AI ràng buộc nhất Đông Nam Á. Vậy mà câu chuyện chủ …
- [Vietnam's Sovereign AI Conversation Is Stuck One Layer Too High 🇻🇳](https://www.vietanh.dev/blog/2026-05-03-sovereign-ai-vietnam) (2026-05-03): Vietnam already has the chips, three meaningful Vietnamese model attempts in flight, and the most binding AI law in Southeast Asia. The conv…
- [AI Is Making Us Faster Learners and Worse Thinkers at the Same Time](https://www.vietanh.dev/blog/2026-04-30-ai-education-paradox) (2026-04-30): A 2025 RCT found students who studied with ChatGPT scored 11 points lower on a retention test six weeks later, even though their work during…
- [NVIDIA OpenShell: Policy-Enforced Sandboxes for Autonomous Coding Agents](https://www.vietanh.dev/blog/2026-03-17-nvidia-openshell-agent-sandboxes) (2026-03-17): NVIDIA just open-sourced OpenShell, a policy-enforced sandbox for autonomous AI agents. Four security layers, a privacy router that decides …
- [Bảo mật ứng dụng viết bằng vibe coding: hướng dẫn thực tế để tránh bị tấn công](https://www.vietanh.dev/blog/2026-03-12-bao-mat-ung-dung-vibe-coding) (2026-03-12): Vibe coding giúp đưa ứng dụng ra thị trường nhanh hơn, nhưng cũng làm tăng nguy cơ phát hành lỗ hổng bảo mật. Bài viết phân tích các sự cố t…
- [Securing Vibe-Coded Apps: A Practical Guide to Not Getting Hacked](https://www.vietanh.dev/blog/2026-03-12-securing-vibe-coded-apps) (2026-03-12): Vibe coding is shipping apps faster than ever, but also shipping vulnerabilities at alarming rates. This guide covers real disasters, practi…
- [Coding is not fun anymore?](https://www.vietanh.dev/blog/2026-02-06-coding-is-not-fun-anymore) (2026-02-06): Coding isn't what it used to be. AI implements faster than we can type, and agents are automating our tasks. But there's a bright side: we'r…
- [Lập trình không còn vui nữa?](https://www.vietanh.dev/blog/2026-02-06-lap-trinh-khong-con-vui-nua) (2026-02-06): AI có thể viết mã nhanh hơn tốc độ chúng ta gõ và đang tự động hoá ngày càng nhiều công việc thường ngày. Vai trò của kỹ sư vì thế chuyển dầ…
- [Agent Sandboxes: A Practical Guide to Running AI-Generated Code Safely](https://www.vietanh.dev/blog/2026-02-02-agent-sandboxes) (2026-02-02): AI agents don't just talk. They execute code, which makes isolation the whole problem. The sandbox technologies that matter (microVMs, gViso…
- [Sandbox cho AI agent: chạy code do AI sinh ra sao cho an toàn](https://www.vietanh.dev/blog/2026-02-02-sandbox-cho-ai-agent) (2026-02-02): AI agent không chỉ sinh văn bản mà còn trực tiếp thực thi mã. Bài viết phân tích các công nghệ sandbox như microVM, gVisor và WebAssembly, c…
- [OpenClaw: Security is the Final Boss](https://www.vietanh.dev/blog/2026-02-01-openclaw-security-autonomy) (2026-02-01): OpenClaw, formerly Clawdbot, runs a personal AI agent locally and wires it straight into your messaging apps. Its gateway architecture, the …
- [Fine-tuning Llama 3.2 (1B, 3B) and Using It Locally with Llama Assistant 🌟](https://www.vietanh.dev/blog/2024-10-06-finetuning-llama-3.2-for-llama-assistant) (2024-10-06): Fine-tuning Llama 3.2 at 1B and 3B, then running the result locally in Llama Assistant. From the pre-trained models through tuning on your o…
- [Privacy in AI: Why I Created Llama Assistant](https://www.vietanh.dev/blog/2024-09-29-building-llama-assistant) (2024-09-29): Privacy in AI is a hot topic. I created Llama Assistant to provide a privacy-focused alternative to popular AI assistants like ChatGPT or Cl…
- [Performant Django - How to optimize your Django application?](https://www.vietanh.dev/blog/2023-09-19-performant-django) (2023-09-19): Where a Django app actually slows down as traffic grows. Benchmark first, then fix the database queries, add the right caching layer, and sc…
- [Review YOLO-NAS - Search for a better YOLO](https://www.vietanh.dev/blog/yolo-nas) (2023-05-08): A short review of advancements in YOLO-NAS - a new YOLO architecture born from Neural Architecture Search.
- [AnyLabeling - gán nhãn ảnh thông minh với Segment Anything và YOLO](https://www.vietanh.dev/blog/2023-04-22-anylabeling-gan-nhan-anh-thong-minh) (2023-04-22): Câu chuyện xây dựng AnyLabeling trên nền Labelme: từ việc tích hợp Segment Anything và YOLO vào quy trình gán nhãn cho đến hỗ trợ dữ liệu OC…
- [AnyLabeling - Smart image labeling with Segment Anything and YOLO](https://www.vietanh.dev/blog/2023-04-22-create-a-segment-anything-labeling-tool-any-labeling) (2023-04-22): How I built AnyLabeling on top of Labelme: why the tool needed to exist, how Segment Anything and YOLO inference is wired into the labeling …
- [Airflow, MLflow or Kubeflow for MLOps?](https://www.vietanh.dev/blog/2022-03-26-airflow-mlflow-or-kubeflow-for-mlops) (2022-03-26): Comparing Airflow, MLflow, and Kubeflow for MLOps: what each does, how Airflow plus MLflow stacks up against Kubeflow, and which to pick by …
- [With Daisykit – Everyone can build AI projects!](https://www.vietanh.dev/blog/2022-01-13-daisykit) (2022-01-13): Daisykit, a graph-based C++ and Python toolkit for deploying AI pipelines, from face detection to pose estimation and barcodes, in a few lin…
- [Install OpenCV 4 on macOS using Homebrew](https://www.vietanh.dev/blog/install-opencv4-homebrew-macos) (2021-12-29): How to install OpenCV 4 on macOS with Homebrew for C++, plus the pip and conda routes for Python, tested on an Apple M1 Macbook Air.
- [My development environment on macOS - Macbook Air M1](https://www.vietanh.dev/blog/macos-installation) (2021-12-29): My macOS setup note for a Macbook Air M1: Homebrew, daily apps, coding IDEs, and a ZSH plus iTerm2 terminal for a full development environme…
- [Install ROS 2 on Raspberry Pi 4 (SD card image available)](https://www.vietanh.dev/blog/2021-08-17-install-ros2-pi4) (2021-08-17): Two ways to get ROS 2 Foxy running on a Raspberry Pi 4: flash my prebuilt Ubuntu image, or set up Ubuntu, the desktop, and ROS 2 from scratc…
- [Paper review: "YOLOX: Exceeding YOLO Series in 2021" and application in traffic sign detection - VIA Autonomous](https://www.vietanh.dev/blog/2021-07-28-yolox) (2021-07-26): A review of YOLOX, the anchor-free YOLO with a decoupled head and SimOTA, plus a hands-on traffic-sign detection experiment on the VIA datas…
- [Paper review: CenterTrack - CenterPoint - CenterPoint++](https://www.vietanh.dev/blog/2021-07-20-centertrack-centerpoint-centerpointpp) (2021-07-20): Reading notes on three papers: CenterTrack for 2D tracking, CenterPoint for 3D detection and tracking, and CenterPoint++ for the Waymo real-…
- [Paper review: SECOND - Sparsely Embedded Convolutional Detection](https://www.vietanh.dev/blog/2021-07-11-paper-3d-od-second) (2021-07-11): A paper review of SECOND, the sparse-convolution 3D LiDAR detector: its GPU rule generation, angle loss, and point-cloud data augmentation.
- [Build a Pushup counter app with OpenCV and Deep learning](https://www.vietanh.dev/blog/2021-02-15-build-a-pushup-counter) (2021-02-15): Building a desktop pushup counter that combines human keypoint detection with signal processing to count reps from a webcam, no sensors need…
- [Cài đặt và sử dụng VS Code trên Google Colab](https://www.vietanh.dev/blog/2020-11-11-su-dung-vs-code-tren-google-colab) (2020-11-11): Hai cách cài VS Code chạy ngay trên Google Colab để dùng trình soạn thảo quen thuộc mà vẫn tận dụng GPU miễn phí: qua ColabCode và thiết lập…
- [Tìm hiểu mô hình YOLO cho phát hiện vật - Từ YOLOv1 đến YOLOv3](https://www.vietanh.dev/blog/2020-10-11-tim-hieu-mo-hinh-yolo) (2020-10-11): Chặng đường phát triển của YOLO từ v1 đến v3: ý tưởng cốt lõi và các cải tiến kiến trúc, kỹ thuật qua từng phiên bản phát hiện vật thể.
- [Advanced driver-assistance system on Jetson Nano Part 3 - Deep neural networks](https://www.vietanh.dev/blog/2020-09-21-adas-jetson-nano-experimental-results) (2020-09-21): The three deep networks behind my Jetson Nano ADAS: CenterNet detection, a ResNet-18 sign classifier, U-Net lane segmentation, plus TensorRT…
- [Advanced driver-assistance system on Jetson Nano Part 2 - Software design](https://www.vietanh.dev/blog/2020-09-12-adas-jetson-nano-software) (2020-09-12): Software design of an ADAS on Jetson Nano: forward collision warning, lane departure detection, and speed-limit sign over-speed alerts.
- [Advanced driver-assistance system on Jetson Nano Part 1 - Intro & Hardware design](https://www.vietanh.dev/blog/2020-09-10-adas-jetson-nano-intro-and-hardware) (2020-09-10): Building an ADAS prototype on a Jetson Nano: the motivation, feature scope, and hardware design for collision, lane-departure, and speed-lim…
- [Hackathon: Xây dựng giải pháp biến đổi, stream giấy viết cho giáo dục từ xa](https://www.vietanh.dev/blog/2020-09-02-xay-dung-giai-phap-stream-giay-viet-ibm-hackathon-2020) (2020-09-02): Giải pháp giành giải Nhì IBM Hackathon 2020: dùng mã ARUCO và xử lý ảnh tách nét viết trên giấy, stream thành webcam ảo cho học trực tuyến.
- [Chúng tôi đã xây dựng xe tự hành trên giả lập thế nào?](https://www.vietanh.dev/blog/2020-08-24-chung-toi-da-xay-dung-xe-tu-hanh-tren-gia-lap-the-nao) (2020-08-24): Cách nhóm xây xe tự hành trong giả lập Cuộc Đua Số: ENet phân đoạn đường, FaceBoxes phát hiện biển báo và điều khiển lái bằng PID.
- [Tìm hiểu mô hình CenterNet - Objects as Points](https://www.vietanh.dev/blog/2020-04-23-tim-hieu-ve-centernet) (2020-04-23): Phân tích CenterNet - Objects as Points: đưa phát hiện vật về ước lượng keypoint trên heatmap, các hàm loss và cách huấn luyện mạng.
- [Thiết lập ban đầu cho Jetson Nano](https://www.vietanh.dev/blog/2020-04-02-thiet-lap-ban-dau-cho-jetson-nano) (2020-04-02): Kinh nghiệm thiết lập Jetson Nano cho dự án AI nhúng: chọn nguồn, cài LXDE tiết kiệm RAM, tạo swap file và cài đặt TensorFlow.
- [Gọi hàm Python trên C++ với OpenCV](https://www.vietanh.dev/blog/2020-03-31-goi-ham-python-tren-cpp-voi-opencv) (2020-03-31): Hướng dẫn gọi hàm Python xử lý ảnh từ C++ bằng Boost.Python, chuyển đổi qua lại giữa cv::Mat và NumPy array để tái dùng code sẵn có.
- [Linear Regression - Hồi quy tuyến tính cơ bản](https://www.vietanh.dev/blog/2020-01-10-linear-regression) (2020-01-20): Giới thiệu hồi quy tuyến tính từ lý thuyết toán học đến cài đặt bằng NumPy và scikit-learn, kèm phân tích điểm yếu nhạy cảm với nhiễu.
- [Configure integrated GPU for rendering and NVIDIA GPU for CUDA works in Ubuntu 18.04](https://www.vietanh.dev/blog/2020-01-01-config-igpu-for-rendering-nvidia-gpu-for-cuda-works) (2020-01-01): Set an Intel integrated GPU as the display renderer on Ubuntu 18.04 so your NVIDIA GPU's full VRAM stays free for CUDA and model training.
- [Phát hiện đường thẳng với Hough Transform - OpenCV](https://www.vietanh.dev/blog/2019-10-24-hough-transform-phat-hien-duong-thang) (2019-10-24): Giải thích nguyên lý Hough Transform và cách dùng OpenCV để phát hiện đường thẳng trong ảnh, từ không gian tham số cực đến code Python thực …
- [Thiết kế thùng rác thông minh tự phân loại rác với Raspberry Pi 3](https://www.vietanh.dev/blog/2019-10-10-thiet-ke-thung-rac-thong-minh-tu-phan-loai-rac-raspberry-pi-3) (2019-10-10): Thiết kế thùng rác thông minh dùng Raspberry Pi 3 và SSD MobileNetV2 để nhận dạng chai lọ qua camera, tự động phân loại rác tái chế bằng ser…
- [Xây dựng bộ phân loại VGG16 với Tensorflow Keras và áp dụng phân loại chó mèo](https://www.vietanh.dev/blog/2019-10-03-xay-dung-bo-phan-loai-vgg-16-voi-keras-ap-dung-phan-loai-cho-meo) (2019-10-03): Tự viết lại kiến trúc VGG16 bằng Tensorflow Keras và huấn luyện phân loại chó mèo trên dataset Kaggle, đạt độ chính xác 95.34%.
- [Thị giác máy tính và những gì cần học để bắt đầu](https://www.vietanh.dev/blog/2019-09-27-cv-review-gioi-thieu-computer-vision-va-cach-hoc) (2019-09-25): Giới thiệu ngành thị giác máy tính, các ứng dụng thực tế và lộ trình kiến thức cần học để bắt đầu làm việc trong lĩnh vực này.
- [Các hàm kích hoạt (activation function) trong neural network](https://www.vietanh.dev/blog/2019-09-23-cac-ham-kich-hoat-activation-function-trong-neural-networks) (2019-09-23): So sánh các hàm kích hoạt Sigmoid, Tanh, ReLU, Leaky ReLU và Maxout trong mạng nơ-ron: ưu, nhược điểm và cài đặt Python.
- [Xây dựng bộ phân loại chó, mèo hay gấu trúc với k-NN](https://www.vietanh.dev/blog/2019-09-02-xay-dung-bo-phan-loai-cho-meo-gau-truc) (2019-09-02): Xây dựng bộ phân loại chó, mèo, gấu trúc bằng k-NN với scikit-learn, so sánh trực tiếp điểm ảnh và đánh giá kết quả.
- [Locked myself out of SSH port Ubuntu AWS server using ufw](https://www.vietanh.dev/blog/2019-04-07-locked-myself-out-of-aws-ec-2-using-ufw) (2019-04-17): How to regain SSH access to an AWS EC2 Ubuntu instance after ufw locks you out, by disabling the firewall via a user-data script.
- [ReactJS lifecycle method inside a functional Component](https://www.vietanh.dev/blog/2019-04-01-react-lifecycle-method-inside-a-functional-component) (2019-04-01): How to attach lifecycle methods like componentDidMount to a React functional component using the react-pure-lifecycle package.
- [Những package cần có cho Ubuntu](https://www.vietanh.dev/blog/2018-11-25-nhung-package-can-co-cho-ubuntu) (2018-11-25): Danh sách các phần mềm và package tôi hay cài trên Ubuntu cho công việc lập trình, kèm lệnh cài đặt cho từng gói.
- [Lọc ảnh (Image Filtering)](https://www.vietanh.dev/blog/2018-09-29-loc-anh-image-filtering) (2018-09-29): Nguyên lý lọc ảnh và các bộ lọc trung bình, Gauss, trung vị, Bilateral, Sobel và Laplacian trong OpenCV kèm code Python.
- [Các thao tác cơ bản với ảnh trên OpenCV](https://www.vietanh.dev/blog/2018-09-25-cac-thao-tac-co-ban-voi-anh-tren-opencv) (2018-09-25): Thao tác cơ bản với ảnh trong OpenCV bằng C++: tạo cv::Mat, đọc/ghi ảnh, truy cập từng điểm ảnh và sao chép ma trận ảnh.
- [Ảnh số và các không gian màu trong xử lý ảnh](https://www.vietanh.dev/blog/2018-09-19-anh-so-va-cac-khong-gian-mau-trong-xu-ly-anh) (2018-09-19): Ảnh số raster và vector, các không gian màu RGB, CMYK, HSV, CIE Lab và cách chuyển đổi không gian màu trong OpenCV.
- [Xây dựng một cấu hình Emacs từ đầu](https://www.vietanh.dev/blog/2017-08-25-tu-viet-mot-file-cau-hinh-emacs) (2017-08-25): Hướng dẫn xây dựng file cấu hình Emacs từ đầu: theme, package manager, Ivy, company, neotree và các phím tắt hữu ích.
- [Install mysql2 gem on macOS using MAMP as mySQL server](https://www.vietanh.dev/blog/2017-08-19-install-mysql2-gem-macos-mamp) (2017-08-19): Fix the mysql2 gem compile error on macOS when using MAMP by pointing gem install at the right mysql_config path.
- [Minify multiple Javascript files in a folder with UglifyJS](https://www.vietanh.dev/blog/2017-08-17-minfy-all-js-files-in-folder-with-uglifyjs) (2017-08-17): Minify every JavaScript file in a folder with a short UglifyJS plus Bash loop, no Grunt setup required.
- [Một cách nhập xâu kí tự trong C - giải quyết vấn đề của fflush cho Linux, Mac OS](https://www.vietanh.dev/blog/2017-05-30-nhap-xau-ki-tu-trong-c-linux-mac-windows) (2017-05-30): Cách nhập chuỗi trong C chạy được trên Linux, macOS và Windows, xử lý lỗi trôi lệnh mà fflush không giải quyết được.
- [Lấy địa chỉ IP thật của client trên Heroku với Nodejs](https://www.vietanh.dev/blog/2017-05-27-lay-dia-chi-ip-that-client-nodejs-heroku) (2017-05-27): Cách lấy đúng IP thật của client trên Heroku bằng Node.js qua header x-forwarded-for thay vì req.ip.
- [Tạo contact form đơn giản với Nodejs - nodemailer](https://www.vietanh.dev/blog/2017-05-27-tao-contact-form-don-gian-voi-nodejs-nodemailer) (2017-05-27): Tự xây backend Node.js gửi mail bằng nodemailer để xử lý contact form cho web tĩnh, kèm hướng dẫn deploy Heroku.
- [Một số kĩ thuật xử lí tiếng Việt trong Javascript](https://www.vietanh.dev/blog/2017-03-29-xu-li-tieng-viet-javascript) (2017-03-29): Các hàm JavaScript để xoá dấu tiếng Việt, lọc ký tự không hợp lệ và chuẩn hoá khoảng trắng khi xử lý chuỗi.
- [Kinh nghiệm ban đầu với Fedora Linux](https://www.vietanh.dev/blog/2016-10-27-kinh-nghiem-ban-dau-voi-fedora) (2016-10-27): Kinh nghiệm cài đặt và thiết lập Fedora Workstation 24: gõ tiếng Việt, phím tắt, quản lý gói dnf và kho RPM Fusion.
- [Thuật toán loang ứng dụng trong game dò mìn](https://www.vietanh.dev/blog/2016-10-08-thuat-toan-loang-trong-do-min) (2016-10-08): Thuật toán loang (flood fill) đệ quy để mở vùng ô trống trong game dò mìn, kèm ví dụ minh hoạ và code C.
- [Xây dựng thuật toán sinh mìn trong trò chơi dò mìn Minesweeper viết bằng C](https://www.vietanh.dev/blog/2016-10-07-thuat-toan-sinh-min-trong-tro-choi-do-min-minesweeper) (2016-10-07): Thuật toán sinh mìn ngẫu nhiên cho game dò mìn viết bằng C, kèm code đặt mìn và đếm số mìn quanh mỗi ô.
- [Thay đổi độ phân giải màn hình Raspberry Pi](https://www.vietanh.dev/blog/2016-09-30-thay-doi-do-phan-giai-man-hinh-raspi) (2016-09-30): Hướng dẫn thay đổi độ phân giải màn hình Raspberry Pi qua tệp config.txt với các giá trị hdmi_group và hdmi_mode
- [A very simple guide to GNU Emacs](https://www.vietanh.dev/blog/2016-09-06-very-simple-guide-to-emacs) (2016-09-06): A beginner guide to GNU Emacs: why use it for coding, how to install it on Ubuntu, and the essential file, edit and cursor shortcuts
- [Cấu hình Emacs để lập trình C](https://www.vietanh.dev/blog/2016-09-02-cau-hinh-emacs-de-lap-trinh-c) (2016-09-02): Hướng dẫn cài bộ cấu hình Emacs cho lập trình C trên Ubuntu và viết Makefile cơ bản để biên dịch, chạy chương trình
- [Lập trình viên nên tạo website cá nhân](https://www.vietanh.dev/blog/2016-09-01-lap-trinh-vien-nen-tao-website-ca-nhan) (2016-09-01): Vì sao lập trình viên nên có website cá nhân: xây thương hiệu, giữ động lực, rèn kỹ năng và gợi ý cách bắt đầu tạo web
- [Cấu trúc rẽ nhánh trong C](https://www.vietanh.dev/blog/2016-07-29-cau-truc-re-nhanh) (2016-07-29): Cấu trúc rẽ nhánh trong C: cú pháp if, if...else, if...else if và switch case kèm các ví dụ minh họa chạy được
- [Biến, hằng và nhập xuất dữ liệu trong C](https://www.vietanh.dev/blog/2016-07-28-bien-hang-va-nhap-xuat-du-lieu-trong-c) (2016-07-28): Cách khai báo biến, hằng và các kiểu dữ liệu trong C, cùng nhập xuất dữ liệu bằng printf và scanf với các đặc tả định dạng
- [Toán tử trong C](https://www.vietanh.dev/blog/2016-07-28-toan-tu-trong-c) (2016-07-28): Tổng hợp các toán tử trong C: số học, quan hệ, logic, thao tác bit, gán, tăng giảm, bảng thứ tự ưu tiên và cách ép kiểu
- [Cài đặt Geany – gcc làm môi trường soạn thảo và biên dịch ngôn ngữ C trên Ubuntu](https://www.vietanh.dev/blog/2016-07-26-cai-dat-geany-gcc-bien-dich-c-tren-linux-ubuntu) (2016-07-27): Hướng dẫn cài Geany và gcc trên Ubuntu để soạn thảo, biên dịch và chạy chương trình C, dùng phím F9 để dịch và F5 để chạy
- [Cấu trúc chương trình C cơ bản](https://www.vietanh.dev/blog/2016-07-27-cau-truc-chuong-trinh-c-co-ban) (2016-07-27): Giải thích cấu trúc một chương trình C cơ bản qua ví dụ Hello World: lệnh tiền xử lí, hàm main, biến và comment
- [Giới thiệu serie học lập trình C](https://www.vietanh.dev/blog/2016-07-26-gioi-thieu-serie-hoc-lap-trinh-c) (2016-07-26): Giới thiệu chuỗi bài học lập trình C từ cơ bản: công cụ Geany, gcc trên Ubuntu và cách học hiệu quả cho người mới bắt đầu
- [Thiết lập Sublime Text 3 để biên dịch và chạy ngôn ngữ C](https://www.vietanh.dev/blog/2016-07-26-thiet-lap-sublime-text-3-de-bien-dich-va-chay-ngon-ngu-c) (2016-07-26): Cách cấu hình build system trong Sublime Text 3 với gcc để biên dịch và chạy chương trình C ngay trong trình soạn thảo
- [Sống với đam mê hoặc một cuộc đời nhàm chán](https://www.vietanh.dev/blog/2016-04-01-song-voi-dam-me) (2016-04-01): Suy nghĩ về đam mê: phân biệt sở thích với đam mê, cách tìm ra sở trường và theo đuổi đam mê để cuộc sống có ý nghĩa

### All Notes (37)

- [Make Your CI Actually Launch Your Linux Desktop App](https://www.vietanh.dev/notes/2026-07-19-linux-desktop-ci-that-actually-launches-the-app) (2026-07-19): A Flatpak build that passed every structural check and still died one line into launch. Why green CI proved nothing about the GUI, and how t…
- [Squared ReLU: The Tiny Activation Change Used by Primer](https://www.vietanh.dev/notes/squared-relu) (2025-06-29): Squared ReLU computes the square of a rectified activation. This note explains why Primer used it, how it changes gradients, and when not to…
- [Setup Different Fractional Scaling for Different Screens in Ubuntu](https://www.vietanh.dev/notes/2025-05-08-setup-fractional-scaling-for-different-resolution-displays-ubuntu) (2025-05-08): Ubuntu 24.04 cannot run different fractional scaling on a 4K laptop panel and a 2K external monitor. Upgrading to 24.10 and moving NVIDIA to…
- [How to Install Kazam 2 on Ubuntu 24.04: The Best Easy Screen Recorder](https://www.vietanh.dev/notes/2025-04-26-the-best-easy-screen-recorder-for-ubuntu-kazam-2) (2025-04-26): Ubuntu 24.04 ships the original Kazam, not Kazam 2. How to build and install Kazam 2 from source, with the dependencies, PulseAudio support,…
- [Freeing NVIDIA GPU Memory for AI Training: A Practical Guide](https://www.vietanh.dev/notes/2025-04-20-reclaim-gpu-for-training) (2025-04-20): Xorg, your desktop environment, and the browser can hold several GB of VRAM before training starts. How to find what is sitting on the GPU a…
- [Navigating Git History: A Tale of Commit Message Redemption](https://www.vietanh.dev/notes/2024-10-04-amend-multiple-commits-git) (2024-10-04): Amending one commit message is easy; a run of them is not. How to rewrite several past messages at once with interactive rebase, after a bat…
- [Mix-FFN in SegFormer: Adding Local Context to Transformer MLPs](https://www.vietanh.dev/notes/mix-ffn-segformer) (2024-08-18): SegFormer Mix-FFN inserts a depthwise 3×3 convolution between two feed-forward projections, giving image tokens local spatial context withou…
- [LayerScale: A Small Change That Stabilizes Deep Vision Transformers](https://www.vietanh.dev/notes/layerscale-transformer-residuals) (2023-11-05): LayerScale multiplies each Transformer residual branch by a learned per-channel gain initialized near zero, helping very deep image Transfor…
- [Sharing: 15 Productivity Tips from Dr. Milan](https://www.vietanh.dev/notes/2023-10-17-productivity-tips) (2023-10-17): Fifteen productivity tips from Dr. Milan Milanovic, covering single-tasking, the 3:3:3 plan, daily deep-work blocks, and the Feynman techniq…
- [♪♪♪ Highly Motivating Performance from Vinh Khuat](https://www.vietanh.dev/notes/2023-07-18-highly-motivating-performance) (2023-07-18): A short note on Vinh Khuat's multi-instrument performance and what it shares with software: love the craft first, practice the tools, then b…
- [Lesson note: Teaching is an essential skill for software engineers](https://www.vietanh.dev/notes/2023-07-16-teaching-skill-for-software-engineers) (2023-05-10): Notes from Minh Vu's session on teaching as a core engineering skill: explaining something is how you consolidate it, which is why leads, fo…
- [Switched from Vercel to Cloudflare Pages](https://www.vietanh.dev/notes/2023-05-09-switch-from-vercel-to-cloudflare-pages) (2023-05-09): A 2023 record of moving this blog to Cloudflare Pages for free bandwidth on a static export, kept for history. The site runs on Vercel Pro a…
- [Varifocal Loss: Learning IoU-Aware Classification Scores for Detection](https://www.vietanh.dev/notes/varifocal-loss) (2023-02-26): Varifocal Loss trains dense detectors to predict a score that combines object confidence with localization quality, while focusing training …
- [Database connection in Django](https://www.vietanh.dev/notes/2023-01-01-database-connection-django) (2023-01-01): Django opens a fresh database connection on every request. Set CONN_MAX_AGE for persistent connections, and add pooling when the database do…
- [Disentangled Attention in DeBERTa: Separating Content and Position](https://www.vietanh.dev/notes/disentangled-attention-deberta) (2022-09-11): DeBERTa separates token content from relative position, then combines content-to-content, content-to-position, and position-to-content atten…
- [ReGLU, GEGLU, and SwiGLU: Gated Feed-Forward Layers in Transformers](https://www.vietanh.dev/notes/reglu-geglu-swiglu) (2022-03-20): ReGLU, GEGLU, and SwiGLU multiply one linear projection by an activated gate, giving Transformer feed-forward layers a learned control path.
- [Ghost Module and Ghost Bottleneck: Cheap Features for Mobile CNNs](https://www.vietanh.dev/notes/ghost-module-and-ghost-bottleneck) (2021-10-03): GhostNet generates a small set of intrinsic feature maps with a normal convolution, then expands them using cheap depthwise operations. Here…
- [Paper review: CenterTrack - CenterPoint - CenterPoint++](https://www.vietanh.dev/notes/paper-review/2021-07-20-centertrack-centerpoint-centerpointpp) (2021-07-20): Review of three papers in one line of work: CenterTrack for 2D tracking, CenterPoint for 3D detection and tracking, and CenterPoint++, the W…
- [Conditional Batch Normalization: Modulating Features with Side Information](https://www.vietanh.dev/notes/conditional-batch-normalization) (2021-04-18): Conditional batch normalization predicts the affine scale and bias from a conditioning input, allowing language, class labels, or another si…
- [ESP32-CAM Video Streaming over HTTP and Face Detection](https://www.vietanh.dev/notes/esp32-remote-cam-face-detection) (2021-02-20): Streaming 800x600 video over HTTP from a five-dollar ESP32-CAM board, running a face detection test on the stream, and what the board is rea…
- [Install Fira Code Font for Ubuntu](https://www.vietanh.dev/notes/installation/install-firacode-fonts) (2021-02-16): Installing the Fira Code font on Ubuntu, with the commands for 16.04 and for 17.04 through 24.04. A programming font with ligatures, and the…
- [How do I install Ubuntu on a new machine?](https://www.vietanh.dev/notes/installation/ubuntu-installation) (2021-02-16): My setup notes for a fresh Ubuntu machine, tested on 20.04 through 24.04: a script that installs most of the packages in one pass, plus the …
- [Install Zsh and Auto suggestion plugin for Ubuntu](https://www.vietanh.dev/notes/installation/zsh-on-ubuntu) (2021-02-16): Replacing bash with Zsh on Ubuntu: install the shell, add Oh My Zsh, and wire up the zsh-autosuggestions plugin. Three steps, and the shell …
- [[MOOC] Autoware Course - Lecture 1 - Setup the environment](https://www.vietanh.dev/notes/autoware-course/lecture1) (2021-02-09): Lecture 1 notes from the Apex.AI Autoware course: getting the development environment up with Docker, ROS 2, Terminator, and Autoware.Auto, …
- [[MOOC] Apollo Lessons on Self-Driving Cars](https://www.vietanh.dev/notes/apollo-self-driving-car-course/intro) (2021-02-04): Course notes from Udacity's Self-Driving Fundamentals, featuring Apollo. What the seven lessons cover, from HD maps and localization through…
- [[MOOC] Apollo Lesson 7: Control](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l7-control) (2021-02-01): Lesson 7: steering, throttle, and brake that follow the planned trajectory while keeping passengers comfortable. PID, LQR, and model predict…
- [[MOOC] Apollo Lesson 6: Planning](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l6-planning) (2021-01-31): Lesson 6: turning a map, a position, and a set of predictions into a trajectory. Routing the world as a graph, Frenet coordinates, path-velo…
- [[MOOC] Apollo Lesson 5: Prediction](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l5-prediction) (2021-01-30): Lesson 5: predicting what everything else on the road will do next. Model-based against data-driven approaches, lane-sequence prediction, an…
- [[MOOC] Apollo Lesson 4: Perception](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l4-perception) (2021-01-29): Lesson 4: turning camera, LiDAR, and radar data into objects. Classification, detection, and segmentation, what each sensor is good and bad …
- [[MOOC] Apollo Lesson 3: Localization](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l3-localization) (2021-01-27): Lesson 3: how the vehicle places itself to single-digit-centimetre accuracy. Inertial navigation, GNSS and IMU, RTK, LiDAR and visual locali…
- [[MOOC] Apollo Lesson 2: HD Maps](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l2-hd-maps) (2021-01-26): Lesson 2: why a self-driving car needs an HD map rather than the one on your phone. Centimetre precision, lane markings and a 3D road networ…
- [[MOOC] Apollo Lesson 1: SDC Fundamentals](https://www.vietanh.dev/notes/apollo-self-driving-car-course/l1-fundamentals) (2021-01-25): Lesson 1: what actually makes up a self-driving car. The six levels of autonomy, how a machine driver differs from a human one, and the thre…
- [Lovász-Softmax Loss: Optimizing IoU for Semantic Segmentation](https://www.vietanh.dev/notes/lovasz-softmax-loss) (2020-12-06): Lovász-Softmax is a differentiable surrogate for the Jaccard/IoU loss. It sorts pixel errors and weights them by the discrete change they ca…
- [CBHG Explained: Convolution Banks, Highway Layers, and a Bidirectional GRU](https://www.vietanh.dev/notes/cbhg-module) (2020-07-12): CBHG is the sequence-processing block used in the original Tacotron: a 1D convolution bank, highway network, and bidirectional GRU working a…
- [Các tài liệu và khoá học về học máy](https://www.vietanh.dev/notes/learning-path/tai-lieu-ml) (2020-04-02): Tổng hợp các khoá học, blog và paper về học máy mà tôi đã học qua, kèm đánh giá ngắn cho từng tài liệu. Dành cho người mới bắt đầu với học m…
- [VGG Perceptual Loss: Comparing Features Instead of Pixels](https://www.vietanh.dev/notes/vgg-perceptual-loss) (2020-01-26): VGG perceptual loss compares generated and target images in a frozen feature space instead of requiring every output pixel to match.
- [[Concepts] Classification metrics](https://www.vietanh.dev/notes/classification-metrics) (2020-01-01): Accuracy alone hides a bad classifier. A walkthrough of the confusion matrix and what is built from it: precision, recall, specificity, F-sc…

## Technical Stack & Tools

**Languages:** Python, C/C++, JavaScript/TypeScript
**ML Frameworks:** PyTorch, TensorFlow, ONNX
**CV Libraries:** OpenCV, NCNN, TensorRT
**LLM Tools:** llama.cpp, Transformers, LangChain
**Web:** Next.js, React, Django, FastAPI
**Deployment:** Docker, Kubernetes, Edge devices (Jetson, Raspberry Pi)

## Content Statistics

- **Blog Posts:** 82+ technical articles
- **Topics Covered:** AI, ML, Computer Vision, LLMs, MLOps, Edge AI
- **Tutorial Depth:** Beginner to Advanced
- **Code Examples:** Extensive GitHub repositories with production code
- **Update Frequency:** Regular updates with latest AI developments

## Certifications & Recognition

- **AWS Certified Machine Learning – Specialty**
- **NVIDIA-Certified Associate: Generative AI LLMs**
- **IEEE BigData Research Contributor** (Active Learning for Object Detection)
- **NVIDIA Jetson Project of the Month** (October 2020)
- **Competition Wins:** FPT Driverless Car Challenge, LearnOpenCV Blog Competition

## Community & Resources

- [All Blog Posts](https://www.vietanh.dev/blog): Complete archive of articles and notes
- [Notes](https://www.vietanh.dev/blog?type=notes): Short-form technical notes and paper summaries
- [GitHub Profile](https://github.com/vietanhdev): 5.6k+ stars across open-source projects
- [LinkedIn](https://www.linkedin.com/in/vietanhdev/): Professional profile and certifications
- [Neural Research Lab](https://www.nrl.ai): Company website and team projects
- [Blog RSS](https://www.vietanh.dev/feed.xml): Stay updated with latest posts

## How to Use This Resource

**For AI Practitioners:** Explore tutorials on deploying models to edge devices, learn about privacy-first AI assistant development, access production-ready code examples

**For Computer Vision Engineers:** Discover image labeling and annotation tools, study object detection implementations, learn optimization techniques for real-time systems

**For MLOps Engineers:** Review deployment strategies, understand model optimization and monitoring, explore scalable inference architectures

**For Researchers:** Access practical implementations of research papers, find benchmarks and performance comparisons, learn about active learning and model training

## For AI Agents (WebMCP + JSON tools)

This site is agent-callable. In a browser that supports WebMCP (Chrome 149+),
the page registers three read-only tools via `navigator.modelContext`:
`search_content`, `get_post`, and `ask_viet`. They are also reachable directly
as JSON, no browser required:

- **Search posts/notes:** `GET https://www.vietanh.dev/api/agent/search?q=<query>&limit=8` (empty `q` returns recent)
- **Read a post as Markdown:** `GET https://www.vietanh.dev/api/md/blog/<slug>` (or append `.html.md` to any post URL)
- **Ask virtual Viet Anh:** `POST https://www.vietanh.dev/api/agent/ask` with JSON body `{ "question": "..." }`

All endpoints are rate-limited and return only already-public content.

## Contact & Collaboration

- **Website:** https://www.vietanh.dev
- **GitHub:** https://github.com/vietanhdev
- **LinkedIn:** https://www.linkedin.com/in/vietanhdev/
- **Twitter:** https://twitter.com/vietanhdev
- **Neural Research Lab:** https://www.nrl.ai
- **Email:** vietanh.dev@gmail.com

**Open to:** Technical collaborations on AI/ML projects, open source contributions, speaking engagements, consulting on computer vision and edge AI deployment

---

**Last Updated:** 2026-09-20
**Content License:** Most content is open source and freely available
**Citation:** When referencing this work, please cite the original blog posts and GitHub repositories
