---
title: "A Software Engineer's IRONMAN PENGHU 226 Journal - Part 1: The Preparation"
description: "A software engineer's preparation journey for IRONMAN PENGHU 226, covering weakness training plans, weekly schedules, nutrition strategy, gear adjustments, and pre-race notes."
canonical_url: "https://blog.markkulab.net/en/post/ironman226"
author: "Mark Ku"
author_url: "https://blog.markkulab.net/en/author/mark-ku"
site: "Mark Ku's Tech Notes"
date_published: "2022-03-15 01:01:01 +0800"
category: "Triathlon"
tags: ["ironman", "226", "triathlon", "鐵人三項", "澎湖", "訓練", "補給"]
language: "en"
license: "CC BY 4.0"
license_url: "https://creativecommons.org/licenses/by/4.0/"
attribution: "when reusing or quoting, credit the author and link back to the original"
---

# A Software Engineer's IRONMAN PENGHU 226 Journal - Part 1: The Preparation

## My Penghu IRONMAN 226 Journal - Part 1: The Preparation

## Background
I'm a web software engineer. Because of work I sit for long hours, and when stressed I eat badly. When I first picked up triathlon, I peaked at 96kg and wasn't particularly fit — I couldn't swim more than 25 meters, and 3km of running left me gasping. I served in the Ministry of National Defense during military service, so I never had a chance to train hard. But four years ago, my former manager dragged me into a triathlon info session, and from then on, triathlon changed my life:
1. My weight started dropping — I've lost over 16kg cumulatively
2. Found a girlfriend
4. Found a way to reset and recover
5. Long training sessions made me more patient and focused
6. I face challenges with a positive attitude
7. I've learned to break down big life goals and execute on them
8. More confidence
9. And a thinner wallet

## Context
Rumor has it that IRONMAN PENGHU 226 might be the last one ever — afterwards, racing IRONMAN 226 might mean flying overseas, which feels like a shame. With about 200-something days until the race, human nature is to find excuses and put off hard goals to stay in the comfort zone. But I'd reached a stage in life where, if I didn't race this one, I might never have time to do it. The only choice was to push myself out there and experience the ultimate suffering.

But within a month of starting training after registering, I realized: this kind of training volume is brutally hard!!!

Balancing training, work, life, and girlfriend was the challenge. Skipping this race meant probably never doing it. Under-training and grinding through could mean lifelong injury — no wonder people say "226 once is enough."

## What is the 226 Iron Distance Triathlon
The Iron Distance Triathlon, also called "Big Iron", consists of three sports: 3.8km swim, 180km bike, and 42km run, all in a single day with a 17-hour cutoff. IRONMAN Penghu 226 is a notoriously difficult race — Penghu's open water swim, strong winds, and intense sun exposure add extra challenge.

### Cutoff Times
Swim: 2 hours 20 minutes after race start
Bike: 10 hours 30 minutes after race start
Run: 17 hours after race start

## My Race History
* 2019 One-Day Taipei to Kaohsiung
* 2019 CT-515 4:30 04:08:33
* 2020 Chongyue Wuling Hill Climb - Decided to lose weight, 6 hours 50 minutes
* Mt. Fuji Hill Climb
* Central Mountain Range Ultimate Challenge
* 2020 IRONMAN Taitung 70.3 07:23:45
* 2021 IRONMAN Kenting 70.3 07:52:59 (left ankle injury)

## Estimated Finish Goal
Once I decided to race, I had to estimate how long it would take. Worst case, I'd come back in 14-16 hours, so I went ahead and registered.
-----------------------------------------------
Open water swim 3.8 km => estimated under 2 hours
-----------------------------------------------
Bike 180 km => 28 km/h, 180 km / 28 km/h = 6.4 ~ 7 hours (controlling power around 120W)
================================
16 hours - 2 hours swim - 7 hours bike = 7 hours remaining
Run 42 km / 7 => 6 km/h (worst case 10 min/km, still finishing)

## Weaknesses
### Identifying my weaknesses based on past races
1. Not enough muscular endurance — past Olympic and Half Iron races left my inner thighs in agony.
2. Overweight, made worse by the pandemic. Excess weight hurts performance.
3. Not enough endurance training under direct sun.
4. Poor sighting in the water.

## Targeted Improvements
1. Strict daily diet control, target 75kg. => 85 > 79
2. Added strength training to weekly schedule, gradually increasing intensity.
3. Pool sessions starting at 2000m and ramping to 3000m, plus open water training every two weeks (at least one 3000m wetsuit swim).
4. Schedule training under direct sun so the body adapts to harsh conditions.

