The Battle at Bristol Mountain 2018

Thoughts on the races:

1K vertical is HARD. I could only “run” maybe first 30 ft then it’s pretty much walking uphill….and the walking is HARD. Lot more challenging that I imagined. Comet (the double diamond skill slope) is giving me nightmare both in winter (ski – too steep for me to go down) and summer. Damn Comet!

5K was also THE hardest 5K course I ever done. BUT I did well. First time I made top 3 in my age group, top 8 in all female, and top 30 overall in any race.

1K Vertical Result

Bib Number: 59
Distance: 1K
Total Time: 23:32.0
Place: 52 out of 153
Age Group (Female 40-49): 6 out of 27

5K Trail Running

Bib Number: 96
Distance: 5K
Total Time: 49:52.0
Place: 30 out of 123
All Female : 8 out of ?
Age Group (Female 40-49): 3 out of 26

Next Year’s Goals:

1K Vertical – Top 3 in my age group, reduce the time by 2 minutes (no resting next time)
5K – Top 2 in my age group, top 6 in all female, run all the way.

Musselman Weekend 2018 – MiniMusselman Result

Official Result:

Bib Number: 516
Total Time: 2:03:28 (in 2017 – 2:02:52)
Swim: 17:08 (in 2017 – 18:38)
Bike: 1:02:19 (in 2017 – 1:03:24)
Run: 33:35 (in 2017 – 32:41)
Overall Place: 440/595 (in 2017 – 485/612)
Female Place: 193/306 (in 2017 – 222/317)
Age Group: 23/32 (in 2017 – 31/42)


Positives – 1. I swam 100% freestyle (except maybe 2-3 stokes of breaststroke just for sighting purpose) for the distance, 2. shaved a minute and a half from last year’s swim time, and 3. all so saved a minute on the bike.

Negatives – 1. I was hoping my run would be better than last year, but it wasn’t. Almost a full minute slower. I still run all the way…no walking. I think it’s because it was so much warmer (hotter) than last year. My weakness is heat. I felt exhausted before hitting the first mile into the run. Having my own hydration didn’t help at this point. 2. The overall slower time for the race compared to last year was the first transition time. I got hungry. I wasn’t quite in “competitive” mode. I picked a few refueling “samples” before the race, and I indulged some nuts and chocolate spread…passion for food overtook at that point.

Lesson learned – 1. don’t get sample food before the race, 2. have better refueling plan, and 3. be in better shape (esp. running)

