ferrywl.to

Latest Blog Posts

All about technology and changelog of my projects.

Thoughts from helping my wife to launch her vibe coded tool

First hand experience of future SDLC in AI era

Repo-wide strictness for AI-assisted C#: Directory.Build.props, .editorconfig, and pre-commit checks that catch issues early.

Reduce Review Fatigue in the AI Coding Era: My .NET Guardrails

A new csharp keyword learned for high performance computing and other options

The 1ms difference - stackalloc

Why GenAI won’t replace professionals — and why the “X is dead” narrative is harmful.

The Last Mile of Quality: Why GenAI Won’t Replace Professionals

My journey of refactoring a large legacy backend codebase with migration from GitHub Copilot to OpenAI Codex.

Migrate from GitHub Copilot to OpenAI Codex: Refactor a legacy codebase

A short snippet to deploy your MAUI app to iOS device with CLI.

CLI command to deploy MAUI App to iOS device with .NET 10

Fun finding about Cantonese UI culture detection on iOS devices.

Caveat about i18n on iOS

Exploring the communication between a MAUI app and its iOS widget.

Creating iOS Widgets with MAUI - Part 3: Communicating between MAUI App and iOS Widget

Bundling an iOS widget into a MAUI app so that the app can interact with the widget.

Creating iOS Widgets with MAUI - Part 2: Bundling iOS Widget

Finding a way to call Swift code from C#

Creating iOS Widgets with MAUI — Part 1: Interoperability

Learn Product Management from building my personal website

A recap of the JetBrains .NET Developer Day 2025 event, highlighting key sessions and takeaways.

JetBrains .NET Developer Day 2025 Recap

v1.0.0 Launch and what I learned

Development Log - v0.2.0

Development Log - v0.1.0

The journey of chatting with a local LLM on my MacBook Pro, using .NET.

Local DeepSeek-R1 with .NET

C# Bitwise left shift and set bit

Some Pandas functions I have learned during leetcode

Pandas Basics Summary I

The steps I used to create a unit-testing environment for testing my Leetcode Python code from scratch

Summary of testing Python code

Solution in-addition to offical fixes and workarounds

Fix Docker treated as malware issue by MacOS

Add bootstrap and blog post tags

Bootstrap

My personal blogging finally

Restart

A step-by-step guide to create a dummy login screen in Blazor WebAssembly with client-side authentication.

The missing piece in Blazor client-side authentication tutorial.

Learn to automate tasks in C# using Polly to handle retries and Hangfire for scheduling and queuing jobs

Your automation buddies in C#

Detailed guide on building a custom GitHub Action using C#, Docker, and deploying it to GitHub Marketplace

Create a Custom GitHub Action with C#

Learn how to build a Wordle-like game using Blazor and deploy it to GitHub Pages for easy access and sharing.

Create your Wordle like game with Blazor and deploy to GitHub Pages

My struggle on how to build localized firebaseui package for TypeScript project

The Pain — When firebaseui localization meets TypeScript

A journey of learning how to share Vue.js code by bundling and publishing as a package.

Step-by-step guide on creating and publishing a Vue.js plugin