## My Weekly Schedule
1. Pre-reopening (with mask): 8km x 2; post-reopening: 10km ~ 25km x 3
2. Strength training x 1 hour
3. Swim 3000m x 2
4. Bike: outdoor 100km x 1 + indoor Zwift 1 hour at 160W+

## Bike Setup Adjustments
* Profile Design Sonic Ergo 50a (100+ adjustable positions) aerobars
* Profile Design Aerobar Bracket Riser Kit 30mm spacers
* Profile Design Kona Saddle, softer
* Giant PowerPro dual-sided power meter, 2nd gen
* Full bike service one month before the race (cables, chain, tires replaced)

## To avoid injury, I started building training volume around 200 days before race day
* Run training: ~1000 km accumulated
* Swim training: ~140 km accumulated (open water x 2)
* Bike training: ~2000 km accumulated
P.S. The hardest part of this volume isn't muscle tears — it's the tendons, joints, ligaments, and ankles all complaining at you.

## To avoid cramping, I scheduled multiple brick training sessions
* Swim 3000m, brick run 20km
* Bike 100km, brick run 10km
* Run 10km, brick swim 2500m

## 30 Days Before Race
The 30-day countdown is usually called "Big Date" — I did a two-day, two-discipline distance simulation. Because past training had pushed me into injury, I scaled back volume in the final month to avoid pre-race injury.

