Add files via upload

This commit is contained in:
Peter Norvig
2021-02-10 11:54:51 -08:00
committed by GitHub
parent c30614ec45
commit 8b2c9602c3
5 changed files with 1487 additions and 889 deletions

File diff suppressed because one or more lines are too long

299
ipynb/BikeCode.ipynb Normal file
View File

@@ -0,0 +1,299 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div align=\"right\" style=\"text-align: right\"><i>Peter Norvig, Oct 2017<br>pandas Aug 2020<br>Data updated monthly</i></div>\n",
"\n",
"# Bike Code\n",
"\n",
"Code to support the analysis in the notebook [Bike Speed versus Grade.ipynb](Bike%20Speed%20versus%20Grade.ipynb)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from IPython.core.display import HTML\n",
"from typing import Iterator, Tuple, List, Dict\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import re"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Reading Data\n",
"\n",
"I downloaded a bunch of my recorded [Strava](https://www.strava.com/athletes/575579) rides, most of them longer than 25 miles (with a few exceptions), as [`bikerides.tsv`](bikerides.tsv). The columns are: the date; a title; the elapsed time of the ride; the length of the ride in miles; and the total climbing in feet, e.g.: \n",
"\n",
" Mon, 10/5/2020\tHalf way around the bay on bay trail\t6:26:35\t80.05\t541\n",
" \n",
"I parse the file into the pandas dataframe `rides`:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def parse_hours(time: str) -> float: \n",
" \"\"\"Parse '4:30:00' => 4.5 hours.\"\"\"\n",
" while time.count(':') < 2: \n",
" time = '0:' + time\n",
" return round(pd.Timedelta(time).seconds / 60 / 60, 4)\n",
"\n",
"def clean_num(field): return float(re.sub(',| ft| mi', '', field))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"rides = pd.read_table(open('bikerides.tsv'), comment='#',\n",
" converters=dict(miles=clean_num, hours=parse_hours, feet=clean_num))\n",
"\n",
"miles, hours, feet = [rides[attr] for attr in ('miles', 'hours', 'feet')]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Segments\n",
"\n",
"I picked some representative climbing segments ([`bikesegments.csv`](bikesegments.csv)) with the segment length in miles and climb in feet, along with several of my times on the segment. A line like\n",
"\n",
" Old La Honda, 2.98, 1255, 28:49, 34:03, 36:44\n",
" \n",
"means that this segment of Old La Honda Rd is 2.98 miles long, 1255 feet of climbing, and I've selected three times for my rides on that segment: the fastest, middle, and slowest of the times that Strava shows."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"Segment = Tuple[str, float, int, float] # (Name, miles, feet, hours)\n",
"\n",
"def parse_segments(lines) -> Iterator[Segment]:\n",
" \"\"\"Parse a string of segments into Rides. Each line contains:\n",
" 'segment_title, miles, feet_climb, time(s), ...'.\"\"\"\n",
" for segment in lines:\n",
" title, mi, ft, *times = segment.split(',')\n",
" for time in times:\n",
" yield title, float(mi), clean_num(ft), parse_hours(time)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"segments = pd.DataFrame(parse_segments(open('bikesegments.csv')),\n",
" columns=('title', 'miles', 'feet', 'hours'))\n",
"\n",
"miles2, hours2, feet2 = [segments[attr] for attr in ('miles', 'hours', 'feet')]\n",
"\n",
"pct2 = feet2 / miles2 * 100 / 5280"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Eddington Number"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def Ed_number(distances) -> int:\n",
" \"\"\"Eddington number: The maximum integer e such that you have bicycled \n",
" a distance of at least e on at least e days.\"\"\"\n",
" distances = sorted(distances, reverse=True)\n",
" return max(e for e, d in enumerate(distances, 1) if d >= e)\n",
"\n",
"def Ed_gap(distances, target) -> int:\n",
" \"\"\"The number of rides needed to reach an Eddington number target.\"\"\"\n",
" return target - sum(distances > target)\n",
"\n",
"def Ed_progress(years, rides=rides) -> pd.DataFrame:\n",
" \"\"\"A table of Eddington numbers by year.\"\"\"\n",
" def row(y):\n",
" miles = np.array([r.miles for r in rides.itertuples() if year(r) <= y])\n",
" return y, Ed_number(miles), Ed_number(kms(miles))\n",
" return pd.DataFrame(map(row, years), columns=['year', 'E_mi', 'E_km'])\n",
"\n",
"def kms(miles: np.array) -> np.array: \n",
" \"Convert miles to kilometers.\"\n",
" return 1.609344 * miles\n",
"\n",
"def year(ride) -> int: return int(ride.date[-4:])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plotting and Curve-Fitting"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def show(X, Y, xlabel='Segment Grade (percent)', ylabel='Speed (mph)', degrees=(2, 3)): \n",
" \"\"\"Plot X versus Y and a best fit curve to it, with some bells and whistles.\"\"\"\n",
" plt.rcParams[\"figure.figsize\"] = (9, 6)\n",
" grid(); plt.ylabel(ylabel); plt.xlabel(xlabel)\n",
" plt.scatter(X, Y, c='grey', marker='+')\n",
" X1 = np.linspace(min(X), max(X), 100)\n",
" for degree in degrees:\n",
" F = poly_fit(X, Y, degree)\n",
" plt.plot(X1, [F(x) for x in X1], '-')\n",
"\n",
"def grid(axis='both'): \n",
" \"Turn on the grid.\"\n",
" plt.minorticks_on() \n",
" plt.grid(which='major', axis=axis, ls='-', alpha=1/2)\n",
" plt.grid(which='minor', axis=axis, ls=':', alpha=1/4)\n",
" \n",
"def poly_fit(X, Y, degree: int) -> callable:\n",
" \"\"\"The polynomial function that best fits the X,Y vectors.\"\"\"\n",
" coeffs = np.polyfit(X, Y, degree)[::-1]\n",
" return lambda x: sum(c * x ** i for i, c in enumerate(coeffs)) \n",
"\n",
"def estimate(dist, climb, mph=poly_fit(feet/miles, miles/hours, 2)) -> float:\n",
" \"\"\"Given a ride distance in miles and total climb in feet, estimate time in minutes.\"\"\"\n",
" return 60 * dist / mph(climb / dist)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Wandering\n",
"\n",
"Monthly, I will take my [summary data from wandrer.earth](https://wandrer.earth/athletes/3534/santa-clara-county-california) and enter it in the file [bikeplaces.txt](bikeplaces.txt), in a format where\n",
"\n",
" Cupertino: 172: 22.1 23.9 26.2*3 26.3 | 26.4\n",
" \n",
"means that Cupertino has 172 miles of roads, and that by the first month I started keeping track, I had ridden 22.1% of them; in the last month 26.4%; and the `26.2*3` means that for 3 months in a row I had 26.2%. The `|` indicates the end of a year. A line that starts with `#` is a comment."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"class Month(int):\n",
" \"\"\"An integer in the form: 12 * year + month.\"\"\"\n",
" def __str__(self): return f'{(self - 1) // 12}-{self % 12 or 12:02d}'\n",
"\n",
"start = Month(2020 * 12 + 7) # Starting month: July 2020\n",
"dates = [Month(start + i) for i in range(7)]\n",
"\n",
"Entry = Tuple[str, float, List[float]] # (Place_Name, miles_of_roads, [pct_by_month,...])\n",
"\n",
"def wandrer(category, entries, dates=dates):\n",
" \"\"\"Plot Wandrer.earth data.\"\"\"\n",
" D = len(dates)\n",
" fig, ax = plt.figure(), plt.subplot(111); plt.plot()\n",
" for (place, miles, pcts), marker in zip(entries, '^v><osdhxDHPX*1234'):\n",
" X = [dates[i] for i in range(D) if pcts[i]]\n",
" Y = [pcts[i] for i in range(D) if pcts[i]]\n",
" L = f'{pcts[-1]}% {place} ({rounded(miles * pcts[-1] / 100)}/{rounded(miles)} mi)'\n",
" ax.plot(X, Y, ':', marker=marker, label=L)\n",
" all_pcts = [p for _, _, pcts in entries for p in pcts if p]\n",
" for p in (25, 90): # Bonus Points (also, 50, 75, 99)\n",
" if min(all_pcts) < p < max(all_pcts):\n",
" ax.plot(dates, [p] * D, 'k:', lw=1, alpha=3/4) # Plot bonus line\n",
" ax.legend(loc='center left', bbox_to_anchor=(1, 0.5), shadow=True)\n",
" plt.xticks(dates, [str(d) for d in dates], rotation=90)\n",
" plt.ylabel('Percent of Area Ridden')\n",
" plt.title(category); plt.tight_layout(); grid(axis='y'); plt.show()\n",
" \n",
"def parse_places(lines) -> Dict[str, List[Entry]]:\n",
" \"Parse bikeplaces.txt into a dict of {'Title': [entry,...]}\"\n",
" places = {}\n",
" category = None\n",
" for line in lines:\n",
" line = line.strip()\n",
" if line.startswith('#') or not line: \n",
" pass\n",
" elif line.startswith(':'):\n",
" title = line.strip(':')\n",
" places[title] = []\n",
" else:\n",
" places[title].append(parse_entry(line))\n",
" places[title].sort(key=lambda entry: -entry[-1][-1])\n",
" return places\n",
" \n",
"def parse_entry(line: str, dates=dates) -> Entry:\n",
" \"\"\"Parse line => ('Place Name', miles, [percents]); '=' can be used.\"\"\"\n",
" place, miles, pcts = line.replace('|', ' ').split(':')\n",
" pcts = re.sub('( [0-9.]+)[*]([0-9]+)', lambda m: m.group(1) * int(m.group(2)),\n",
" pcts).split()\n",
" assert len(pcts) == len(dates), f\"Bad percents: {place}: {pcts}\"\n",
" for i, p in enumerate(pcts):\n",
" pcts[i] = pcts[i - 1] if p == '=' else 100 if p == '100' else float(p)\n",
" return place, float(miles), pcts \n",
" \n",
"def rounded(x: float) -> str: return f'{round(x):,d}' if x > 10 else f'{x:.1f}'\n",
"\n",
"def wandering(places: dict):\n",
" \"Plot charts of unique roads ridden in various places.\"\n",
" for category in places:\n",
" wandrer(category, places[category])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"places = parse_places(open('bikeplaces.txt'))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

63
ipynb/bikeplaces.txt Normal file
View File

@@ -0,0 +1,63 @@
:Around 90%:
Los Altos: 138: 40.2 43.7 72.4 77.2 84.5 90.8 | 91.0
Atherton: 56.8: 0*4 91.2 94.0 | 95.2
East Palo Alto: 46.5: 74.4 91.2 91.9*2 92.2 93.3 | 93.4
Menlo Park: 131.5: 67.7 76.8 87.7 90.7 91.2 90.1 | 92.5
North Fair Oaks: 27: 48.1 90.4 93.1 93.8 94.8 96.1 | 96.9
Mountain View: 205: 53.0 59.9 63.0 63.6 72.9 77.1 | 91.1
Palo Alto: 292: 63.0 73.6 85.4 85.7 87.1 87.6 | 88.1
:Around 25%:
Cupertino: 172: 22.1 23.9 26.2*3 26.3 | 26.4
Saratoga: 180: 14.5 15.7 17.4*4 | 17.4
Sunnyvale: 357: 19.4 19.9 22.2*4 | 25.1
Belmont: 98: 15.5 17.3 18.6 18.6 20.6 20.6 | 27.4
Newark: 145: 15*3 17*3 | 18.7
:In Between 25% and 90%:
Los Altos Hills: 91: 48.4*2 49.0 55.1*2 55.4 | 55.8
Portola Valley: 59: 0*4 57.3 59.8 | 59.8
Redwood City: 241: 34.0 39.1 46.0 51.6 56.9 60.8 | 62.9
San Carlos: 99: 22.2 26.0 32.9 32.9 37.2 39.0 | 40.5
Woodside: 77: 51.9*2 52.3*3 54.0 | 54
:Just Getting Started:
Campbell: 119: 8.9 10.1 12.4*4 | 12.4
Los Gatos: 148: 7.5 8.6 8.8*4 | 8.8
Milpitas: 224: 2.2*4 4.4*2 | 4.4
San Jose: 2543: 1.3 1.36 5.3*4 | 5.3
Santa Clara: 348: 6.4*2 9.6*4 | 9.6
Foster City: 150: 9.1*6 | 9.1
San Mateo: 412: 11.1*6 | 11.3
Berkeley: 260: 5.0*3 7.0*3 | 7.0
Fremont: 771: 9*3 10*3 | 11.7
Union City: 207: 7*3 8*3 | 8.8
:Small Neighborhoods (under 25 road miles):
Emerald Lake Hills: 24.8: 0.0 94.3*3 44.7 51.0 | 80.0
Kensington Square: 0.6: 86.9 99.4 100*4 | 100
Ladera: 8.0: 0*4 30.5 29.8 | 29.8
Loyola: 18.3: 0*4 60.8 62.1 | 62.1
Los Trancos Woods: 5.4: 0*4 71.4*2 | 71.4
Menlo Oaks: 3.6: 0*4 98.4 99.7 | 99.7
Monte Sereno: 20.4: 20.5*6 | 20.5
Palomar Park: 3.9: 0*6 | 91.1
San Mateo Highlands: 18: 0*6 | 18.0
Sequoia Tract: 11.9: 0*4 72.8 82.3 | 92.5
Sky Londa: 11.8: 0*4 72.1*2 | 73.2
West Menlo Park: 11: 0*4 97.5 98.1 | 98.1
:Large Places (over 300,000 road miles):
California: 365188: .712 .811 .846 .867 .8875 .8873 | .9054
USA: 6317607: .048 .052 .055 .05589 .0571 .05749 | .05853
Earth: 38609276: .008 .0089 .0091 .00936 .009535 .009426| .009597
:California Counties:
San Mateo: 3248: 20.1 21.2 22.9 23.4 24.57 25.53 | 26.43
Santa Clara: 7396: 12.7 13.6 15.4 15.6 16.04 16.29 | 16.78
Alameda: 5704: 3.3*3 3.94*3 | 3.97
Marin: 2322: 6.7*6 | 6.7
Napa: 1524: 5.1*6 | 5.1
Sonoma: 4556: 5.1*6 | 5.1
San Francisco: 1183: 4.5*6 | 4.5
Santa Cruz: 2767: 2.3*6 | 2.3

483
ipynb/bikerides.tsv Normal file
View File

@@ -0,0 +1,483 @@
date title hours miles feet
##### 2019-2021: Mostly Eddington rides; most recent first
Sun, 2/7/2021 Saratoga / Campbell 5:53:33 78.38 mi 2270 ft
Fri, 1/8/2021 Coyote Hills Geocaching 4:58:08 69.08 797
Sun, 10/11/2020 Los Altos Hills Paths 5:49:29 65.03 1,870
Mon, 10/5/2020 Half way around the bay on bay trail 6:26:35 80.05 541
Tue, 9/29/2020 Saratoga Geocaching 4:58:20 64.30 961
Sun, 9/27/2020 Edenvale Park 5:39:01 75.73 997
Thu, 9/24/2020 Alum Rock Geocaching 5:07:29 67.19 1093
Sun, 9/20/2020 Rosicrucian Museum, Alexis Dr. 6:03:57 74.85 600
Tue, 9/15/2020 First ride after 5 days of smoke 6:11:15 76.05 1181
Sun, 8/30/2020 Los Gatos 6:21:49 80.92 2,100
Sun, 8/16/2020 Afternoon Ride 5:31:50 68.39 514
Fri, 8/14/2020 Niles / Dumbarton 4:53:47 66.12 597
Sun, 8/9/2020 Ravenswood Bay Trail / Niles / Dumbarton 5:37:20 74.68 1125
Sat, 8/1/2020 Alviso / Guadalupe / SJC 5:52:52 68.66 718
Tue, 7/28/2020 Circumnavigate lower Bay / Coyote Creek lagoon / Dumbarton 5:15:29 68.68 521
Sat, 7/25/2020 Bay Trail 5:31:16 68.19 731
Thu, 7/23/2020 Bay / Tomas Aquino Trail 5:44:49 76.35 1749
Sun, 7/19/2020 Saratoga / Mt Eden 5:49:45 70.43 1,954
Sun, 7/12/2020 Calvares Rd / Niles / Dumbarton 5:30:10 68.23 2,008
Sun, 7/5/2020 Afternoon Ride 5:16:20 66.07 1,286
Fri, 7/3/2020 Sawyer Camp Trail 5:18:23 72.12 1,890
Sun, 6/28/2020 Saratoga 5:31:44 71.01 1,063
Sun, 6/21/2020 Sawyer Camp Trail 6:35:20 79.78 1,738
Sun, 6/13/2020 Canada Rd 5:39:40 70.73 1,841
Fri, 2/28/2020 Sawyer Camp Trail 6:24:49 84.43 3,448
Wed, 2/12/2020 Bay Trail 5:25:09 66.02 572
Fri, 2/7/2020 Bay Trail / Cargill 6:07:23 74.04 1,814
Sun, 1/26/2020 Los Gatos / Bay 5:18:15 67.98 1,286
Fri, 1/31/2020 Bay Trail / Guadalupe / Geocaching 5:21:39 69.39 1,125
Sat, 11/16/2019 Canada / Crystal Dam / Sawyer Camp / Bay Trail 5:18:46 66.08 1,972
Fri, 9/6/2019 San Mateo / Bay Trail 4:59:29 68.01 1,158
Sat, 8/31/2019 San Gregorio via OLH 5:13:21 65.31 4,026
Sat, 8/24/2019 Tour de Fox 4:43:39 68.66 2,097
Sun, 8/18/2019 Afternoon Ride 2:06:52 27.14 331
Fri, 7/5/2019 Crystal Springs 4:30:55 64.05 1,965
Sat, 6/15/2019 Morning Ride 2:29:38 29.98 1,785
Sat, 6/8/2019 Morning Ride 2:53:08 34.42 1,824
Sun, 6/2/2019 The Sequoia 6:40:43 77.51 6,467
##### 2012 to 2018: rides over 25 miles
Fri, 1/9/2012 Otago Rail Trail 8:00:00 101.00 2,200
Thu, 6/14/2012 Coyote Creek Century with Juliet 8:08:15 100.07 1,513
Sat, 5/13/2017 Morgan Hill iCare Classic 7:27:21 100.05 4,596
Sat, 5/12/2018 ICare Classic, Morgan Hill 6:47:46 91.29 4,160
Sat, 5/6/2017 Wine Country Century 7:15:22 89.49 5,246
Fri, 8/10/2018 Bike Ride Northwest Day 6 6:14:18 84.70 4,380
Sat, 10/1/2016 Half Moon Bay overnight campout 7:30:38 80.07 6,039
Tue, 8/7/2018 Bike Ride Northwest Day 3 6:10:39 78.96 5,092
Sun, 6/15/2014 Sierra to the Sea Day 1 5:34:06 78.53 4,777
Sat, 4/23/2016 Wildflower Century 5:36:10 77.22 4,193
Mon, 6/16/2014 Sierra to the Sea Day 2 5:35:06 74.68 2,451
Fri, 8/12/2016 Half Moon Bay / Harvey's 73/7300 Birthday Ride 6:44:14 74.35 6,610
Wed, 10/14/2015 Half Moon Bay 6:07:55 72.97 7,644
Fri, 1/27/2017 Morning Ride 5:16:50 70.07 2,539
Sat, 8/15/2015 Coyote Creek Trail with Juliet 5:49:01 69.30 1,745
Tue, 6/17/2014 Sierra to the Sea Day 3 4:48:41 68.64 825
Thu, 8/9/2018 Bike Ride Northwest Day 5 4:58:07 68.41 3,862
Sat, 4/15/2017 Pescadero 6:13:12 68.34 6,130
Sun, 6/4/2017 Sequoia Challenge 6:17:25 66.52 7,520
Wed, 8/5/2015 08/05/2015 Palo Alto, CA 4:56:15 66.33 2,054
Fri, 8/28/2015 Pescadaro via OLH 5:18:51 66.01 6,137
Fri, 11/20/2015 Los Gatos 5:29:40 65.73 5,380
Sun, 6/3/2018 The Sequoia 5:58:15 64.92 6,677
Thu, 6/19/2014 Sierra to the Sea Day 5 4:32:55 63.69 2,584
Mon, 8/3/2015 Palo Alto, CA 4:45:09 63.61 1,877
Fri, 6/10/2016 Morning Ride 4:21:38 62.84 3,196
Sun, 6/2/2013 Woodside Loop and Baylands 4:27:42 62.14 2,169
Wed, 6/12/2013 ride 4:39:46 61.39 2,207
Sat, 4/18/2015 Tunitas + Lobitos Creeks 5:14:38 61.27 6,611
Sat, 11/11/2017 Los Gatos / Bay Trail 4:26:24 60.74 1,316
Sun, 4/17/2016 La Honda / Skyline 5:10:41 60.35 4,551
Mon, 7/3/2017 Los Gatos / Bay Trail 4:25:41 60.28 1,329
Sat, 4/16/2016 OLH / San Gregorio / Tunitas 4:57:40 60.12 4,744
Sun, 1/29/2017 Los Gatos / Guadalupe / San Tomas / Bay Trails 4:33:38 60.11 1,447
Mon, 11/26/2018 Lunch Ride Los Gatos 4:21:35 60.03 1,070
Sat, 10/31/2015 Saratoga Ramble 5:01:57 59.11 3,528
Sat, 8/18/2018 Tour de Menlo 4:03:48 58.81 2,467
Sat, 4/26/2014 OLH / Tunitas Creek 5:15:26 58.69 6,742
Sat, 6/15/2013 Palo Alto to Santa Cruz 4:27:54 58.42 4,431
Sat, 10/11/2014 OLH / Tunitas 5:05:23 58.29 6,044
Sat, 7/9/2016 Santa Cruz 3:50:23 58.23 4,042
Wed, 6/18/2014 Sierra to the Sea Day 4 4:57:53 57.64 5,561
Tue, 7/7/2015 07/07/2015 Palo Alto, CA 4:13:20 57.60 1,280
Mon, 8/6/2018 Bike Ride Northwest Day 2 4:35:48 57.58 4,514
Fri, 6/20/2014 Sierra to the Sea Day 6 4:33:39 56.91 4,453
Sat, 6/10/2017 Los Gatos / Creek Trails 3:50:24 56.28 1,365
Sat, 3/4/2017 Lunch Ride 3:58:25 56.26 1,378
Sun, 8/5/2018 Bike Ride Northwest Day 1 3:34:42 55.77 1,824
Sat, 8/13/2016 Petaluma / Point Reyes 4:30:12 54.75 5,286
Sun, 6/7/2015 Tour de Cure 3:59:47 54.65 2,748
Wed, 12/16/2015 Los Gatos 4:00:41 53.86 2,595
Fri, 6/2/2017 Morning Ride 3:57:45 53.49 1,375
Sun, 6/8/2014 Tour de Cure 75K 4:03:05 53.10 2,596
Sun, 11/6/2016 Los Gatos 3:38:28 52.49 1,263
Fri, 2/10/2017 Morning Ride 3:52:39 52.02 1,739
Sat, 2/23/2019 Crystal Springs Dam 4:02:11 51.93 1,946
Fri, 8/11/2017 Saratoga with Peter H 4:30:31 51.74 2,871
Sat, 2/4/2017 Canada Rd 3:46:34 51.66 1,762
Sun, 6/9/2013 Silicon Valley Tour de Cure 75K 3:58:37 51.63 2,929
Sun, 9/3/2017 Morning Ride 4:22:45 51.31 2,526
Mon, 7/27/2015 Palo Alto Cycling 3:48:23 50.93 1,306
Wed, 7/29/2015 07/29/2015 Palo Alto, CA 3:47:53 50.92 1,873
Sun, 6/26/2016 Afternoon Ride 3:16:33 50.78 1,181
Mon, 8/10/2015 08/10/2015 Palo Alto, CA 3:41:54 50.73 1,325
Sat, 10/15/2016 Los Gatos 3:28:16 50.64 1,368
Tue, 12/19/2017 Los Gatos 3:46:37 50.49 1,929
Fri, 6/28/2013 Kaffeehaus San Mateo 3:38:11 50.38 1,028
Thu, 10/5/2017 Big Sur 4:33:33 50.38 4,528
Sun, 11/20/2016 Lunch Ride 3:32:01 50.13 1,847
Sat, 1/13/2018 Canada to Coyote Point 3:59:24 50.09 1,499
Fri, 1/13/2017 Los Gatos Creek 3:52:28 50.01 1,598
Sun, 6/11/2017 Tour de Cure with Juliet 4:11:01 49.49 2,713
Sun, 9/11/2016 Santa Cruz via Mountain Charlie Rd 4:03:04 48.78 3,300
Sat, 7/23/2016 Morning Ride 3:30:50 48.45 1,063
Fri, 3/25/2016 Morning Ride 3:39:53 47.93 2,438
Sat, 8/20/2016 Tour de Menlo with Juliet 3:30:24 47.52 2,133
Wed, 11/11/2015 Morning Ride 3:45:01 46.54 2,559
Fri, 7/21/2017 Morning Ride 3:35:00 46.19 748
Sat, 9/2/2017 Canada / Sheep Camp Trail 3:45:45 45.72 2,034
Mon, 1/19/2015 Canada Rd, etc. 2:57:14 45.64 1,836
Sun, 11/27/2016 Morning Ride 3:04:11 45.60 1,378
Sun, 7/2/2017 Afternoon Ride 3:10:38 45.30 581
Sat, 10/3/2015 Los Gatos 2:59:26 45.21 1,148
Sat, 7/2/2016 Morning Ride 3:23:20 45.21 1,991
Mon, 1/16/2017 Morning Ride 3:34:28 45.15 1,434
Sun, 1/15/2017 Lunch Ride 3:18:47 45.12 1,873
Sun, 4/9/2017 Lunch Ride 3:10:28 44.76 636
Sun, 10/15/2017 Los Gatos 2:51:53 44.71 1,437
Tue, 10/8/2013 work 3:22:55 44.58 961
Thu, 7/16/2015 07/16/2015 Mountain View, California 3:29:45 44.34 1,339
Sat, 10/28/2017 Mindego Ridge Winery 4:17:45 44.28 4,331
Sun, 9/2/2018 Saratoga 3:31:02 44.04 1,900
Fri, 9/23/2016 Los Gatos 2:53:22 43.93 1,339
Sat, 7/25/2015 07/25/2015 Palo Alto, California 4:02:27 43.62 4,819
Sat, 7/8/2017 Dumbarton / Niles 3:14:55 43.54 627
Sat, 6/9/2018 Kings Mountain 3:41:47 43.47 3,543
Fri, 3/10/2017 Morning Ride 4:13:51 43.22 4,554
Sat, 3/26/2016 Morning Ride 3:36:57 43.18 3,173
Sun, 10/18/2015 Afternoon Ride 3:00:02 43.04 2,323
Sat, 9/20/2014 Kings Mountain 3:26:36 43.00 3,299
Sat, 8/11/2018 Bike Ride Northwest Day 7 3:25:20 42.39 2,241
Sat, 3/18/2017 Morning Ride 3:37:01 42.29 2,231
Sat, 7/11/2015 07/11/2015 Walnut Creek, California 3:09:38 42.29 3,284
Thu, 1/22/2015 OLH, etc. 3:25:09 42.15 2,957
Sun, 11/9/2014 11/09/2014 Palo Alto, CA 3:24:57 42.10 3,096
Sun, 5/15/2016 Afternoon Ride 2:55:51 41.98 1,693
Sat, 3/25/2017 Morning Ride 3:37:45 41.94 2,874
Sun, 6/14/2015 06/14/2015 Palo Alto, CA 2:46:38 41.67 1,086
Sat, 7/28/2018 Coyote Hills / Dumbarton 3:25:39 41.66 1,463
Sun, 8/7/2016 Afternoon Ride 2:42:58 41.19 1,526
Sat, 2/11/2017 Morning Ride 3:19:34 41.16 2,172
Sun, 12/3/2017 Bay Trail 2:53:58 40.86 568
Mon, 5/29/2017 Morning Ride 3:52:04 40.83 3,678
Sat, 2/18/2017 Lunch Ride 3:01:13 40.82 630
Wed, 11/9/2016 Lunch Ride 2:52:06 40.82 1,667
Sat, 5/20/2017 Lunch Ride 3:07:43 40.82 709
Sat, 3/24/2018 Morning Ride 2:56:29 40.69 561
Sun, 11/19/2017 Belmont / Bay Trail 2:53:36 40.60 453
Sun, 3/26/2017 Lunch Ride 2:54:38 40.57 518
Sat, 5/25/2019 Crestview 3:17:16 40.56 2,890
Sat, 9/16/2017 Tour de Coop 3:24:53 40.55 1,125
Thu, 9/3/2015 Morning Ride 3:02:58 40.40 1,181
Sun, 2/5/2017 Morning Ride 2:53:48 40.40 1,608
Sun, 10/23/2016 Lunch Ride 2:41:33 40.33 1,699
Sat, 12/8/2018 Morning Ride 3:27:10 40.33 2,300
Sun, 2/12/2017 Lunch Ride 3:39:38 40.27 2,717
Sat, 12/2/2017 Dumbarton / Niles 2:57:48 40.26 610
Sun, 11/12/2017 Morning Ride 2:54:57 40.24 656
Sat, 11/15/2014 Kings Mountain again 3:25:14 40.18 2,952
Sun, 10/9/2016 Lunch Ride 2:41:06 40.14 1,106
Mon, 11/6/2017 Morning Ride 2:48:12 40.13 509
Sat, 12/17/2016 Morning Ride 3:11:31 40.10 2,133
Fri, 1/12/2018 Morning Ride 2:58:30 40.09 427
Sun, 12/18/2016 Morning Ride 3:04:01 40.03 1,886
Sun, 1/25/2015 Canada Rd 2:45:51 39.99 1,772
Sat, 6/21/2014 Sierra to the Sea Day 7 3:36:53 39.77 3,325
Sat, 9/23/2017 Canada / Crestview 3:25:13 39.77 2,444
Fri, 12/27/2013 OLH to Page Mill 3:24:14 39.73 3,365
Fri, 10/30/2015 OLH / West Alpine 3:28:46 39.51 4,505
Sat, 9/5/2015 Ring of Fire 3:31:55 39.18 3,553
Wed, 8/28/2013 Train Track Crash 2:50:55 39.16 928
Sun, 2/22/2015 Canada Rd Plus 2:57:25 39.14 1,834
Sat, 4/8/2017 Lunch Ride 3:28:52 39.09 3,117
Sat, 11/14/2015 Morning Ride 3:09:31 39.00 2,254
Sun, 3/1/2015 Canada Rd 2:38:11 38.81 1,856
Wed, 11/22/2017 Morning Ride 2:55:22 38.77 892
Sat, 10/29/2016 Morning Ride 3:14:22 38.72 2,201
Sat, 4/6/2019 Coyote Hills / Dumbarton 2:50:52 38.71 650
Wed, 7/22/2015 07/22/2015 Palo Alto, CA 2:55:45 38.68 627
Mon, 6/22/2015 06/22/2015 Palo Alto, CA 2:51:10 38.55 725
Fri, 12/16/2016 Morning Ride 2:54:02 38.46 1,053
Sun, 10/7/2018 Westridge, Canada with Ted 3:09:25 38.29 1,667
Sat, 2/21/2015 Kings Mountain 3:13:05 38.21 3,015
Sat, 9/12/2015 Morning Ride 3:06:03 38.20 3,342
Sun, 2/15/2015 Canada Rd 2:35:29 38.06 1,470
Sun, 11/16/2014 Canada Rd 2:30:41 37.88 1,548
Sun, 10/5/2014 Canada Road Sunday 2:39:39 37.84 1,644
Mon, 11/23/2015 Home from Pigeon Point 3:29:29 37.70 3,133
Sat, 1/6/2018 Morning Ride 2:53:45 37.66 1,503
Sun, 1/7/2018 Dumbarton / Niles 2:39:17 37.64 472
Sun, 12/1/2013 Mt Hamilton 3:47:01 37.56 4,921
Sun, 3/18/2018 Lunch Ride 2:47:48 37.52 827
Sat, 9/22/2018 Morning Ride 2:52:01 37.45 1,798
Sun, 10/22/2017 Afternoon Ride 2:33:27 37.41 1,024
Sun, 5/4/2014 MTV-Woodside 2:41:21 37.41 1,495
Sat, 1/23/2016 Morning Ride 3:39:10 37.35 2,949
Sun, 9/16/2018 Dumbarton / Niles 2:38:41 37.26 722
Sun, 6/10/2018 Canada / Emerald Hills 3:21:31 37.26 2,621
Mon, 5/4/2015 Commute 2:43:06 37.25 189
Sat, 7/7/2018 Runymede Trail 3:01:51 37.07 1,834
Sun, 12/11/2016 Afternoon Ride 2:34:13 37.05 1,463
Sun, 11/29/2015 Mt Hamilton 3:40:48 37.00 4,902
Sat, 1/30/2016 Morning Ride 2:31:37 36.88 1,345
Mon, 2/18/2019 Niles 2:39:39 36.83 571
Sun, 1/21/2018 Alviso 2:35:58 36.82 404
Sat, 8/26/2017 Lunch Ride 2:41:49 36.71 1,115
Sat, 9/13/2014 Emerald Hills 2:55:30 36.71 2,143
Sun, 5/22/2016 Lunch Ride 2:11:12 36.68 1,332
Sat, 11/25/2017 Mt. Hamilton 3:41:22 36.65 4,806
Fri, 10/13/2017 Voyage 2:46:15 36.63 505
Tue, 5/12/2015 05/12/2015 Palo Alto, CA 2:47:15 36.54 499
Mon, 4/20/2015 Commute 2:57:44 36.31 119
Fri, 5/13/2016 Morning Ride 2:41:03 36.21 456
Sat, 12/3/2016 Morning Ride 3:08:37 36.20 2,881
Sun, 12/7/2014 12/07/2014 Palo Alto, CA 2:43:35 36.16 1,569
Sun, 9/30/2018 Canada 2:48:41 36.12 1,480
Fri, 3/30/2018 Morning Ride 2:38:07 36.11 285
Sun, 11/5/2017 Lunch Ride 3:24:01 35.91 2,231
Sun, 2/8/2015 Commute 2:28:46 35.85 1,142
Sat, 3/30/2019 Morning Ride 3:23:55 35.78 2,861
Sun, 11/22/2015 Pigeon Point 3:14:41 35.73 3,230
Mon, 9/19/2016 Sunnyvale 2:37:04 35.68 745
Thu, 4/9/2015 Palo Alto Cycling 2:35:47 35.51 117
Sun, 8/21/2016 Canada 2:20:21 35.42 1,348
Tue, 10/28/2014 Woodside 2:36:36 35.39 1,560
Sun, 1/27/2019 Crystal Springs Dam Bridge 2:28:21 35.38 1,480
Thu, 4/26/2018 San Mateo 2:38:26 35.31 666
Thu, 12/22/2016 Half Moon Bay 2:53:00 35.26 2,671
Tue, 6/7/2016 Los Altos 2:41:13 35.18 1,070
Sat, 3/15/2014 Canada - Steve 2:51:50 35.01 1,607
Sun, 12/6/2015 Canada Rd 2:15:05 34.67 1,237
Wed, 9/13/2017 Healdburg / Jimtown 2:08:03 34.45 912
Thu, 10/2/2014 10/02/2014 Mountain View, California 3:08:06 34.28 2,864
Sat, 2/1/2014 OLH to Page Mill 3:07:43 34.26 3,099
Sat, 10/21/2017 Pescadero 5:20:08 67.05 4,938
Sat, 7/30/2016 Morning Ride 2:50:15 34.19 2,799
Mon, 7/10/2017 Morning Ride 2:38:59 34.18 984
Thu, 7/31/2014 Work commute 2:36:53 34.15 564
Sat, 12/15/2018 Lunch Ride 2:50:19 34.10 1,683
Sat, 1/20/2018 Afternoon Ride 2:28:18 34.02 525
Sun, 12/4/2016 Morning Ride 2:29:29 34.00 1,161
Sat, 10/8/2016 Lunch Ride 2:25:17 33.95 1,375
Thu, 10/16/2014 Commute 2:40:01 33.76 615
Fri, 11/11/2016 OLH 2:44:59 33.69 2,175
Sat, 9/3/2016 Morning Ride 3:07:28 33.65 2,792
Sun, 4/19/2015 Canada Rd 2:23:17 33.56 1,466
Sat, 8/12/2017 Afternoon Ride 2:41:24 33.54 633
Sat, 2/14/2015 Rancho San Antonio 2:45:23 33.53 2,075
Sat, 2/27/2016 Morning Ride 2:47:15 33.51 2,005
Sun, 9/17/2017 Canada and off road 2:36:04 33.50 1,772
Sat, 2/24/2018 Los Altos Hills on and off road 3:10:47 33.49 2,343
Sun, 1/26/2014 Canada Rd 2:05:59 33.12 1,446
Sat, 4/27/2019 Morning Ride 2:31:48 33.04 1,722
Sun, 5/12/2019 Peninsula Bike Trail to Bay Trail 2:29:05 33.00 846
Sun, 8/20/2017 Lunch Ride 2:23:02 32.96 1,407
Sun, 3/6/2016 Lunch Ride 2:57:54 32.86 2,566
Sun, 3/5/2017 Lunch Ride 2:57:09 32.82 1,713
Sat, 12/16/2017 Morning Ride 2:48:58 32.72 2,320
Tue, 8/23/2016 Morning Ride 2:32:15 32.61 354
Fri, 12/9/2016 Morning Ride 3:04:52 32.55 2,365
Sun, 11/1/2015 Lunch Ride 2:20:35 32.49 1,553
Sat, 4/14/2018 Lunch Ride 2:21:49 32.43 666
Fri, 1/26/2018 Morning Ride 2:23:38 32.41 295
Sun, 8/16/2015 08/16/2015 Palo Alto, CA 2:29:53 32.40 1,650
Sat, 5/9/2015 OLH 2:30:17 32.33 2,788
Wed, 1/31/2018 Morning Ride 3:04:15 32.28 2,526
Sat, 4/4/2015 Rancho San Antonio 2:55:37 32.26 2,136
Sat, 3/16/2019 Morning Ride 2:58:43 32.26 2,316
Sun, 12/27/2015 Canada Rd with Juliet 2:24:56 32.22 1,491
Mon, 5/18/2015 05/18/2015 Palo Alto, CA 2:24:45 32.22 807
Sun, 4/8/2018 Lunch Ride 2:21:54 32.18 1,296
Sun, 5/3/2015 Canada Rd 2:12:24 32.02 1,384
Wed, 6/17/2015 06/17/2015 Mountain View, California 2:13:42 32.01 650
Sat, 11/7/2015 Crystal Springs Part 1 2:15:00 32.00 1000
Sun, 8/23/2015 Afternoon Ride 2:24:29 31.90 2,444
Sun, 4/12/2015 Palo Alto Cycling 2:01:49 31.76 1,210
Sun, 11/13/2016 Afternoon Ride 2:23:46 31.71 1,273
Fri, 10/7/2016 Morning Ride 2:26:46 31.65 2,382
Thu, 8/15/2013 08/15/2013 Palo Alto, CA 2:19:27 31.64 555
Wed, 10/30/2013 work 2:22:00 31.55 995
Sun, 9/18/2016 Morning Ride 2:20:46 31.48 1,506
Tue, 6/18/2013 work etc (headwinds) 2:03:34 31.48 809
Sun, 3/11/2018 Lunch Ride 2:23:14 31.42 686
Sat, 3/12/2016 Lunch Ride 2:10:01 31.39 1,198
Sun, 1/22/2017 Dumbarton 2:23:36 31.27 591
Sat, 9/29/2018 Kings 2:36:47 31.23 1,949
Sat, 3/23/2019 Morning Ride 2:33:27 31.19 1,529
Sat, 4/13/2019 Alviso 2:10:04 31.18 397
Mon, 11/10/2014 Commute 2:22:39 31.18 800
Mon, 5/25/2015 05/25/2015 Palo Alto, CA 2:19:26 31.14 1,591
Mon, 2/16/2015 Portola Valley Loop 2:09:15 31.11 1,283
Wed, 9/21/2016 Morning Ride 2:16:04 31.09 551
Sat, 3/11/2017 Afternoon Ride 2:19:05 31.04 1,368
Sun, 7/29/2018 Lunch Ride 2:26:56 30.92 1,578
Fri, 11/10/2017 Lunch Ride 2:20:46 30.92 312
Mon, 6/12/2017 Morning Ride 2:20:16 30.90 554
Thu, 12/29/2016 Morning Ride 2:13:46 30.86 1,083
Sat, 4/22/2017 Lunch Ride 2:21:31 30.80 1,237
Mon, 9/7/2015 Healdsburg 2:09:43 30.76 1,037
Sat, 1/14/2017 Afternoon Ride 2:12:37 30.71 466
Mon, 9/4/2017 Kings Mountain 2:40:57 30.69 2,431
Sun, 8/9/2015 08/09/2015 Palo Alto, CA 2:15:39 30.66 1,348
Sat, 12/12/2015 Lunch Ride 2:16:20 30.56 1,434
Thu, 12/28/2017 Morning Ride 2:17:38 30.54 430
Mon, 1/30/2017 Morning Ride 2:19:47 30.49 696
Sun, 8/27/2017 Lunch Ride 2:16:36 30.47 774
Fri, 10/12/2018 Lunch Ride 2:16:25 30.44 348
Sat, 2/28/2015 Palo Alto Cycling 2:40:24 30.37 2,535
Sat, 6/24/2017 Afternoon Ride 2:06:05 30.31 338
Tue, 6/2/2015 06/02/2015 Mountain View, California 2:09:58 30.30 784
Mon, 5/27/2019 Canada / Sheep camp / Water dog lake 2:37:11 30.27 1,444
Sat, 1/2/2016 Los Altos Hills 2:29:48 30.27 1,952
Fri, 6/23/2017 Morning Ride 2:17:16 30.27 515
Sun, 4/2/2017 Morning Ride 2:20:47 30.23 407
Sat, 8/25/2018 Morning Ride 2:22:42 30.22 2,257
Sun, 9/14/2014 09/14/2014 Palo Alto, CA 2:06:48 30.18 1,204
Sat, 8/19/2017 Lunch Ride 2:06:39 30.17 627
Sun, 3/12/2017 Morning Ride 2:18:13 30.16 600
Sat, 11/21/2015 Morning Ride 2:20:54 30.16 1,499
Wed, 10/12/2016 Morning Ride 2:19:51 30.11 328
Sun, 7/8/2018 Lunch Ride 2:12:19 30.04 768
Tue, 11/22/2016 Morning Ride 2:18:57 30.04 518
Wed, 3/4/2015 Commute 2:15:56 30.02 1,125
Sun, 3/25/2018 Dumbarton / Coyote Hills / Middle of the Bay 2:31:51 30.01 709
Tue, 2/14/2017 Morning Ride 2:22:16 29.92 463
Sun, 5/31/2015 05/31/2015 Palo Alto, California 2:35:24 29.85 2,568
Tue, 11/1/2016 Morning Ride 2:15:55 29.78 515
Sun, 6/5/2016 Morning Ride 2:18:02 29.70 1,293
Sun, 5/26/2019 San Carlos / Bay Trail 2:17:51 29.55 620
Thu, 8/13/2015 08/13/2015 Palo Alto, CA 2:13:58 29.51 778
Sun, 7/14/2013 07/14/2013 Palo Alto, CA 2:23:07 29.34 739
Sun, 4/3/2016 Lunch Ride 2:03:38 29.31 810
Mon, 3/9/2015 Palo Alto Cycling 1:57:50 29.21 115
Fri, 2/23/2018 Morning Ride 2:08:28 29.21 166
Sat, 10/7/2017 Afternoon Ride 2:02:43 29.18 394
Sat, 1/17/2015 Palo Alto Cycling 2:08:38 29.06 1,587
Sat, 1/18/2014 Los Altos Hills 2:32:23 29.03 1,918
Sat, 6/20/2015 06/20/2015 Palo Alto, CA 2:06:45 28.87 1,650
Sun, 11/3/2013 work 2:11:08 28.74 841
Wed, 8/16/2017 Lunch Ride 2:15:48 28.67 732
Sat, 1/9/2016 Morning Ride 2:07:35 28.54 1,289
Sat, 9/19/2015 Los Altos Hills 2:31:24 28.51 1,611
Wed, 8/12/2015 08/12/2015 Palo Alto, CA 2:02:14 28.48 751
Sun, 7/23/2017 Morning Ride 2:57:35 28.43 2,562
Mon, 8/24/2015 Morning Ride 2:10:31 28.35 427
Wed, 6/26/2013 work 2:01:29 28.33 627
Sun, 4/28/2019 Arastradsero 2:29:59 28.21 1,355
Sun, 7/19/2015 07/19/2015 Palo Alto, CA 2:00:27 28.17 1,037
Fri, 12/28/2018 Lunch Ride with Juliet 2:17:33 28.10 331
Tue, 5/17/2016 Morning Ride 2:06:55 28.09 551
Wed, 10/5/2016 Morning Ride 2:10:47 28.05 276
Wed, 6/22/2016 Morning Ride 2:00:40 27.99 374
Mon, 3/16/2015 Commute 2:06:51 27.97 70
Sun, 2/25/2018 Lunch Ride 2:10:54 27.88 958
Sat, 10/27/2018 Morning Ride 2:29:13 27.88 1,581
Mon, 6/20/2016 Morning Ride 1:52:13 27.77 531
Sun, 12/2/2018 Lunch Ride 2:34:14 27.72 1,506
Mon, 3/19/2018 Morning Ride 2:06:35 27.62 860
Mon, 12/17/2018 Morning Ride 2:16:12 27.60 246
Sat, 10/14/2017 Afternoon Ride 2:04:53 27.52 387
Sat, 10/18/2014 Bikepacking Monte Bello 2:54:20 27.44 2,992
Sun, 4/15/2018 Morning Ride 2:17:16 27.43 1,667
Mon, 4/10/2017 Morning Ride 2:03:19 27.40 282
Tue, 5/7/2019 Lunch Ride 2:07:55 27.37 820
Sun, 11/25/2018 Afternoon Ride 1:56:26 27.34 203
Wed, 4/29/2015 Palo Alto Cycling 2:03:14 27.33 75
Tue, 1/17/2017 Morning Ride 2:07:17 27.30 535
Tue, 9/30/2014 09/30/2014 Palo Alto, CA 2:07:33 27.28 636
Sat, 9/17/2016 TourDeCoop.org 2:04:27 27.24 479
Sat, 1/12/2019 Lunch Ride 1:58:47 27.24 1,079
Mon, 3/30/2015 Woodside Loop 1:47:46 27.22 1,081
Tue, 11/17/2015 Afternoon Ride 2:04:48 27.12 830
Sun, 8/13/2017 Woodside Loop (Battery ran down) 2:00:00 27.00 1,000
Sat, 1/31/2015 Alpine Rd 2:29:26 26.98 2,362
Sun, 2/28/2016 Woodside Loop 1:43:34 26.93 843
Sun, 4/1/2018 Lunch Ride 2:30:35 26.92 1,831
Wed, 5/3/2017 Palo Alto Road Cycling 2:06:05 26.86 1,411
Fri, 9/9/2016 Morning Ride 1:56:44 26.85 1,086
Sun, 9/23/2018 Morning Ride 1:57:48 26.83 512
Sat, 10/4/2014 Woodside Loop 1:52:09 26.71 1,213
Thu, 5/7/2015 Commute 1:55:36 26.58 68
Sun, 3/24/2019 Afternoon Ride 2:42:45 26.57 2,267
Thu, 8/31/2017 Morning Ride 2:00:02 26.54 817
Sun, 4/24/2016 Afternoon Ride 1:50:08 26.53 935
Sun, 12/17/2017 Lunch Ride 1:50:51 26.53 217
Tue, 7/4/2017 Lunch Ride 1:53:04 26.50 459
Tue, 5/8/2018 Afternoon Ride 2:34:11 26.50 1,791
Tue, 5/26/2015 05/26/2015 Palo Alto, CA 2:01:47 26.50 591
Thu, 8/4/2016 Afternoon Ride 1:55:47 26.49 659
Wed, 6/8/2016 Lunch Ride 1:48:19 26.48 597
Sun, 9/9/2018 Lunch Ride 2:00:49 26.46 479
Sat, 5/21/2016 Maker Faire 1:57:14 26.44 207
Wed, 4/1/2015 Commute 1:55:15 26.44 71
Wed, 6/29/2016 Morning Ride 1:49:33 26.39 561
Sat, 9/9/2017 Lunch Ride 1:59:01 26.38 1,112
Fri, 6/3/2016 Morning Ride 1:56:57 26.38 502
Fri, 3/31/2017 Morning Ride 2:01:41 26.36 495
Sat, 12/13/2014 Westridge (up the back way; after the rain) 2:01:01 26.35 1,495
Sun, 4/14/2019 Huddart - Paul Hopkins 2:08:57 26.34 1,601
Sat, 6/29/2013 Untitled 1:48:50 26.33 1,091
Sat, 4/25/2015 Woodside 1:54:30 26.28 1,220
Tue, 1/31/2017 Morning Ride 2:01:18 26.27 384
Tue, 6/28/2016 Morning Ride 1:55:31 26.27 571
Sat, 5/19/2018 Morning Ride 2:00:24 26.25 958
Thu, 6/30/2016 Morning Ride 1:52:16 26.24 499
Sun, 2/19/2017 Afternoon Ride 1:56:46 26.23 1,138
Thu, 8/18/2016 Morning Ride 1:58:06 26.23 712
Sun, 4/20/2014 Afternoon Ride 1:52:52 26.23 102
Sun, 5/10/2015 Arastadero 1:48:58 26.22 1,148
Thu, 5/19/2016 Morning Ride 1:52:56 26.14 938
Mon, 12/31/2018 Morning Ride 2:00:24 26.11 545
Fri, 12/15/2017 Afternoon Ride 1:51:36 26.07 226
Sun, 1/18/2015 Palo Alto Cycling 1:38:16 26.02 1,257
Mon, 10/3/2016 Morning Ride 1:54:45 26.01 646
Tue, 7/14/2015 07/14/2015 Mountain View, California 2:02:36 25.99 502
Fri, 12/18/2015 Lunch Ride 1:58:57 25.93 909
Tue, 6/13/2017 Morning Ride 1:55:30 25.89 289
Mon, 8/4/2014 To the Sea 2:17:11 25.87 2,080
Wed, 9/25/2013 work and with kris 2:07:40 25.81 593
Sun, 9/13/2015 Afternoon Ride 1:49:31 25.78 1,152
Sun, 3/3/2019 Afternoon Ride 2:00:06 25.73 390
Thu, 1/26/2017 Morning Ride 1:56:09 25.67 259
Sun, 5/6/2018 Morning Ride 1:55:05 25.67 1,148
Sat, 7/29/2017 Lunch Ride 1:53:50 25.65 988
Wed, 8/20/2014 08/20/2014 Palo Alto, CA 1:49:35 25.61 497
Sat, 4/19/2014 Lunch Ride 1:49:37 25.60 1,111
Mon, 9/3/2018 Afternoon Ride 1:59:08 25.54 331
Mon, 6/2/2014 Work 1:59:33 25.51 627
Fri, 12/11/2015 Afternoon Ride 2:12:40 25.44 1,719
Fri, 2/9/2018 Morning Ride 1:56:11 25.41 318
Sun, 8/26/2018 Afternoon Ride 1:49:16 25.37 377
Sun, 7/9/2017 Afternoon Ride 1:50:30 25.36 682
Mon, 6/26/2017 Morning Ride 1:52:26 25.34 226
Fri, 9/14/2018 Lunch Ride 1:50:05 25.34 541
Fri, 3/1/2019 Morning Ride 2:00:23 25.34 121
Sun, 1/13/2019 Lunch Ride 1:51:40 25.33 715
Wed, 4/12/2017 Morning Ride 1:59:22 25.33 686
Wed, 6/14/2017 Morning Ride 1:51:32 25.33 308
Sat, 11/28/2015 Lunch Ride 1:43:56 25.31 1,122
Mon, 11/27/2017 Morning Ride 1:55:39 25.31 184
Fri, 11/28/2014 Palo Alto, CA 1:45:13 25.30 1,112
Fri, 4/13/2018 Morning Ride 1:53:39 25.28 344
Fri, 9/15/2017 Morning Ride 1:56:55 25.28 384
Tue, 12/31/2013 Woodside Loop - Last Ride of the Year 1:45:28 25.27 1,207
Sun, 10/14/2018 Lunch Ride 2:13:13 25.23 1,421
Sat, 11/22/2014 Atherton to Woodside 1:43:10 25.21 1,095
Sat, 6/4/2016 Morning Ride 1:57:23 25.19 922
Mon, 8/8/2016 Morning Ride 1:52:38 25.17 423
Fri, 11/6/2015 Morning Ride 1:51:45 25.15 538
Mon, 12/18/2017 Afternoon Ride 1:52:56 25.15 741
Fri, 6/24/2016 Afternoon Ride 1:35:25 25.11 623
Sat, 6/25/2016 Afternoon Ride 1:44:43 25.10 568
Sat, 1/25/2014 Woodside 1:33:38 25.08 1,243
Tue, 4/29/2014 Woodside 1:46:03 25.08 886
Sat, 1/25/2014 Woodside 1:33:38 25.08 1,243
Thu, 4/13/2017 Morning Ride 2:06:13 25.06 266
Sun, 6/12/2016 Morning Ride 1:49:25 25.04 387
Thu, 6/8/2017 Morning Ride 1:56:19 25.02 285
Thu, 10/13/2016 Morning Ride 1:47:30 25.02 253
Sun, 1/19/2014 Palo Alto, CA 1:36:55 25.01 1,201
Mon, 9/5/2016 Afternoon Ride 1:42:56 25.00 902
Sat, 11/8/2014 Atherton / Woodside 1:40:51 25.00 972
# 2013: Rides in the 20 to 25 mile range
Sat, 4/11/2015 Woodside 1:32:24 24.73 1,035
Sat, 6/1/2013 Woodside Loop 1:41:20 24.45 1,125
Sun, 6/16/2013 Woodside Loop 1:38:19 24.52 1,137
Sun, 6/23/2013 Climb 2:16:29 24.30 2,001
Sat, 3/19/2016 Morning Ride 1:28:00 24.00 1,125
Sat, 7/13/2013 Doug's Event 1:51:55 21.35 1,677
Sun, 8/4/2013 Kris's first trike ride 1:51:21 20.96 988
Sun, 11/24/2013 Alpine Rd 1:42:36 21.02 1,289
Fri, 11/29/2013 Woodside Loop 1:33:36 22.75 1,011
1 date title hours miles feet
2 ##### 2019-2021: Mostly Eddington rides; most recent first
3 Sun, 2/7/2021 Saratoga / Campbell 5:53:33 78.38 mi 2270 ft
4 Fri, 1/8/2021 Coyote Hills Geocaching 4:58:08 69.08 797
5 Sun, 10/11/2020 Los Altos Hills Paths 5:49:29 65.03 1,870
6 Mon, 10/5/2020 Half way around the bay on bay trail 6:26:35 80.05 541
7 Tue, 9/29/2020 Saratoga Geocaching 4:58:20 64.30 961
8 Sun, 9/27/2020 Edenvale Park 5:39:01 75.73 997
9 Thu, 9/24/2020 Alum Rock Geocaching 5:07:29 67.19 1093
10 Sun, 9/20/2020 Rosicrucian Museum, Alexis Dr. 6:03:57 74.85 600
11 Tue, 9/15/2020 First ride after 5 days of smoke 6:11:15 76.05 1181
12 Sun, 8/30/2020 Los Gatos 6:21:49 80.92 2,100
13 Sun, 8/16/2020 Afternoon Ride 5:31:50 68.39 514
14 Fri, 8/14/2020 Niles / Dumbarton 4:53:47 66.12 597
15 Sun, 8/9/2020 Ravenswood Bay Trail / Niles / Dumbarton 5:37:20 74.68 1125
16 Sat, 8/1/2020 Alviso / Guadalupe / SJC 5:52:52 68.66 718
17 Tue, 7/28/2020 Circumnavigate lower Bay / Coyote Creek lagoon / Dumbarton 5:15:29 68.68 521
18 Sat, 7/25/2020 Bay Trail 5:31:16 68.19 731
19 Thu, 7/23/2020 Bay / Tomas Aquino Trail 5:44:49 76.35 1749
20 Sun, 7/19/2020 Saratoga / Mt Eden 5:49:45 70.43 1,954
21 Sun, 7/12/2020 Calvares Rd / Niles / Dumbarton 5:30:10 68.23 2,008
22 Sun, 7/5/2020 Afternoon Ride 5:16:20 66.07 1,286
23 Fri, 7/3/2020 Sawyer Camp Trail 5:18:23 72.12 1,890
24 Sun, 6/28/2020 Saratoga 5:31:44 71.01 1,063
25 Sun, 6/21/2020 Sawyer Camp Trail 6:35:20 79.78 1,738
26 Sun, 6/13/2020 Canada Rd 5:39:40 70.73 1,841
27 Fri, 2/28/2020 Sawyer Camp Trail 6:24:49 84.43 3,448
28 Wed, 2/12/2020 Bay Trail 5:25:09 66.02 572
29 Fri, 2/7/2020 Bay Trail / Cargill 6:07:23 74.04 1,814
30 Sun, 1/26/2020 Los Gatos / Bay 5:18:15 67.98 1,286
31 Fri, 1/31/2020 Bay Trail / Guadalupe / Geocaching 5:21:39 69.39 1,125
32 Sat, 11/16/2019 Canada / Crystal Dam / Sawyer Camp / Bay Trail 5:18:46 66.08 1,972
33 Fri, 9/6/2019 San Mateo / Bay Trail 4:59:29 68.01 1,158
34 Sat, 8/31/2019 San Gregorio via OLH 5:13:21 65.31 4,026
35 Sat, 8/24/2019 Tour de Fox 4:43:39 68.66 2,097
36 Sun, 8/18/2019 Afternoon Ride 2:06:52 27.14 331
37 Fri, 7/5/2019 Crystal Springs 4:30:55 64.05 1,965
38 Sat, 6/15/2019 Morning Ride 2:29:38 29.98 1,785
39 Sat, 6/8/2019 Morning Ride 2:53:08 34.42 1,824
40 Sun, 6/2/2019 The Sequoia 6:40:43 77.51 6,467
41 ##### 2012 to 2018: rides over 25 miles
42 Fri, 1/9/2012 Otago Rail Trail 8:00:00 101.00 2,200
43 Thu, 6/14/2012 Coyote Creek Century with Juliet 8:08:15 100.07 1,513
44 Sat, 5/13/2017 Morgan Hill iCare Classic 7:27:21 100.05 4,596
45 Sat, 5/12/2018 ICare Classic, Morgan Hill 6:47:46 91.29 4,160
46 Sat, 5/6/2017 Wine Country Century 7:15:22 89.49 5,246
47 Fri, 8/10/2018 Bike Ride Northwest Day 6 6:14:18 84.70 4,380
48 Sat, 10/1/2016 Half Moon Bay overnight campout 7:30:38 80.07 6,039
49 Tue, 8/7/2018 Bike Ride Northwest Day 3 6:10:39 78.96 5,092
50 Sun, 6/15/2014 Sierra to the Sea Day 1 5:34:06 78.53 4,777
51 Sat, 4/23/2016 Wildflower Century 5:36:10 77.22 4,193
52 Mon, 6/16/2014 Sierra to the Sea Day 2 5:35:06 74.68 2,451
53 Fri, 8/12/2016 Half Moon Bay / Harvey's 73/7300 Birthday Ride 6:44:14 74.35 6,610
54 Wed, 10/14/2015 Half Moon Bay 6:07:55 72.97 7,644
55 Fri, 1/27/2017 Morning Ride 5:16:50 70.07 2,539
56 Sat, 8/15/2015 Coyote Creek Trail with Juliet 5:49:01 69.30 1,745
57 Tue, 6/17/2014 Sierra to the Sea Day 3 4:48:41 68.64 825
58 Thu, 8/9/2018 Bike Ride Northwest Day 5 4:58:07 68.41 3,862
59 Sat, 4/15/2017 Pescadero 6:13:12 68.34 6,130
60 Sun, 6/4/2017 Sequoia Challenge 6:17:25 66.52 7,520
61 Wed, 8/5/2015 08/05/2015 Palo Alto, CA 4:56:15 66.33 2,054
62 Fri, 8/28/2015 Pescadaro via OLH 5:18:51 66.01 6,137
63 Fri, 11/20/2015 Los Gatos 5:29:40 65.73 5,380
64 Sun, 6/3/2018 The Sequoia 5:58:15 64.92 6,677
65 Thu, 6/19/2014 Sierra to the Sea Day 5 4:32:55 63.69 2,584
66 Mon, 8/3/2015 Palo Alto, CA 4:45:09 63.61 1,877
67 Fri, 6/10/2016 Morning Ride 4:21:38 62.84 3,196
68 Sun, 6/2/2013 Woodside Loop and Baylands 4:27:42 62.14 2,169
69 Wed, 6/12/2013 ride 4:39:46 61.39 2,207
70 Sat, 4/18/2015 Tunitas + Lobitos Creeks 5:14:38 61.27 6,611
71 Sat, 11/11/2017 Los Gatos / Bay Trail 4:26:24 60.74 1,316
72 Sun, 4/17/2016 La Honda / Skyline 5:10:41 60.35 4,551
73 Mon, 7/3/2017 Los Gatos / Bay Trail 4:25:41 60.28 1,329
74 Sat, 4/16/2016 OLH / San Gregorio / Tunitas 4:57:40 60.12 4,744
75 Sun, 1/29/2017 Los Gatos / Guadalupe / San Tomas / Bay Trails 4:33:38 60.11 1,447
76 Mon, 11/26/2018 Lunch Ride Los Gatos 4:21:35 60.03 1,070
77 Sat, 10/31/2015 Saratoga Ramble 5:01:57 59.11 3,528
78 Sat, 8/18/2018 Tour de Menlo 4:03:48 58.81 2,467
79 Sat, 4/26/2014 OLH / Tunitas Creek 5:15:26 58.69 6,742
80 Sat, 6/15/2013 Palo Alto to Santa Cruz 4:27:54 58.42 4,431
81 Sat, 10/11/2014 OLH / Tunitas 5:05:23 58.29 6,044
82 Sat, 7/9/2016 Santa Cruz 3:50:23 58.23 4,042
83 Wed, 6/18/2014 Sierra to the Sea Day 4 4:57:53 57.64 5,561
84 Tue, 7/7/2015 07/07/2015 Palo Alto, CA 4:13:20 57.60 1,280
85 Mon, 8/6/2018 Bike Ride Northwest Day 2 4:35:48 57.58 4,514
86 Fri, 6/20/2014 Sierra to the Sea Day 6 4:33:39 56.91 4,453
87 Sat, 6/10/2017 Los Gatos / Creek Trails 3:50:24 56.28 1,365
88 Sat, 3/4/2017 Lunch Ride 3:58:25 56.26 1,378
89 Sun, 8/5/2018 Bike Ride Northwest Day 1 3:34:42 55.77 1,824
90 Sat, 8/13/2016 Petaluma / Point Reyes 4:30:12 54.75 5,286
91 Sun, 6/7/2015 Tour de Cure 3:59:47 54.65 2,748
92 Wed, 12/16/2015 Los Gatos 4:00:41 53.86 2,595
93 Fri, 6/2/2017 Morning Ride 3:57:45 53.49 1,375
94 Sun, 6/8/2014 Tour de Cure 75K 4:03:05 53.10 2,596
95 Sun, 11/6/2016 Los Gatos 3:38:28 52.49 1,263
96 Fri, 2/10/2017 Morning Ride 3:52:39 52.02 1,739
97 Sat, 2/23/2019 Crystal Springs Dam 4:02:11 51.93 1,946
98 Fri, 8/11/2017 Saratoga with Peter H 4:30:31 51.74 2,871
99 Sat, 2/4/2017 Canada Rd 3:46:34 51.66 1,762
100 Sun, 6/9/2013 Silicon Valley Tour de Cure 75K 3:58:37 51.63 2,929
101 Sun, 9/3/2017 Morning Ride 4:22:45 51.31 2,526
102 Mon, 7/27/2015 Palo Alto Cycling 3:48:23 50.93 1,306
103 Wed, 7/29/2015 07/29/2015 Palo Alto, CA 3:47:53 50.92 1,873
104 Sun, 6/26/2016 Afternoon Ride 3:16:33 50.78 1,181
105 Mon, 8/10/2015 08/10/2015 Palo Alto, CA 3:41:54 50.73 1,325
106 Sat, 10/15/2016 Los Gatos 3:28:16 50.64 1,368
107 Tue, 12/19/2017 Los Gatos 3:46:37 50.49 1,929
108 Fri, 6/28/2013 Kaffeehaus San Mateo 3:38:11 50.38 1,028
109 Thu, 10/5/2017 Big Sur 4:33:33 50.38 4,528
110 Sun, 11/20/2016 Lunch Ride 3:32:01 50.13 1,847
111 Sat, 1/13/2018 Canada to Coyote Point 3:59:24 50.09 1,499
112 Fri, 1/13/2017 Los Gatos Creek 3:52:28 50.01 1,598
113 Sun, 6/11/2017 Tour de Cure with Juliet 4:11:01 49.49 2,713
114 Sun, 9/11/2016 Santa Cruz via Mountain Charlie Rd 4:03:04 48.78 3,300
115 Sat, 7/23/2016 Morning Ride 3:30:50 48.45 1,063
116 Fri, 3/25/2016 Morning Ride 3:39:53 47.93 2,438
117 Sat, 8/20/2016 Tour de Menlo with Juliet 3:30:24 47.52 2,133
118 Wed, 11/11/2015 Morning Ride 3:45:01 46.54 2,559
119 Fri, 7/21/2017 Morning Ride 3:35:00 46.19 748
120 Sat, 9/2/2017 Canada / Sheep Camp Trail 3:45:45 45.72 2,034
121 Mon, 1/19/2015 Canada Rd, etc. 2:57:14 45.64 1,836
122 Sun, 11/27/2016 Morning Ride 3:04:11 45.60 1,378
123 Sun, 7/2/2017 Afternoon Ride 3:10:38 45.30 581
124 Sat, 10/3/2015 Los Gatos 2:59:26 45.21 1,148
125 Sat, 7/2/2016 Morning Ride 3:23:20 45.21 1,991
126 Mon, 1/16/2017 Morning Ride 3:34:28 45.15 1,434
127 Sun, 1/15/2017 Lunch Ride 3:18:47 45.12 1,873
128 Sun, 4/9/2017 Lunch Ride 3:10:28 44.76 636
129 Sun, 10/15/2017 Los Gatos 2:51:53 44.71 1,437
130 Tue, 10/8/2013 work 3:22:55 44.58 961
131 Thu, 7/16/2015 07/16/2015 Mountain View, California 3:29:45 44.34 1,339
132 Sat, 10/28/2017 Mindego Ridge Winery 4:17:45 44.28 4,331
133 Sun, 9/2/2018 Saratoga 3:31:02 44.04 1,900
134 Fri, 9/23/2016 Los Gatos 2:53:22 43.93 1,339
135 Sat, 7/25/2015 07/25/2015 Palo Alto, California 4:02:27 43.62 4,819
136 Sat, 7/8/2017 Dumbarton / Niles 3:14:55 43.54 627
137 Sat, 6/9/2018 Kings Mountain 3:41:47 43.47 3,543
138 Fri, 3/10/2017 Morning Ride 4:13:51 43.22 4,554
139 Sat, 3/26/2016 Morning Ride 3:36:57 43.18 3,173
140 Sun, 10/18/2015 Afternoon Ride 3:00:02 43.04 2,323
141 Sat, 9/20/2014 Kings Mountain 3:26:36 43.00 3,299
142 Sat, 8/11/2018 Bike Ride Northwest Day 7 3:25:20 42.39 2,241
143 Sat, 3/18/2017 Morning Ride 3:37:01 42.29 2,231
144 Sat, 7/11/2015 07/11/2015 Walnut Creek, California 3:09:38 42.29 3,284
145 Thu, 1/22/2015 OLH, etc. 3:25:09 42.15 2,957
146 Sun, 11/9/2014 11/09/2014 Palo Alto, CA 3:24:57 42.10 3,096
147 Sun, 5/15/2016 Afternoon Ride 2:55:51 41.98 1,693
148 Sat, 3/25/2017 Morning Ride 3:37:45 41.94 2,874
149 Sun, 6/14/2015 06/14/2015 Palo Alto, CA 2:46:38 41.67 1,086
150 Sat, 7/28/2018 Coyote Hills / Dumbarton 3:25:39 41.66 1,463
151 Sun, 8/7/2016 Afternoon Ride 2:42:58 41.19 1,526
152 Sat, 2/11/2017 Morning Ride 3:19:34 41.16 2,172
153 Sun, 12/3/2017 Bay Trail 2:53:58 40.86 568
154 Mon, 5/29/2017 Morning Ride 3:52:04 40.83 3,678
155 Sat, 2/18/2017 Lunch Ride 3:01:13 40.82 630
156 Wed, 11/9/2016 Lunch Ride 2:52:06 40.82 1,667
157 Sat, 5/20/2017 Lunch Ride 3:07:43 40.82 709
158 Sat, 3/24/2018 Morning Ride 2:56:29 40.69 561
159 Sun, 11/19/2017 Belmont / Bay Trail 2:53:36 40.60 453
160 Sun, 3/26/2017 Lunch Ride 2:54:38 40.57 518
161 Sat, 5/25/2019 Crestview 3:17:16 40.56 2,890
162 Sat, 9/16/2017 Tour de Coop 3:24:53 40.55 1,125
163 Thu, 9/3/2015 Morning Ride 3:02:58 40.40 1,181
164 Sun, 2/5/2017 Morning Ride 2:53:48 40.40 1,608
165 Sun, 10/23/2016 Lunch Ride 2:41:33 40.33 1,699
166 Sat, 12/8/2018 Morning Ride 3:27:10 40.33 2,300
167 Sun, 2/12/2017 Lunch Ride 3:39:38 40.27 2,717
168 Sat, 12/2/2017 Dumbarton / Niles 2:57:48 40.26 610
169 Sun, 11/12/2017 Morning Ride 2:54:57 40.24 656
170 Sat, 11/15/2014 Kings Mountain again 3:25:14 40.18 2,952
171 Sun, 10/9/2016 Lunch Ride 2:41:06 40.14 1,106
172 Mon, 11/6/2017 Morning Ride 2:48:12 40.13 509
173 Sat, 12/17/2016 Morning Ride 3:11:31 40.10 2,133
174 Fri, 1/12/2018 Morning Ride 2:58:30 40.09 427
175 Sun, 12/18/2016 Morning Ride 3:04:01 40.03 1,886
176 Sun, 1/25/2015 Canada Rd 2:45:51 39.99 1,772
177 Sat, 6/21/2014 Sierra to the Sea Day 7 3:36:53 39.77 3,325
178 Sat, 9/23/2017 Canada / Crestview 3:25:13 39.77 2,444
179 Fri, 12/27/2013 OLH to Page Mill 3:24:14 39.73 3,365
180 Fri, 10/30/2015 OLH / West Alpine 3:28:46 39.51 4,505
181 Sat, 9/5/2015 Ring of Fire 3:31:55 39.18 3,553
182 Wed, 8/28/2013 Train Track Crash 2:50:55 39.16 928
183 Sun, 2/22/2015 Canada Rd Plus 2:57:25 39.14 1,834
184 Sat, 4/8/2017 Lunch Ride 3:28:52 39.09 3,117
185 Sat, 11/14/2015 Morning Ride 3:09:31 39.00 2,254
186 Sun, 3/1/2015 Canada Rd 2:38:11 38.81 1,856
187 Wed, 11/22/2017 Morning Ride 2:55:22 38.77 892
188 Sat, 10/29/2016 Morning Ride 3:14:22 38.72 2,201
189 Sat, 4/6/2019 Coyote Hills / Dumbarton 2:50:52 38.71 650
190 Wed, 7/22/2015 07/22/2015 Palo Alto, CA 2:55:45 38.68 627
191 Mon, 6/22/2015 06/22/2015 Palo Alto, CA 2:51:10 38.55 725
192 Fri, 12/16/2016 Morning Ride 2:54:02 38.46 1,053
193 Sun, 10/7/2018 Westridge, Canada with Ted 3:09:25 38.29 1,667
194 Sat, 2/21/2015 Kings Mountain 3:13:05 38.21 3,015
195 Sat, 9/12/2015 Morning Ride 3:06:03 38.20 3,342
196 Sun, 2/15/2015 Canada Rd 2:35:29 38.06 1,470
197 Sun, 11/16/2014 Canada Rd 2:30:41 37.88 1,548
198 Sun, 10/5/2014 Canada Road Sunday 2:39:39 37.84 1,644
199 Mon, 11/23/2015 Home from Pigeon Point 3:29:29 37.70 3,133
200 Sat, 1/6/2018 Morning Ride 2:53:45 37.66 1,503
201 Sun, 1/7/2018 Dumbarton / Niles 2:39:17 37.64 472
202 Sun, 12/1/2013 Mt Hamilton 3:47:01 37.56 4,921
203 Sun, 3/18/2018 Lunch Ride 2:47:48 37.52 827
204 Sat, 9/22/2018 Morning Ride 2:52:01 37.45 1,798
205 Sun, 10/22/2017 Afternoon Ride 2:33:27 37.41 1,024
206 Sun, 5/4/2014 MTV-Woodside 2:41:21 37.41 1,495
207 Sat, 1/23/2016 Morning Ride 3:39:10 37.35 2,949
208 Sun, 9/16/2018 Dumbarton / Niles 2:38:41 37.26 722
209 Sun, 6/10/2018 Canada / Emerald Hills 3:21:31 37.26 2,621
210 Mon, 5/4/2015 Commute 2:43:06 37.25 189
211 Sat, 7/7/2018 Runymede Trail 3:01:51 37.07 1,834
212 Sun, 12/11/2016 Afternoon Ride 2:34:13 37.05 1,463
213 Sun, 11/29/2015 Mt Hamilton 3:40:48 37.00 4,902
214 Sat, 1/30/2016 Morning Ride 2:31:37 36.88 1,345
215 Mon, 2/18/2019 Niles 2:39:39 36.83 571
216 Sun, 1/21/2018 Alviso 2:35:58 36.82 404
217 Sat, 8/26/2017 Lunch Ride 2:41:49 36.71 1,115
218 Sat, 9/13/2014 Emerald Hills 2:55:30 36.71 2,143
219 Sun, 5/22/2016 Lunch Ride 2:11:12 36.68 1,332
220 Sat, 11/25/2017 Mt. Hamilton 3:41:22 36.65 4,806
221 Fri, 10/13/2017 Voyage 2:46:15 36.63 505
222 Tue, 5/12/2015 05/12/2015 Palo Alto, CA 2:47:15 36.54 499
223 Mon, 4/20/2015 Commute 2:57:44 36.31 119
224 Fri, 5/13/2016 Morning Ride 2:41:03 36.21 456
225 Sat, 12/3/2016 Morning Ride 3:08:37 36.20 2,881
226 Sun, 12/7/2014 12/07/2014 Palo Alto, CA 2:43:35 36.16 1,569
227 Sun, 9/30/2018 Canada 2:48:41 36.12 1,480
228 Fri, 3/30/2018 Morning Ride 2:38:07 36.11 285
229 Sun, 11/5/2017 Lunch Ride 3:24:01 35.91 2,231
230 Sun, 2/8/2015 Commute 2:28:46 35.85 1,142
231 Sat, 3/30/2019 Morning Ride 3:23:55 35.78 2,861
232 Sun, 11/22/2015 Pigeon Point 3:14:41 35.73 3,230
233 Mon, 9/19/2016 Sunnyvale 2:37:04 35.68 745
234 Thu, 4/9/2015 Palo Alto Cycling 2:35:47 35.51 117
235 Sun, 8/21/2016 Canada 2:20:21 35.42 1,348
236 Tue, 10/28/2014 Woodside 2:36:36 35.39 1,560
237 Sun, 1/27/2019 Crystal Springs Dam Bridge 2:28:21 35.38 1,480
238 Thu, 4/26/2018 San Mateo 2:38:26 35.31 666
239 Thu, 12/22/2016 Half Moon Bay 2:53:00 35.26 2,671
240 Tue, 6/7/2016 Los Altos 2:41:13 35.18 1,070
241 Sat, 3/15/2014 Canada - Steve 2:51:50 35.01 1,607
242 Sun, 12/6/2015 Canada Rd 2:15:05 34.67 1,237
243 Wed, 9/13/2017 Healdburg / Jimtown 2:08:03 34.45 912
244 Thu, 10/2/2014 10/02/2014 Mountain View, California 3:08:06 34.28 2,864
245 Sat, 2/1/2014 OLH to Page Mill 3:07:43 34.26 3,099
246 Sat, 10/21/2017 Pescadero 5:20:08 67.05 4,938
247 Sat, 7/30/2016 Morning Ride 2:50:15 34.19 2,799
248 Mon, 7/10/2017 Morning Ride 2:38:59 34.18 984
249 Thu, 7/31/2014 Work commute 2:36:53 34.15 564
250 Sat, 12/15/2018 Lunch Ride 2:50:19 34.10 1,683
251 Sat, 1/20/2018 Afternoon Ride 2:28:18 34.02 525
252 Sun, 12/4/2016 Morning Ride 2:29:29 34.00 1,161
253 Sat, 10/8/2016 Lunch Ride 2:25:17 33.95 1,375
254 Thu, 10/16/2014 Commute 2:40:01 33.76 615
255 Fri, 11/11/2016 OLH 2:44:59 33.69 2,175
256 Sat, 9/3/2016 Morning Ride 3:07:28 33.65 2,792
257 Sun, 4/19/2015 Canada Rd 2:23:17 33.56 1,466
258 Sat, 8/12/2017 Afternoon Ride 2:41:24 33.54 633
259 Sat, 2/14/2015 Rancho San Antonio 2:45:23 33.53 2,075
260 Sat, 2/27/2016 Morning Ride 2:47:15 33.51 2,005
261 Sun, 9/17/2017 Canada and off road 2:36:04 33.50 1,772
262 Sat, 2/24/2018 Los Altos Hills on and off road 3:10:47 33.49 2,343
263 Sun, 1/26/2014 Canada Rd 2:05:59 33.12 1,446
264 Sat, 4/27/2019 Morning Ride 2:31:48 33.04 1,722
265 Sun, 5/12/2019 Peninsula Bike Trail to Bay Trail 2:29:05 33.00 846
266 Sun, 8/20/2017 Lunch Ride 2:23:02 32.96 1,407
267 Sun, 3/6/2016 Lunch Ride 2:57:54 32.86 2,566
268 Sun, 3/5/2017 Lunch Ride 2:57:09 32.82 1,713
269 Sat, 12/16/2017 Morning Ride 2:48:58 32.72 2,320
270 Tue, 8/23/2016 Morning Ride 2:32:15 32.61 354
271 Fri, 12/9/2016 Morning Ride 3:04:52 32.55 2,365
272 Sun, 11/1/2015 Lunch Ride 2:20:35 32.49 1,553
273 Sat, 4/14/2018 Lunch Ride 2:21:49 32.43 666
274 Fri, 1/26/2018 Morning Ride 2:23:38 32.41 295
275 Sun, 8/16/2015 08/16/2015 Palo Alto, CA 2:29:53 32.40 1,650
276 Sat, 5/9/2015 OLH 2:30:17 32.33 2,788
277 Wed, 1/31/2018 Morning Ride 3:04:15 32.28 2,526
278 Sat, 4/4/2015 Rancho San Antonio 2:55:37 32.26 2,136
279 Sat, 3/16/2019 Morning Ride 2:58:43 32.26 2,316
280 Sun, 12/27/2015 Canada Rd with Juliet 2:24:56 32.22 1,491
281 Mon, 5/18/2015 05/18/2015 Palo Alto, CA 2:24:45 32.22 807
282 Sun, 4/8/2018 Lunch Ride 2:21:54 32.18 1,296
283 Sun, 5/3/2015 Canada Rd 2:12:24 32.02 1,384
284 Wed, 6/17/2015 06/17/2015 Mountain View, California 2:13:42 32.01 650
285 Sat, 11/7/2015 Crystal Springs Part 1 2:15:00 32.00 1000
286 Sun, 8/23/2015 Afternoon Ride 2:24:29 31.90 2,444
287 Sun, 4/12/2015 Palo Alto Cycling 2:01:49 31.76 1,210
288 Sun, 11/13/2016 Afternoon Ride 2:23:46 31.71 1,273
289 Fri, 10/7/2016 Morning Ride 2:26:46 31.65 2,382
290 Thu, 8/15/2013 08/15/2013 Palo Alto, CA 2:19:27 31.64 555
291 Wed, 10/30/2013 work 2:22:00 31.55 995
292 Sun, 9/18/2016 Morning Ride 2:20:46 31.48 1,506
293 Tue, 6/18/2013 work etc (headwinds) 2:03:34 31.48 809
294 Sun, 3/11/2018 Lunch Ride 2:23:14 31.42 686
295 Sat, 3/12/2016 Lunch Ride 2:10:01 31.39 1,198
296 Sun, 1/22/2017 Dumbarton 2:23:36 31.27 591
297 Sat, 9/29/2018 Kings 2:36:47 31.23 1,949
298 Sat, 3/23/2019 Morning Ride 2:33:27 31.19 1,529
299 Sat, 4/13/2019 Alviso 2:10:04 31.18 397
300 Mon, 11/10/2014 Commute 2:22:39 31.18 800
301 Mon, 5/25/2015 05/25/2015 Palo Alto, CA 2:19:26 31.14 1,591
302 Mon, 2/16/2015 Portola Valley Loop 2:09:15 31.11 1,283
303 Wed, 9/21/2016 Morning Ride 2:16:04 31.09 551
304 Sat, 3/11/2017 Afternoon Ride 2:19:05 31.04 1,368
305 Sun, 7/29/2018 Lunch Ride 2:26:56 30.92 1,578
306 Fri, 11/10/2017 Lunch Ride 2:20:46 30.92 312
307 Mon, 6/12/2017 Morning Ride 2:20:16 30.90 554
308 Thu, 12/29/2016 Morning Ride 2:13:46 30.86 1,083
309 Sat, 4/22/2017 Lunch Ride 2:21:31 30.80 1,237
310 Mon, 9/7/2015 Healdsburg 2:09:43 30.76 1,037
311 Sat, 1/14/2017 Afternoon Ride 2:12:37 30.71 466
312 Mon, 9/4/2017 Kings Mountain 2:40:57 30.69 2,431
313 Sun, 8/9/2015 08/09/2015 Palo Alto, CA 2:15:39 30.66 1,348
314 Sat, 12/12/2015 Lunch Ride 2:16:20 30.56 1,434
315 Thu, 12/28/2017 Morning Ride 2:17:38 30.54 430
316 Mon, 1/30/2017 Morning Ride 2:19:47 30.49 696
317 Sun, 8/27/2017 Lunch Ride 2:16:36 30.47 774
318 Fri, 10/12/2018 Lunch Ride 2:16:25 30.44 348
319 Sat, 2/28/2015 Palo Alto Cycling 2:40:24 30.37 2,535
320 Sat, 6/24/2017 Afternoon Ride 2:06:05 30.31 338
321 Tue, 6/2/2015 06/02/2015 Mountain View, California 2:09:58 30.30 784
322 Mon, 5/27/2019 Canada / Sheep camp / Water dog lake 2:37:11 30.27 1,444
323 Sat, 1/2/2016 Los Altos Hills 2:29:48 30.27 1,952
324 Fri, 6/23/2017 Morning Ride 2:17:16 30.27 515
325 Sun, 4/2/2017 Morning Ride 2:20:47 30.23 407
326 Sat, 8/25/2018 Morning Ride 2:22:42 30.22 2,257
327 Sun, 9/14/2014 09/14/2014 Palo Alto, CA 2:06:48 30.18 1,204
328 Sat, 8/19/2017 Lunch Ride 2:06:39 30.17 627
329 Sun, 3/12/2017 Morning Ride 2:18:13 30.16 600
330 Sat, 11/21/2015 Morning Ride 2:20:54 30.16 1,499
331 Wed, 10/12/2016 Morning Ride 2:19:51 30.11 328
332 Sun, 7/8/2018 Lunch Ride 2:12:19 30.04 768
333 Tue, 11/22/2016 Morning Ride 2:18:57 30.04 518
334 Wed, 3/4/2015 Commute 2:15:56 30.02 1,125
335 Sun, 3/25/2018 Dumbarton / Coyote Hills / Middle of the Bay 2:31:51 30.01 709
336 Tue, 2/14/2017 Morning Ride 2:22:16 29.92 463
337 Sun, 5/31/2015 05/31/2015 Palo Alto, California 2:35:24 29.85 2,568
338 Tue, 11/1/2016 Morning Ride 2:15:55 29.78 515
339 Sun, 6/5/2016 Morning Ride 2:18:02 29.70 1,293
340 Sun, 5/26/2019 San Carlos / Bay Trail 2:17:51 29.55 620
341 Thu, 8/13/2015 08/13/2015 Palo Alto, CA 2:13:58 29.51 778
342 Sun, 7/14/2013 07/14/2013 Palo Alto, CA 2:23:07 29.34 739
343 Sun, 4/3/2016 Lunch Ride 2:03:38 29.31 810
344 Mon, 3/9/2015 Palo Alto Cycling 1:57:50 29.21 115
345 Fri, 2/23/2018 Morning Ride 2:08:28 29.21 166
346 Sat, 10/7/2017 Afternoon Ride 2:02:43 29.18 394
347 Sat, 1/17/2015 Palo Alto Cycling 2:08:38 29.06 1,587
348 Sat, 1/18/2014 Los Altos Hills 2:32:23 29.03 1,918
349 Sat, 6/20/2015 06/20/2015 Palo Alto, CA 2:06:45 28.87 1,650
350 Sun, 11/3/2013 work 2:11:08 28.74 841
351 Wed, 8/16/2017 Lunch Ride 2:15:48 28.67 732
352 Sat, 1/9/2016 Morning Ride 2:07:35 28.54 1,289
353 Sat, 9/19/2015 Los Altos Hills 2:31:24 28.51 1,611
354 Wed, 8/12/2015 08/12/2015 Palo Alto, CA 2:02:14 28.48 751
355 Sun, 7/23/2017 Morning Ride 2:57:35 28.43 2,562
356 Mon, 8/24/2015 Morning Ride 2:10:31 28.35 427
357 Wed, 6/26/2013 work 2:01:29 28.33 627
358 Sun, 4/28/2019 Arastradsero 2:29:59 28.21 1,355
359 Sun, 7/19/2015 07/19/2015 Palo Alto, CA 2:00:27 28.17 1,037
360 Fri, 12/28/2018 Lunch Ride with Juliet 2:17:33 28.10 331
361 Tue, 5/17/2016 Morning Ride 2:06:55 28.09 551
362 Wed, 10/5/2016 Morning Ride 2:10:47 28.05 276
363 Wed, 6/22/2016 Morning Ride 2:00:40 27.99 374
364 Mon, 3/16/2015 Commute 2:06:51 27.97 70
365 Sun, 2/25/2018 Lunch Ride 2:10:54 27.88 958
366 Sat, 10/27/2018 Morning Ride 2:29:13 27.88 1,581
367 Mon, 6/20/2016 Morning Ride 1:52:13 27.77 531
368 Sun, 12/2/2018 Lunch Ride 2:34:14 27.72 1,506
369 Mon, 3/19/2018 Morning Ride 2:06:35 27.62 860
370 Mon, 12/17/2018 Morning Ride 2:16:12 27.60 246
371 Sat, 10/14/2017 Afternoon Ride 2:04:53 27.52 387
372 Sat, 10/18/2014 Bikepacking Monte Bello 2:54:20 27.44 2,992
373 Sun, 4/15/2018 Morning Ride 2:17:16 27.43 1,667
374 Mon, 4/10/2017 Morning Ride 2:03:19 27.40 282
375 Tue, 5/7/2019 Lunch Ride 2:07:55 27.37 820
376 Sun, 11/25/2018 Afternoon Ride 1:56:26 27.34 203
377 Wed, 4/29/2015 Palo Alto Cycling 2:03:14 27.33 75
378 Tue, 1/17/2017 Morning Ride 2:07:17 27.30 535
379 Tue, 9/30/2014 09/30/2014 Palo Alto, CA 2:07:33 27.28 636
380 Sat, 9/17/2016 TourDeCoop.org 2:04:27 27.24 479
381 Sat, 1/12/2019 Lunch Ride 1:58:47 27.24 1,079
382 Mon, 3/30/2015 Woodside Loop 1:47:46 27.22 1,081
383 Tue, 11/17/2015 Afternoon Ride 2:04:48 27.12 830
384 Sun, 8/13/2017 Woodside Loop (Battery ran down) 2:00:00 27.00 1,000
385 Sat, 1/31/2015 Alpine Rd 2:29:26 26.98 2,362
386 Sun, 2/28/2016 Woodside Loop 1:43:34 26.93 843
387 Sun, 4/1/2018 Lunch Ride 2:30:35 26.92 1,831
388 Wed, 5/3/2017 Palo Alto Road Cycling 2:06:05 26.86 1,411
389 Fri, 9/9/2016 Morning Ride 1:56:44 26.85 1,086
390 Sun, 9/23/2018 Morning Ride 1:57:48 26.83 512
391 Sat, 10/4/2014 Woodside Loop 1:52:09 26.71 1,213
392 Thu, 5/7/2015 Commute 1:55:36 26.58 68
393 Sun, 3/24/2019 Afternoon Ride 2:42:45 26.57 2,267
394 Thu, 8/31/2017 Morning Ride 2:00:02 26.54 817
395 Sun, 4/24/2016 Afternoon Ride 1:50:08 26.53 935
396 Sun, 12/17/2017 Lunch Ride 1:50:51 26.53 217
397 Tue, 7/4/2017 Lunch Ride 1:53:04 26.50 459
398 Tue, 5/8/2018 Afternoon Ride 2:34:11 26.50 1,791
399 Tue, 5/26/2015 05/26/2015 Palo Alto, CA 2:01:47 26.50 591
400 Thu, 8/4/2016 Afternoon Ride 1:55:47 26.49 659
401 Wed, 6/8/2016 Lunch Ride 1:48:19 26.48 597
402 Sun, 9/9/2018 Lunch Ride 2:00:49 26.46 479
403 Sat, 5/21/2016 Maker Faire 1:57:14 26.44 207
404 Wed, 4/1/2015 Commute 1:55:15 26.44 71
405 Wed, 6/29/2016 Morning Ride 1:49:33 26.39 561
406 Sat, 9/9/2017 Lunch Ride 1:59:01 26.38 1,112
407 Fri, 6/3/2016 Morning Ride 1:56:57 26.38 502
408 Fri, 3/31/2017 Morning Ride 2:01:41 26.36 495
409 Sat, 12/13/2014 Westridge (up the back way; after the rain) 2:01:01 26.35 1,495
410 Sun, 4/14/2019 Huddart - Paul Hopkins 2:08:57 26.34 1,601
411 Sat, 6/29/2013 Untitled 1:48:50 26.33 1,091
412 Sat, 4/25/2015 Woodside 1:54:30 26.28 1,220
413 Tue, 1/31/2017 Morning Ride 2:01:18 26.27 384
414 Tue, 6/28/2016 Morning Ride 1:55:31 26.27 571
415 Sat, 5/19/2018 Morning Ride 2:00:24 26.25 958
416 Thu, 6/30/2016 Morning Ride 1:52:16 26.24 499
417 Sun, 2/19/2017 Afternoon Ride 1:56:46 26.23 1,138
418 Thu, 8/18/2016 Morning Ride 1:58:06 26.23 712
419 Sun, 4/20/2014 Afternoon Ride 1:52:52 26.23 102
420 Sun, 5/10/2015 Arastadero 1:48:58 26.22 1,148
421 Thu, 5/19/2016 Morning Ride 1:52:56 26.14 938
422 Mon, 12/31/2018 Morning Ride 2:00:24 26.11 545
423 Fri, 12/15/2017 Afternoon Ride 1:51:36 26.07 226
424 Sun, 1/18/2015 Palo Alto Cycling 1:38:16 26.02 1,257
425 Mon, 10/3/2016 Morning Ride 1:54:45 26.01 646
426 Tue, 7/14/2015 07/14/2015 Mountain View, California 2:02:36 25.99 502
427 Fri, 12/18/2015 Lunch Ride 1:58:57 25.93 909
428 Tue, 6/13/2017 Morning Ride 1:55:30 25.89 289
429 Mon, 8/4/2014 To the Sea 2:17:11 25.87 2,080
430 Wed, 9/25/2013 work and with kris 2:07:40 25.81 593
431 Sun, 9/13/2015 Afternoon Ride 1:49:31 25.78 1,152
432 Sun, 3/3/2019 Afternoon Ride 2:00:06 25.73 390
433 Thu, 1/26/2017 Morning Ride 1:56:09 25.67 259
434 Sun, 5/6/2018 Morning Ride 1:55:05 25.67 1,148
435 Sat, 7/29/2017 Lunch Ride 1:53:50 25.65 988
436 Wed, 8/20/2014 08/20/2014 Palo Alto, CA 1:49:35 25.61 497
437 Sat, 4/19/2014 Lunch Ride 1:49:37 25.60 1,111
438 Mon, 9/3/2018 Afternoon Ride 1:59:08 25.54 331
439 Mon, 6/2/2014 Work 1:59:33 25.51 627
440 Fri, 12/11/2015 Afternoon Ride 2:12:40 25.44 1,719
441 Fri, 2/9/2018 Morning Ride 1:56:11 25.41 318
442 Sun, 8/26/2018 Afternoon Ride 1:49:16 25.37 377
443 Sun, 7/9/2017 Afternoon Ride 1:50:30 25.36 682
444 Mon, 6/26/2017 Morning Ride 1:52:26 25.34 226
445 Fri, 9/14/2018 Lunch Ride 1:50:05 25.34 541
446 Fri, 3/1/2019 Morning Ride 2:00:23 25.34 121
447 Sun, 1/13/2019 Lunch Ride 1:51:40 25.33 715
448 Wed, 4/12/2017 Morning Ride 1:59:22 25.33 686
449 Wed, 6/14/2017 Morning Ride 1:51:32 25.33 308
450 Sat, 11/28/2015 Lunch Ride 1:43:56 25.31 1,122
451 Mon, 11/27/2017 Morning Ride 1:55:39 25.31 184
452 Fri, 11/28/2014 Palo Alto, CA 1:45:13 25.30 1,112
453 Fri, 4/13/2018 Morning Ride 1:53:39 25.28 344
454 Fri, 9/15/2017 Morning Ride 1:56:55 25.28 384
455 Tue, 12/31/2013 Woodside Loop - Last Ride of the Year 1:45:28 25.27 1,207
456 Sun, 10/14/2018 Lunch Ride 2:13:13 25.23 1,421
457 Sat, 11/22/2014 Atherton to Woodside 1:43:10 25.21 1,095
458 Sat, 6/4/2016 Morning Ride 1:57:23 25.19 922
459 Mon, 8/8/2016 Morning Ride 1:52:38 25.17 423
460 Fri, 11/6/2015 Morning Ride 1:51:45 25.15 538
461 Mon, 12/18/2017 Afternoon Ride 1:52:56 25.15 741
462 Fri, 6/24/2016 Afternoon Ride 1:35:25 25.11 623
463 Sat, 6/25/2016 Afternoon Ride 1:44:43 25.10 568
464 Sat, 1/25/2014 Woodside 1:33:38 25.08 1,243
465 Tue, 4/29/2014 Woodside 1:46:03 25.08 886
466 Sat, 1/25/2014 Woodside 1:33:38 25.08 1,243
467 Thu, 4/13/2017 Morning Ride 2:06:13 25.06 266
468 Sun, 6/12/2016 Morning Ride 1:49:25 25.04 387
469 Thu, 6/8/2017 Morning Ride 1:56:19 25.02 285
470 Thu, 10/13/2016 Morning Ride 1:47:30 25.02 253
471 Sun, 1/19/2014 Palo Alto, CA 1:36:55 25.01 1,201
472 Mon, 9/5/2016 Afternoon Ride 1:42:56 25.00 902
473 Sat, 11/8/2014 Atherton / Woodside 1:40:51 25.00 972
474 # 2013: Rides in the 20 to 25 mile range
475 Sat, 4/11/2015 Woodside 1:32:24 24.73 1,035
476 Sat, 6/1/2013 Woodside Loop 1:41:20 24.45 1,125
477 Sun, 6/16/2013 Woodside Loop 1:38:19 24.52 1,137
478 Sun, 6/23/2013 Climb 2:16:29 24.30 2,001
479 Sat, 3/19/2016 Morning Ride 1:28:00 24.00 1,125
480 Sat, 7/13/2013 Doug's Event 1:51:55 21.35 1,677
481 Sun, 8/4/2013 Kris's first trike ride 1:51:21 20.96 988
482 Sun, 11/24/2013 Alpine Rd 1:42:36 21.02 1,289
483 Fri, 11/29/2013 Woodside Loop 1:33:36 22.75 1,011

View File

@@ -1,56 +1,56 @@
Alma Mountain Charlie,          3.12,  875, 31:49
Alpine Westridge,               0.76,   99, 3:26, 3:29, 3:43
Alpine last kicker,             0.39,  114, 3:11, 3:36, 5:19
Arastradero,                    1.19,  193, 6:41, 7:49, 7:55
Cabrillo Hmy S,                 0.46,  153, 4:31
Canada to College,              1.37,  119, 5:55, 6:23, 6:35
Canon,                          0.90,  295, 11:04, 11:55
Canon to No Cycling,            0.75,  198, 5:14, 5:41
Foothill Homestead,             1.22,  126, 5:31, 6:36, 6:53
Haskins,                        1.51,  566, 17:47, 18:43, 18:47
Highway 9,                      0.56,  260, 8:33
Highway 9 Mantalvo,             0.45,   35, 1:36, 1:48, 1:53
Huddart,                        0.92,  385, 10:15, 11:18, 12:55
Joaquin,                        0.33,  253, 6:19, 7:27
Kaboom Portola Rd,              0.67,  102, 3:14, 3:26, 3:33
Kings half way,                 2.89,  820, 27:26, 29:45, 32:43
Kings to Skeggs,                1.10,  273, 9:07, 10:39, 10:53
Limantour Spit,                 0.47,  303, 5:19
Limantour steepest,             0.20,  159, 5:41
Lobitas Creek,                  0.96,  430, 12:15, 12:07
Lower Redwood Gulch,            1.03,  474, 13:00
Mapache,                        0.24,  111, 2:52, 2:55
Mt Eden climb,                  1.02,  272, 8:32, 9:43, 11:59
Mt Eden to Archery,             0.54,  180, 5:19, 5:39, 6:12
Old La Honda,                   2.98, 1255, 28:49, 34:03, 36:44
Old La Honda Mile 1,            0.99,  370, 8:02, 9:36, 9:51
Page Mill to Moody,             0.21,  112, 2:50, 2:55
Page Mill to Ventana,           0.47,  196, 4:54, 5:32, 6:05
Peach Hill,                     0.60,  248, 7:30, 7:50
Pomponio Creek,                 0.38,  122, 2:47, 2:55, 3:16
Red Hill KOM,                   0.34,  161, 4:15
Redwood Gulch hits,             0.18,  151, 3:36
Redwood Gulch wall,             0.43,  258, 6:39
Sand Gill Sharon-top,           0.85,  136, 4:03, 4:16, 4:24
Sand Hill 280 to horse,         0.49,   95, 2:34, 2:44, 2:51
Sand Hill Alpine to 280,        1.67,  180, 7:02, 7:39, 8:02
Stair Step,                     0.32,  175, 5:25
Stanford Ave,                   0.63,   85, 3:14, 3:32, 3:49
Stevens Country Park,           1.22,  112, 5:42, 5:58, 7:00
Stirrup Wall,                   0.17,  125, 3:47, 4:33
Stirrup to Moon,                0.36,  159, 3:41, 6:07
Summit Rd Climb,                0.60,  275, 8:00
Tepa,                           0.58,  248, 6:34, 7:14, 8:21
The Boneyard,                   1.48,  135, 6:05, 6:36, 7:00
Try not to fall back,           0.71,  410, 12:45
Tunitas Knoll to Star,          1.55,  339, 12:28, 12:56, 13:51
Tunitas flattens,               0.42,  166, 3:16, 3:25, 3:51
Tunitas lower climb,            1.30,  421, 13:34, 16:00, 17:33
Tunitas steep,                  1.20,  599, 16:15, 17:47, 20:44
Vickrey Fruitvale,              0.99,   68, 3:41, 3:58, 4:26
West Alpine switchback,         0.78,  322, 8:56, 10:52, 11:55
Westridge,                      0.68,  385, 8:28, 9:52, 10:18
Westridge 3min,                 0.37,  240, 4:41, 5:35, 6:31
Westridge Hill 1,               0.51,  104, 3:19, 3:58
Westridge Hill 2,               0.51,  166, 4:42, 5:10, 5:20
Woodside Climb,                 1.71,  295, 8:05, 9:00, 9:35
Alma Mountain Charlie, 3.12, 875, 31:49
Alpine Westridge, 0.76, 99, 3:26, 3:29, 3:43
Alpine last kicker, 0.39, 114, 3:11, 3:36, 5:19
Arastradero, 1.19, 193, 6:41, 7:49, 7:55
Cabrillo Hmy S, 0.46, 153, 4:31
Canada to College, 1.37, 119, 5:55, 6:23, 6:35
Canon, 0.90, 295, 11:04, 11:55
Canon to No Cycling, 0.75, 198, 5:14, 5:41
Foothill Homestead, 1.22, 126, 5:31, 6:36, 6:53
Haskins, 1.51, 566, 17:47, 18:43, 18:47
Highway 9, 0.56, 260, 8:33
Highway 9 Mantalvo, 0.45, 35, 1:36, 1:48, 1:53
Huddart, 0.92, 385, 10:15, 11:18, 12:55
Joaquin, 0.33, 253, 6:19, 7:27
Kaboom Portola Rd, 0.67, 102, 3:14, 3:26, 3:33
Kings half way, 2.89, 820, 27:26, 29:45, 32:43
Kings to Skeggs, 1.10, 273, 9:07, 10:39, 10:53
Limantour Spit, 0.47, 303, 5:19
Limantour steepest, 0.20, 159, 5:41
Lobitas Creek, 0.96, 430, 12:15, 12:07
Lower Redwood Gulch, 1.03, 474, 13:00
Mapache, 0.24, 111, 2:52, 2:55
Mt Eden climb, 1.02, 272, 8:32, 9:43, 11:59
Mt Eden to Archery, 0.54, 180, 5:19, 5:39, 6:12
Old La Honda, 2.98, 1255, 28:49, 34:03, 36:44
Old La Honda Mile 1, 0.99, 370, 8:02, 9:36, 9:51
Page Mill to Moody, 0.21, 112, 2:50, 2:55
Page Mill to Ventana, 0.47, 196, 4:54, 5:32, 6:05
Peach Hill, 0.60, 248, 7:30, 7:50
Pomponio Creek, 0.38, 122, 2:47, 2:55, 3:16
Red Hill KOM, 0.34, 161, 4:15
Redwood Gulch hits, 0.18, 151, 3:36
Redwood Gulch wall, 0.43, 258, 6:39
Sand Gill Sharon-top, 0.85, 136, 4:03, 4:16, 4:24
Sand Hill 280 to horse, 0.49, 95, 2:34, 2:44, 2:51
Sand Hill Alpine to 280, 1.67, 180, 7:02, 7:39, 8:02
Stair Step, 0.32, 175, 5:25
Stanford Ave, 0.63, 85, 3:14, 3:32, 3:49
Stevens Country Park, 1.22, 112, 5:42, 5:58, 7:00
Stirrup Wall, 0.17, 125, 3:47, 4:33
Stirrup to Moon, 0.36, 159, 3:41, 6:07
Summit Rd Climb, 0.60, 275, 8:00
Tepa, 0.58, 248, 6:34, 7:14, 8:21
The Boneyard, 1.48, 135, 6:05, 6:36, 7:00
Try not to fall back, 0.71, 410, 12:45
Tunitas Knoll to Star, 1.55, 339, 12:28, 12:56, 13:51
Tunitas flattens, 0.42, 166, 3:16, 3:25, 3:51
Tunitas lower climb, 1.30, 421, 13:34, 16:00, 17:33
Tunitas steep, 1.20, 599, 16:15, 17:47, 20:44
Vickrey Fruitvale, 0.99, 68, 3:41, 3:58, 4:26
West Alpine switchback, 0.78, 322, 8:56, 10:52, 11:55
Westridge, 0.68, 385, 8:28, 9:52, 10:18
Westridge 3min, 0.37, 240, 4:41, 5:35, 6:31
Westridge Hill 1, 0.51, 104, 3:19, 3:58
Westridge Hill 2, 0.51, 166, 4:42, 5:10, 5:20
Woodside Climb, 1.71, 295, 8:05, 9:00, 9:35
1 Alma Mountain Charlie,          3.12,  875, 31:49 Alma Mountain Charlie, 3.12, 875, 31:49
2 Alpine Westridge,               0.76,   99, 3:26, 3:29, 3:43 Alpine Westridge, 0.76, 99, 3:26, 3:29, 3:43
3 Alpine last kicker,             0.39,  114, 3:11, 3:36, 5:19 Alpine last kicker, 0.39, 114, 3:11, 3:36, 5:19
4 Arastradero,                    1.19,  193, 6:41, 7:49, 7:55 Arastradero, 1.19, 193, 6:41, 7:49, 7:55
5 Cabrillo Hmy S,                 0.46,  153, 4:31 Cabrillo Hmy S, 0.46, 153, 4:31
6 Canada to College,              1.37,  119, 5:55, 6:23, 6:35 Canada to College, 1.37, 119, 5:55, 6:23, 6:35
7 Canon,                          0.90,  295, 11:04, 11:55 Canon, 0.90, 295, 11:04, 11:55
8 Canon to No Cycling,            0.75,  198, 5:14, 5:41 Canon to No Cycling, 0.75, 198, 5:14, 5:41
9 Foothill Homestead,             1.22,  126, 5:31, 6:36, 6:53 Foothill Homestead, 1.22, 126, 5:31, 6:36, 6:53
10 Haskins,                        1.51,  566, 17:47, 18:43, 18:47 Haskins, 1.51, 566, 17:47, 18:43, 18:47
11 Highway 9,                      0.56,  260, 8:33 Highway 9, 0.56, 260, 8:33
12 Highway 9 Mantalvo,             0.45,   35, 1:36, 1:48, 1:53 Highway 9 Mantalvo, 0.45, 35, 1:36, 1:48, 1:53
13 Huddart,                        0.92,  385, 10:15, 11:18, 12:55 Huddart, 0.92, 385, 10:15, 11:18, 12:55
14 Joaquin,                        0.33,  253, 6:19, 7:27 Joaquin, 0.33, 253, 6:19, 7:27
15 Kaboom Portola Rd,              0.67,  102, 3:14, 3:26, 3:33 Kaboom Portola Rd, 0.67, 102, 3:14, 3:26, 3:33
16 Kings half way,                 2.89,  820, 27:26, 29:45, 32:43 Kings half way, 2.89, 820, 27:26, 29:45, 32:43
17 Kings to Skeggs,                1.10,  273, 9:07, 10:39, 10:53 Kings to Skeggs, 1.10, 273, 9:07, 10:39, 10:53
18 Limantour Spit,                 0.47,  303, 5:19 Limantour Spit, 0.47, 303, 5:19
19 Limantour steepest,             0.20,  159, 5:41 Limantour steepest, 0.20, 159, 5:41
20 Lobitas Creek,                  0.96,  430, 12:15, 12:07 Lobitas Creek, 0.96, 430, 12:15, 12:07
21 Lower Redwood Gulch,            1.03,  474, 13:00 Lower Redwood Gulch, 1.03, 474, 13:00
22 Mapache,                        0.24,  111, 2:52, 2:55 Mapache, 0.24, 111, 2:52, 2:55
23 Mt Eden climb,                  1.02,  272, 8:32, 9:43, 11:59 Mt Eden climb, 1.02, 272, 8:32, 9:43, 11:59
24 Mt Eden to Archery,             0.54,  180, 5:19, 5:39, 6:12 Mt Eden to Archery, 0.54, 180, 5:19, 5:39, 6:12
25 Old La Honda,                   2.98, 1255, 28:49, 34:03, 36:44 Old La Honda, 2.98, 1255, 28:49, 34:03, 36:44
26 Old La Honda Mile 1,            0.99,  370, 8:02, 9:36, 9:51 Old La Honda Mile 1, 0.99, 370, 8:02, 9:36, 9:51
27 Page Mill to Moody,             0.21,  112, 2:50, 2:55 Page Mill to Moody, 0.21, 112, 2:50, 2:55
28 Page Mill to Ventana,           0.47,  196, 4:54, 5:32, 6:05 Page Mill to Ventana, 0.47, 196, 4:54, 5:32, 6:05
29 Peach Hill,                     0.60,  248, 7:30, 7:50 Peach Hill, 0.60, 248, 7:30, 7:50
30 Pomponio Creek,                 0.38,  122, 2:47, 2:55, 3:16 Pomponio Creek, 0.38, 122, 2:47, 2:55, 3:16
31 Red Hill KOM,                   0.34,  161, 4:15 Red Hill KOM, 0.34, 161, 4:15
32 Redwood Gulch hits,             0.18,  151, 3:36 Redwood Gulch hits, 0.18, 151, 3:36
33 Redwood Gulch wall,             0.43,  258, 6:39 Redwood Gulch wall, 0.43, 258, 6:39
34 Sand Gill Sharon-top,           0.85,  136, 4:03, 4:16, 4:24 Sand Gill Sharon-top, 0.85, 136, 4:03, 4:16, 4:24
35 Sand Hill 280 to horse,         0.49,   95, 2:34, 2:44, 2:51 Sand Hill 280 to horse, 0.49, 95, 2:34, 2:44, 2:51
36 Sand Hill Alpine to 280,        1.67,  180, 7:02, 7:39, 8:02 Sand Hill Alpine to 280, 1.67, 180, 7:02, 7:39, 8:02
37 Stair Step,                     0.32,  175, 5:25 Stair Step, 0.32, 175, 5:25
38 Stanford Ave,                   0.63,   85, 3:14, 3:32, 3:49 Stanford Ave, 0.63, 85, 3:14, 3:32, 3:49
39 Stevens Country Park,           1.22,  112, 5:42, 5:58, 7:00 Stevens Country Park, 1.22, 112, 5:42, 5:58, 7:00
40 Stirrup Wall,                   0.17,  125, 3:47, 4:33 Stirrup Wall, 0.17, 125, 3:47, 4:33
41 Stirrup to Moon,                0.36,  159, 3:41, 6:07 Stirrup to Moon, 0.36, 159, 3:41, 6:07
42 Summit Rd Climb,                0.60,  275, 8:00 Summit Rd Climb, 0.60, 275, 8:00
43 Tepa,                           0.58,  248, 6:34, 7:14, 8:21 Tepa, 0.58, 248, 6:34, 7:14, 8:21
44 The Boneyard,                   1.48,  135, 6:05, 6:36, 7:00 The Boneyard, 1.48, 135, 6:05, 6:36, 7:00
45 Try not to fall back,           0.71,  410, 12:45 Try not to fall back, 0.71, 410, 12:45
46 Tunitas Knoll to Star,          1.55,  339, 12:28, 12:56, 13:51 Tunitas Knoll to Star, 1.55, 339, 12:28, 12:56, 13:51
47 Tunitas flattens,               0.42,  166, 3:16, 3:25, 3:51 Tunitas flattens, 0.42, 166, 3:16, 3:25, 3:51
48 Tunitas lower climb,            1.30,  421, 13:34, 16:00, 17:33 Tunitas lower climb, 1.30, 421, 13:34, 16:00, 17:33
49 Tunitas steep,                  1.20,  599, 16:15, 17:47, 20:44 Tunitas steep, 1.20, 599, 16:15, 17:47, 20:44
50 Vickrey Fruitvale,              0.99,   68, 3:41, 3:58, 4:26 Vickrey Fruitvale, 0.99, 68, 3:41, 3:58, 4:26
51 West Alpine switchback,         0.78,  322, 8:56, 10:52, 11:55 West Alpine switchback, 0.78, 322, 8:56, 10:52, 11:55
52 Westridge,                      0.68,  385, 8:28, 9:52, 10:18 Westridge, 0.68, 385, 8:28, 9:52, 10:18
53 Westridge 3min,                 0.37,  240, 4:41, 5:35, 6:31 Westridge 3min, 0.37, 240, 4:41, 5:35, 6:31
54 Westridge Hill 1,               0.51,  104, 3:19, 3:58 Westridge Hill 1, 0.51, 104, 3:19, 3:58
55 Westridge Hill 2,               0.51,  166, 4:42, 5:10, 5:20 Westridge Hill 2, 0.51, 166, 4:42, 5:10, 5:20
56 Woodside Climb,                 1.71,  295, 8:05, 9:00, 9:35 Woodside Climb, 1.71, 295, 8:05, 9:00, 9:35