Overall I’m happy with the result…sure the race time is slower but I made pretty decent improvement in swimming & cycling. I just have to get better during transition. This was the first triathlon race of the season. Next year, I should enter a smaller/cheaper race prior to Musselman as a refresh session (so that I will be more prepared, focused, and more competitive.

Fleet Feet Sports Dirt Cheap Trail Race Series 2018

Official Result:

Series Bib Number: 339

Race #1 Result – April 11, 2018

Bib Number: 603
Distance: 4-6 miles (unknown)
Total Time: 1:11:09.00
Place: 278 out of 328

Race #2 Result – May 9, 2018

Bib Number: 657
Distance: 4-6 miles (unknown)
Total Time: 51:26
Place: 208 out of 352

Race #3 Result – June 13, 2018

Bib Number: 339
Distance: 4ish miles (unknown)
Total Time: 47:28
Place: 192 out of 335

Race #4 Result – July 11, 2018

Bib Number: 339
Distance: 5ish miles (unknown)
Total Time: 1:01:02
Place: 170 out of 303

Race #5 Result

Bib Number: 339
Distance: 4.5ish miles (unknown)
Total Time: 53:32
Place: 158 out of 259

Race #6 Result
Overall Race Series Result

Total Time:
Age Group (Female 40-49):

Thoughts on the races:

Next Goals:

The Fast & The Furriest 2018

Official Result:

Bib Number: 829
Distance: 5K
Total Time: 40:35
Pace: 9:41
Place: 113 (out of 321)
Place Female Only: 51 (out of 213)
Place Female Age Group 40-44: 7 (out of 11)

Thoughts on the race:

Just okay.

Next Goals:

  1. Run at 9:30 pace before end of the season

Cabin Fever Trail Race 2018

Official Result:

Bib Number: 293
Distance: 4 miles
Total Time: 50:05
Place: 49 (out of 137)
Place Female Age Group 40-49: 4 (out of 31)

Thoughts on the race:

Yay for top 15% on Female Age Group and top 40% on overall…and I wasn’t even running at the full speed. Next time, I need TRACTION gear for my shoes and I can definitely go faster. 40% icy trail according to the race official. I only slipped once AND I caught myself with one hand with no injury…so proud! I got my runner’s high too. I’d say it’s a good start for 2018 🙂

Next Goals:

  1. Don’t fall
  2. Be top #3 on the female age group (go for the bronze!)
  3. Buy traction gear

How to insert tracking codes for Google Analytics and Google Tag Manager in WordPress AMP page

For those of who are using AMP for WordPress plugin to enable AMP pages for WordPress post, inserting the tracking codes for Google Analytics and Google Tag Manager is relatively simple:

  1. Create a copy of “html-start.php” in the plugin’s template folder, to a sub-folder called “amp” in your theme folder (create one if there isn’t any)
  2. Insert your tracking codes in the appropriate html section (for GA code, they recommend putting in the head section, and for GTM code put it in the beginning of body tag)
 * HTML start template part - start-html.php
 * @package AMP

 * Context.
 * @var AMP_Post_Template $this
<!doctype html>
<html amp <?php echo AMP_HTML_Utils::build_attributes_string( $this->get( 'html_tag_attributes' ) ); // WPCS: XSS ok. ?>>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
	<!-- AMP Analytics --><script async custom-element="amp-analytics" src=""></script>
	<?php do_action( 'amp_post_template_head', $this ); ?>
	<style amp-custom>
		<?php $this->load_parts( array( 'style' ) ); ?>
		<?php do_action( 'amp_post_template_css', $this ); ?>

<body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?>">
<!-- Google Tag Manager -->
<amp-analytics config="" data-credentials="include"></amp-analytics>

This should overwrite the default AMP code.

How to extend Ubuntu file system after resizing AWS EBS Volume

Sometimes, imply increase the size of an EBS volume in EC2 Management console doesn’t expand the actual storage size in Ubuntu system. You need to further configure your OS to apply the size change.

Check if you need to resize the partition and the filesystem

xvda    202:0    0  21G  0 disk 
└─xvda1 202:1    0  20G  0 part /

Run lsblk command to list the attached devices if the partition size are not equal, you need to resize the partition

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            996M   12K  996M   1% /dev
tmpfs           201M  340K  200M   1% /run
/dev/xvda1       20G   11G  8.2G  57% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none           1001M     0 1001M   0% /run/shm
none            100M     0  100M   0% /run/user

Use df -h command to see if the filesystem need the resizing

Resizing the partition

sudo growpart /dev/xvda 1
CHANGED: partition=1 start=16065 old: size=41913585 end=41929650 new: size=44018100,end=44034165

xvda    202:0    0  21G  0 disk 
└─xvda1 202:1    0  21G  0 part /

Use sudo growpart command to expand the partition. Verify the result by running lsblk command.

sudo resize2fs /dev/xvda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 5502262 blocks long.

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            996M   12K  996M   1% /dev
tmpfs           201M  340K  200M   1% /run
/dev/xvda1       21G   11G  9.1G  54% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none           1001M     0 1001M   0% /run/shm
none            100M     0  100M   0% /run/user

Use sudo resize2fs command to expand the filesystem. Verify the result by running df -h command.

Resources: Extending a Linux File System after Resizing the Volume

Webster Turkey Trot 2017

Official Result:

Bib Number: 1266
Distance: 4.4 miles
Total Time: 40:35
Pace: 9:44
Place: 1172 (out of 2269)
Place Female Only: 497 (out of 1204)
Place Female Age Group 40-44: 40 (out of 109)

Thoughts on the race:

I’m pretty happy I made under 10:00 pace, and that was done without exhausting myself. I’m also feeling good about being top 50 percentile in Female Age Group and All Female.

Next Goals:

  1. I should be able to run at 9:30 pace next time
  2. I want to be top 50% overall

Dirt Cheap Stage Race 2017

Thoughts on the races:

I did as expected on race #1 and race #2. I was comfortable with the distance and I knew I could run all the way even if it’s slower (because it’s trail instead of road).

I was so not prepared for the last race, however. My original goal was to run through the entire course. That quickly changed to “just don’t give up.” 1) not enough training to cover 11 mile distance in a trail or on a road, 2) not doing enough trail running period, 3) Didn’t break-in the new running shoes, 4) didn’t plan any rehydration or refueling during the race, 5) didn’t practice the race routes in advance, 6) not having any experience running long distance in 20 degree weather.

It was COLD!

Official Result:

Bib Number: 168

Race #1 Result

Distance: 3.11 miles
Total Time: 39:14.0
Place: 119 out of 203
Age Group (Female 40-49): 6 out of 32

Race #2 Result

Distance: 5.5 miles
Total Time: 1:00:30.0
Place: 140 out of 197
Age Group (Female 40-49): 5 out of 30

Race #3 Result

Distance: 11 miles
Total Time: 2:21:36
Place: 124 out of 220
Age Group (Female 40-49): unknown

Overall Race Series Result

Total Time: 4:01:27
Place: 108 out of 175
Age Group (Female 40-49): 5 out of 30

Next Goals:

I’m definitely doing this race again next year…and I’m going to run entire 11 miles.

Also I’d love to see myself being at top 100 overall.

I need to improve my running pace in general. I found that I’m pretty good at going UP the hill…but not so much going down. I think I’m really scared of falling (because it happens ALL THE TIME). I need to get over that fear.

MySQL queries cheatsheet for WordPress

Changing from http to https in wp_posts.post_content and wp_posts.guid

UPDATE wordpress_db.wp_posts
SET post_content = REPLACE(post_content, '', '')
WHERE post_content LIKE '%';

UPDATE wordpress_db.wp_posts
SET guid = REPLACE(guid, '', '')
WHERE guid LIKE '%';