## Race Nutrition Strategy
### Previously I used SIS energy products. For this race, considering carb intake, I switched to 226ers race day products. The taste isn't as easy to swallow as SIS — it's very rich and you need to chase it with plenty of water — but each pack has 70g+ of carbs, BCAA, and other nutrients, equivalent to a piece of bread. I tested it skipping dinner and the nutrition was so adequate I wasn't even hungry.
![Hand holding 226ERS High Energy Gel packet with Garmin run data](https://blog.markkulab.net/content/markku/posts/ironman226/images/srnj45e.jpg)

1. Eat 150g of carbs before entering the water
2. Eat 80g of carbs after exiting the water, or one Uni-President bread
3. Eat 80g+ of carbs every hour after that, until the finish
P.S. The biggest difference between 226 and 113 is the special needs bag stations at bike 90km and run 10km — you can stash medication, supplies, and clothes there, so you don't have to carry too much on your body or bike.

## Kit
Due to pandemic supply issues, domestic vendors only had odd-size tri suits left, and the patterns didn't suit me. I ended up ordering a UK dhb tri suit from [Wiggle](https://www.wiggle.co.uk/dhb-aeron-ultra-short-sleeve-tri-suit?sku=106200834) — it arrived in about 5 days.
![Wiggle product page for dhb Aeron Ultra Short Sleeve Tri Suit](https://blog.markkulab.net/content/markku/posts/ironman226/images/NFhRU3V.png)

## Course Notes
### Swim
* Waves -> wear a wetsuit. If waves are big and head-on, swim breaststroke; otherwise freestyle.
* Penghu waters still have lots of jellyfish — someone got stung on race day. To be safe, wear a full wetsuit to avoid jellyfish stings.

### Bike
* Roads aren't closed. Each intersection has marshals and police, but watch out for vehicles.
* Cross-sea bridge crosswinds -> lower your center of gravity.
* Headwind -> install aerobars.
* Hot weather, sun exposure -> sunscreen, running cap.
* Don't get carried away — going over your target wattage will cost you on the run.

### Run
* Make sure to collect every wristband.

## Travel
* Taxi to Songshan Airport, direct flight to Penghu
* If bringing your bike on the plane, call the airline in advance to register
![Triathlon bike, travel case, wetsuit, helmet, and nutrition laid out](https://blog.markkulab.net/content/markku/posts/ironman226/images/LFleosX.jpg)

## Final Thoughts
ANYTHING IS POSSIBLE!
I'm just an ordinary office worker. If I can take on Penghu IRONMAN 226 and finish, you definitely can too.

## Gear Checklist
1. Inner tubes x 2
1. Tire levers x 1
1. Tri suit x 2
1. Cycling shoes x 1
1. 226ers race day gels x 16
1. 226ers race day energy bars x 4
1. 226ers race day drink mix x 2
1. Helmet x 1
1. Running cap x 1
1. Goggles x 2
1. Wetsuit x 1
1. Running shoes x 1
1. Socks x 2
1. Salt tablets x 1 box
1. Running backpack x 1
1. Bike water bottle x 1
1. Sleep aid x 2
1. Casual clothes x 2 sets
1. Charging cable x 1
1. Sunscreen x 1
1. Xiaomi pump x 1
1. Portable pump
1. Purple Mentos x 3
1. Windbreaker x 1
1. Plastic bags x 2
1. Bike repair tools x 1
1. Slippers
1. Panadol (without Ibuprofen)

## Transition Bag Setup
### Transition Bag - Bike
1. Socks x 1
1. Mineral water x 1
1. Sports drink x 1
1. Sunscreen
1. Plastic bags (for trash)
1. Muscle relief spray
1. Bread x 1

### Tri Bag on the Bike
1. Purple Mentos x 1
1. Race day drink mix x 1 pack
1. 226ers race day gels x 4
1. 226ers race day energy bars x 2


### Bike Special Needs Bag
1. 226ers race day gels x 4
1. 226ers race day energy bars x 2
1. Race day drink mix x 1 pack
1. Bread x 2

### Transition Bag - Running
1. Race day drink mix x 1 pack
1. Large mineral water x 1
1. Sports drink x 1
1. Plastic bags (for trash)
1. Salonpas spray
1. Bread x 1

### Run Special Needs Bag
1. 226ers race day gels x 5
1. 226ers race day energy bars x 1
1. Bread x 2

### Extra Notes
#### 1. Since many people's biggest triathlon barrier is swimming, here are open water training spots in northern Taiwan
* Taipei - Muzha Incinerator - indoor standard pool, one shallow end and one ~2.5m deep end.
* Keelung - Heping Island - saltwater pool, ~2.5m deep, fenced in with lifeguards. Relatively safe — bring a tow float if nervous. Only NT$80, great value.
* Keelung - Waimu Mountain - open water, lots of jellyfish. Wear a wetsuit or use a tow float, and find a buddy.

## Series Articles
* [A Software Engineer's IRONMAN PENGHU 226 Journal - Part 1: The Preparation](https://blog.markkulab.net/2022/03/14/ironman226/)
* [A Software Engineer's IRONMAN PENGHU 226 Journal - Part 2: The Preparation](https://blog.markkulab.net/2022/04/11/ironman226-racing-day/)

## References
[2016 IRONMAN Taiwan Course Analysis Part 1: Bike Route](https://www.don1don.com/archives/82081/2016-ironman-taiwan%E8%B3%BD%E9%81%93%E5%88%86%E6%9E%90%E4%B8%8A%EF%BC%9A%E5%96%AE%E8%BB%8A%E8%B7%AF%E7%B7%9A%E7%AF%87
)
[2016 IRONMAN TAIWAN Course Analysis (Part 2): Swim/Run
](https://www.don1don.com/archives/82154/2016-IRONMAN-taiwan%E8%B3%BD%E9%81%93%E5%88%86%E6%9E%90%E4%B8%8B%EF%BC%9A%E6%B8%B8%E6%B3%B3%E8%B7%91%E6%AD%A5%E7%AF%87)
[Why is Penghu IRONMAN's Open Water Swim So Hard?](https://www.swimdodo.com/2017-penghu-IRONMAN-swimming-problem/)
[Three Open Water Swim Tips Before Race Day!](https://www.youtube.com/watch?v=Qc9FmywlyvM)
[Love and Endurance Showdown - Penghu IRONMAN 226 Race Mindset](https://running.biji.co/index.php?q=review&act=detail&id=32038&subtitle=%E6%84%9B%E8%88%87%E8%80%90%E5%8A%9B%E7%9A%84%E5%B0%8D%E6%B1%BA~%E6%BE%8E%E6%B9%96IRONMAN226%E8%B6%85%E7%B4%9A%E9%90%B5%E4%BA%BA%E8%B3%BD~%E5%AE%8C%E8%B3%BD%E5%BF%83%E6%B3%95%E7%AF%87&fbclid=IwAR2Fxc04_IBAuIV3z3in03GuFpGBNQnJjP_cOG0BjSVlvxG8MAhNdwBBZC8)
[IRONMAN Taiwan: My First 226 Journal](
https://medium.com/@peterhu0929/IRONMAN-taiwan-%E4%BA%BA%E7%94%9F%E5%88%9D226%E8%A8%98%E5%AF%A6-559034f70599)

---

## About this article and its author

Originally published on [Mark Ku's Tech Notes](https://blog.markkulab.net/en/post/ironman226)

License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) — when reusing or quoting, credit the author and link back to the original

### About the author

**[Mark Ku](https://blog.markkulab.net/en/author/mark-ku)** — Software Solution Provider

- 10+ years senior software engineer, now an AI Builder
- Focused on large-platform architecture — North-American e-commerce, AI SaaS subscription billing
- Combining AI Agents and automation to build evolvable product foundations

### Free tools built by the author

All of these are free to use:

- [Free PDF Sign Tool](https://blog.markkulab.net/en/tools/pdf-sign): Online PDF sign tool — draw, type, or upload a signature, then drag, resize, and download. Everything runs in your browser; nothing is uploaded.
- [VS Code Refactory](https://blog.markkulab.net/en/tools/refactory): Refactory is a VS Code refactoring extension: 34 actions plus a 37-rule code-smell inspection layer with a Code Health dashboard, across 18 languages, backed by 534 tests. It learns your repo's conventions: where interfaces live, where DI is registered, whether 'use client' belongs. It ranks files by git churn × complexity so you know what to fix first, and hands any smell to the Claude Code already on your machine. Free to use, and your source never leaves your computer.
- [DB-Kit Database Manager](https://blog.markkulab.net/en/tools/db-kit): DB-Kit is a lightweight, cross-platform database manager built with Tauri + Rust + React. Manage MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLite, MongoDB, Redis, Kafka, Elasticsearch and RabbitMQ from one consistent interface: passwords encrypted in the OS keychain, SSH tunnels, full CRUD, a visual query builder, stacked multi-statement result sets, cross-connection data transfer and compare/sync, Excel / CSV import & export, visualized execution plans, ER diagrams, scheduled backups, SQL stress testing with p50–p99 latency percentiles, a 15-rule SQL review engine, Kafka message browsing with monitoring & alerts, a bilingual UI (Traditional Chinese / English), a built-in AI assistant (natural-language SQL, AI review and tuning advice) and the dbk CLI. Free and open source (MIT), with installers for Windows, macOS and Linux.
- [VS Code Super Mermaid](https://blog.markkulab.net/en/tools/super-mermaid): Super Mermaid is a VS Code extension for beautiful Mermaid diagrams out of the box: auto-colored live preview, mouse pan & zoom, high-res PNG / SVG export, 21 templates and multiple themes. Free and open source (MIT).
- [React Super Mermaid](https://blog.markkulab.net/en/tools/react-super-mermaid): react-super-mermaid is an open-source React component library: render beautiful Mermaid diagrams with a single <MermaidViewer>, with built-in colorful / sketch themes, pan & zoom, in-diagram search, and high-res SVG / PNG export. Lightweight, SSR-safe, fully typed. Free and open source (MIT).
- [Jira / Confluence Super Mermaid](https://blog.markkulab.net/en/tools/jira-super-mermaid): An Atlassian Forge app: write Mermaid syntax directly inside a Jira issue or a Confluence page and get flowcharts, sequence diagrams, state machines and Gantt charts. 11 diagram types, SVG / PNG export, light and dark themes, full CJK support. Runs on Atlassian: your diagrams live in your own site and the app calls no third-party service. Free, coming soon to the Atlassian Marketplace.
- [Mermaid Live Preview](https://blog.markkulab.net/en/tools/mermaid-preview): Write Mermaid in your browser, see it render instantly, and share the whole diagram as a single link. No sign-up, nothing uploaded to a server, and mermaid.live share links work as-is.
- [React Intl Phone Number](https://blog.markkulab.net/en/tools/react-intl-phone-number): react-intl-phone-number is an open-source React component: framework-agnostic and antd-free, with E.164 in/out, a searchable flag / country-code dropdown, configurable validation levels (strict / mobile-strict / loose), themeable CSS, and i18n — phone logic powered by google-libphonenumber. Lightweight and fully typed. Free and open source (MIT).
- [Uptime Kuma Cluster](https://blog.markkulab.net/en/tools/uptime-kuma-cluster): Turn single-node Uptime Kuma into a highly available cluster: OpenResty + Lua smart load balancing, shared MariaDB state, health checks and automatic failover, plus cluster-management REST APIs. One Docker Compose command to start. Free and open source (MIT).
- [Special Education](https://blog.markkulab.net/en/education): Learning materials crafted for special education students

### Daily podcasts

- [Mark's Tech Insights — Daily AI News](https://blog.markkulab.net/en/category/tech-news): Daily curated AI and tech trends. Catch the latest developments via audio summaries — covering AI applications, software architecture, DevOps, and engineering practice. — RSS: https://blog.markkulab.net/feed.xml
- [AI股市蝦聊](https://blog.markkulab.net/en/category/ai-stock-chat): Every trading day, an AI-analyzed take on the Taiwan stock market, delivered as a two-host conversation covering the session and the next-day outlook. — RSS: https://blog.markkulab.net/ai-stock-chat/feed.xml
- [開源好物週報](https://blog.markkulab.net/en/category/open-source-weekly): A weekly two-host pick of free open-source tools surfaced from real Hacker News, GitHub, and Reddit buzz — what pain they solve and the fastest way to get started. — RSS: https://blog.markkulab.net/open-source-weekly/feed.xml

### Newsletter

[Subscribe to the newsletter](https://blog.markkulab.net/en/subscribe) — Be the first to know about new posts. No spam, unsubscribe anytime.
