Recent Posts
Comet - The AI Browser That Turns Web Surfing into an Intelligent Conversation (with Referral Code)
Comet: The AI Browser That Makes Web Surfing Feel Like a Power-Up
Using Plan Mode to Let Claude Code Plan Before Implementation
When using Claude Code, you can first enable plan mode to let AI help you plan the code architecture and logic before starting implementation. You ...
Mario Kart World - Wallpaper Downloads
Nintendo’s website now has Mario Kart World wallpapers available for download.
How to Paste Screen Captures to Claude Code Editor on macOS
Currently, I’m extensively using Claude code for development. Claude code is a terminal-based AI coding interface that primarily works with text. S...
Prompt to Make AI Agents Present Design First Without Implementation
This year, I’ve been heavily using AI Agents in program development. Besides general debugging, Agents also participate in my program design proces...
Using Cursor for Writing GWT (Given-When-Then) Requirements in Jira for Non-Development Roles
Since 2025, I have been extensively using Cursor in my daily development work. However, if we think broadly, Cursor’s text output capabilities can ...
Current Usage of cursorrules in iOS Development (2025.Mar.10th)
Since Cursor introduced the Agent mode, I have been extensively using cursorrules for development. Of course, now development can be done with vari...
Transportation Guide for Austria, Hungary, and Czech Republic
This guide covers transportation options in Austria, Hungary, and the Czech Republic, starting from Taipei (TPE). If your trip is longer than a wee...
Nintendo Switch 2 is Ready for Release
Nintendo Switch 2 is Ready for Release - Officially Named Nintendo Switch 2
If You Want to Implement i18n on iOS and Dynamically Switch Languages in the App, This is a Great Library
If you’re working on i18n for iOS and need to dynamically switch languages within the app, you can use this package: Localize-Swift. Recently, I wo...
If You Need to Dynamically Change the App Icon, This Article Covers Everything You Need to Know
A couple of years ago, someone asked me whether it was possible to change an app icon dynamically based on certain conditions. A few days ago, I go...
UITableViewDataSource Can Be Implemented as an Independent Object - An Example with Skeleton Effect
Usually, we set the UITableView’s Delegate and DataSource within the ViewController and implement the DataSource logic directly in the ViewControll...
Introducing CodePan - A Platform for Aspiring Frontend Developers
Introducing CodePan — the perfect place for aspiring frontend developers to kickstart their journey, showcase their work, share ideas, and explore ...
Xcode 16 Release Notes, new features
Here are the New Features from the Xcode 16 release notes:
Cocoapods Enters Maintain Mode
Cocoapods Enters Maintain Mode, But Will Still Release More Than Twice a Year to Keep Up with Xcode Updates
For projects using Xcode 15.3 or higher, please upgrade Firebase to version 10.22.0 or higher, otherwise, the application may crash upon release
If you are using Xcode version 15.3 or higher and your project utilizes Firebase, please ensure to upgrade Firebase to version 10.22.0 or higher; o...
Designing Data-Intensive Applications - Chapter 6 Notes
There is no silver bullet: https://g.co/kgs/G7QbDr
Flyweight Pattern - Lightweight Mode (Flyweight Pattern)
Flyweight Pattern - Lightweight Mode (Flyweight Pattern)
Handling Multiple Data Types in a TableView in Swift
List-type UIs are very common in iOS apps, as seen in built-in apps like “Contacts,” “Call History,” and “Settings,” all of which utilize a table (...
Delegate Pattern in Swift
The Delegate Pattern is a commonly used design pattern in iOS development that allows one object to delegate certain responsibilities or behaviors ...
iOS MVC Architecture
MVC is Apple’s exemplary framework; in the era of UIKit, it was an important pattern. Recently, whenever I find some free time, I spend it reading ...
When Upgrading Third-Party Versions, What Kind of Version Number Causes a Project Build to Fail?
In iOS development, we often use third-party packages to add functionality or reduce workload. However, if we download the source code of the packa...
Wrapping Third-Party Libraries to Ease the Pain of Upgrades
In modern iOS development, third-party libraries are commonly used. With yearly updates to Swift and Xcode, as well as changes in syntax, libraries...
SwiftUI Data Flow
SwiftUI employs a declarative approach for UI design. The data transmission follows the sequence of Action → State → View, which is a fixed directi...
Value Types and Reference Types in Swift
This discussion was an extension of the Prototype pattern from a book on Swift’s Design Patterns. Now, I aim to delve deeper into the nuances of va...
Integrating Escaping Closure with async/await in SwiftUI Projects
Method of Integrating Closure with swift async/await
Adding a WebView to a SwiftUI Project
This article was previously published in the 2022 IT Ironman Competition - Using SwiftUI to Turn Interesting Ideas into Apps
Color Picker Component, A Beautiful Color Selector
This article was previously published in the 2022 IT Ironman Competition - Turning Interesting Ideas into Apps with SwiftUI
Unit Testing from Zero to One - Getting Started with Tests in Your Project
In this article, we will introduce how to integrate unit testing into iOS projects. Unit tests are used to verify that the smallest testable units ...
Adding Testing to Your iOS Project - You Need Testing
“Writing software is like building a cathedral - when we finish, we start praying.” Software and cathedrals are much the same – first we buil...
Checking Third-Party Package Versions from Podfile.lock
In iOS app development, third-party libraries are commonly used. This article primarily focuses on how to verify the versions of third-party packag...
Bought a Bitcoin Lottery Miner with Around 55kH/s Hashrate
One day, on a whim, I wanted to see if I could find a cheap Bitcoin miner. I searched on Shopee and found a Bitcoin lottery miner, which perfectly ...
Things You Can Still Edit Before Hitting ‘Publish’ on the App Store
Before a new version of an iOS app can be launched on the App Store, it must undergo Apple’s review process. After the review, but before pressing ...
Mario Wonder - Wallpapers Available for Download on Nintendo’s Official Website
Nintendo wallpapers are now available for download! Here are the wallpapers currently available.
Where to place the main action in alerts? Left or Right? (For Apple OS, place it on the right (i.e., at the end))
Where should the main action be placed in alerts? Left or Right? Alerts are a common user feedback mechanism that notifies users about what is happ...
WWDC23 - What’s New in UIKit - Key Highlights
Highlight 1: UIViewController Now Supports Preview
Using GitHub Copilot in Xcode. Conclusion Not Ideal, I Turn It Off When Using Xcode
In a previous discussion, I shared my experience with purchasing and trying GitHub Copilot in a side project. My primary work involves iOS app deve...
The Legend of Zelda - Tears of the Kingdom Wallpapers Available on Nintendo’s Website
Nintendo wallpapers are now available for download! Here are the wallpapers currently available.
The Cause of Crashes in Charts Issues 4049 & 4132
Charts is a widely used charting package in iOS project development. However, this year, I encountered an unusual situation in my project. Sporadic...
Adding AppDelegate in a SwiftUI Project
After SwiftUI was introduced, the way to start a project changed to include a SwiftUI setup. If you choose to start a project using SwiftUI, the or...
Accelerating Side Projects with GitHub Copilot
Starting with Copilot
Connecting ChatGPT to ChatGPT (2)
In the previous article, we used Python to connect to the ChatGPT API. However, as an iOS developer, I am interested in trying to directly use Chat...
Connecting ChatGPT to ChatGPT (1)
Applying for a ChatGPT API Key
Swift Code Standardization Tools - SwiftLint & SwiftFormat
Standardization of Swift Code
The Things I Delegate To Chatgpt
Recent Activities with ChatGPT
Meet WeatherKit at WWDC22
Meet WeatherKit at WWDC22
SwiftUI & Compose
Google is currently promoting the Android Study Jam event, and out of curiosity, I participated in the Study Jam online briefing.
Excerpts from the Kotlin Multiplatform Mobile Beta Roadmap
Excerpts from the Kotlin Multiplatform Mobile Beta Roadmap
The Process of Stripe’s Incremental System Upgrade
Historically, if a railway track’s width needed to be upgraded, they wouldn’t just add two more tracks over the existing ones. Instead, they would ...
Turi Create - Core ML and Vision
Creating an Image Recognition App with Turi Create - Core ML and Vision
WWDC18, Session-712 Turi Create Highlights - Making ML Models is No Longer a Difficult Task
WWDC18, Session-712 Turi Create Highlights - Making ML Models Is No Longer Difficult
The Bone Church - Czech Republic (Contains Real Human Bone Photos, View with Caution)
The Bone Church - Czech Republic (This Post Contains Real Human Bone Photos, View with Caution)
Chengdu, China - The Land of Abundance
Chengdu, China - The Land of Abundance
