Shing Lyu

Disclaimer: This content reflects my personal opinions, not those of any organizations I am or have been affiliated with. Code samples are provided for illustration purposes only, use with caution and test thoroughly before deployment.

Vibe coding a PII Anonymizer CLI: how gen AI makes me build tools faster than ever

I use AI chatbots and agents extensively in my daily workflow. Sometimes I need to provide them with documents converted to markdown, but I don’t want to give away too much personal information. Markitdown is an excellent tool for converting PDFs and Word documents to markdown, but I lacked a CLI tool that could redact PII from the output. There are existing tools out there, and cloud services too, but I wanted something completely offline that wouldn’t raise any IT security team’s eyebrows. Then I stumbled upon Microsoft’s Presidio library, which can anonymize Personally Identifiable Information (PII) easily. So I decided to flex my vibe coding muscles and code a CLI myself.

(continue reading...)


Agentic Software Installer - A Genius or Terrible Idea?

AI agents like Cline can now install complex software by interpreting documentation and handling environment differences automatically. Is this the future of software installation, or are we creating new problems by delegating these tasks to AI?

I’m a bit late to the Model Context Protocol (MCP) party. While everyone was enthusiastically exploring the capabilities of MCP months ago, I only recently started diving into this ecosystem. My first experience was with the Logseq MCP, which provides some basic but useful functionality for the note-taking app. Then I tried the Brave Search MCP, which allows AI assistants to perform web searches directly.

What struck me wasn’t just the functionality these MCPs provided, but rather the installation process. As a developer who’s set up numerous environments and tools over the years, I found myself watching with fascination as Cline, the AI assistant as a VS Code Plugin, took over what would typically be a manual, error-prone process.

(continue reading...)


Make AI Draw Architecture Diagrams with AWS Icons

Last year, I wrote about turning hand-drawn architecture diagrams into digital diagrams using generative AI. While that approach worked well for creating editable digital diagrams, the result was quite basic—mostly rectangles and text. But if you’ve ever seen presentations by AWS solution architects, you’ll know that colorful AWS service icons can make architecture diagrams much more visually appealing and easier to understand at a glance.

I’ve since figured out how to leverage AI to not only create the basic diagram structure but also incorporate those recognizable AWS service icons. In this post, I’ll walk you through the process step by step.

(continue reading...)


Engineering Better Online Meetings: Hardware, Software, and Environment

Since COVID, online meetings have become an indispensable tool for collaboration, communication, and productivity. Whether you’re a seasoned professional or just starting your career, mastering the art of online meetings is crucial for success. Having spent four years in a customer-facing role, I’ve participated in countless online meetings across various time zones, gaining valuable insights into what works and what doesn’t. This blog post shares my experiences and provides practical tips to help you engineer better online meetings by focusing on two key areas: hardware configuration and software optimization. By addressing these elements, you can create a more professional, engaging, and productive online meeting experience for yourself and your participants. Here are some tips for better online meetings.

(continue reading...)


Building a Fast and Accurate Transcription Tool on Linux

As a developer, I often find myself needing a tool that can let me type with voice. While macOS boasts a variety of excellent GUI-based transcription tools, the Linux landscape leans more towards command-line utilities. This presented a challenge, but also an opportunity to build a custom solution tailored to my workflow. I kept delaying it, but now I finally got time to build a fast and accurate transcription tool on Linux, leveraging the power of command-line tools and the flexibility of the terminal. I used VSCode, Cline, Gemini 2.0 Flash (in Plan Mode), and Gemini 2.0 Pro (in Act Mode) to help me build this.

Why Whisper and Faster Whisper?

When it comes to transcription accuracy, Whisper models from OpenAI consistently outperform many other options. Initially, I experimented with whisper.cpp, a C++ implementation of the Whisper architecture. It’s a fantastic project, offering great performance and flexibility, especially on my work Macbook with Apple silicon.

However, I recently discovered Faster Whisper, a reimplementation of the Whisper model using CTranslate2. The key advantage? It’s incredibly fast, even on older hardware without dedicated GPUs. On my trusty old laptop with an Intel Core i5-7200U CPU, the small.en model loads in about 2 seconds and can transcribe 1-3 sentences in roughly 4 seconds. This makes it perfectly suited for my needs.

ALT TEXT

(continue reading...)