Add files via upload
This commit is contained in:
parent
1bc4923c35
commit
10ee4b4900
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -42,7 +42,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -80,7 +80,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -110,7 +110,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -127,7 +127,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -146,15 +146,28 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'parse_segments' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m segments \u001b[38;5;241m=\u001b[39m \u001b[43mparse_segments\u001b[49m(\u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbikesegments.csv\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 3\u001b[0m places \u001b[38;5;241m=\u001b[39m drop_index(pd\u001b[38;5;241m.\u001b[39mread_table(\u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbikeplaceshort.csv\u001b[39m\u001b[38;5;124m'\u001b[39m), sep\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m'\u001b[39m, comment\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m#\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 5\u001b[0m tiles \u001b[38;5;241m=\u001b[39m drop_index(pd\u001b[38;5;241m.\u001b[39mDataFrame(columns\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate square cluster total comment\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39msplit(), data\u001b[38;5;241m=\u001b[39m[\n\u001b[1;32m 6\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m09/21/2024\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m14\u001b[39m, \u001b[38;5;241m1394\u001b[39m, \u001b[38;5;241m3496\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mMichael J. Fox ride in Sonoma!12470434052\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[1;32m 7\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m04/28/2024\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m14\u001b[39m, \u001b[38;5;241m1275\u001b[39m, \u001b[38;5;241m3382\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mLivermore!11287081291\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 17\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m09/08/2022\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m11\u001b[39m, \u001b[38;5;241m300\u001b[39m, \u001b[38;5;241m2487\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFirst started tracking tiles\u001b[39m\u001b[38;5;124m'\u001b[39m)])\n\u001b[1;32m 18\u001b[0m )\u001b[38;5;241m.\u001b[39mstyle\u001b[38;5;241m.\u001b[39mformat({\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcomment\u001b[39m\u001b[38;5;124m'\u001b[39m: make_clickable, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m: link_date})\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'parse_segments' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"segments = parse_segments(open('bikesegments.csv'))\n",
|
||||
"\n",
|
||||
"places = drop_index(pd.read_table(open('bikeplaceshort.csv'), sep=',', comment='#'))\n",
|
||||
"\n",
|
||||
"tiles = drop_index(pd.DataFrame(columns='date square cluster total comment'.split(), data=[\n",
|
||||
" ('09/21/2024', 14, 1394, 3496, 'Michael J. Fox ride in Sonoma!12470434052'),\n",
|
||||
" ('04/28/2024', 14, 1275, 3382, 'Livermore!11287081291'),\n",
|
||||
" ('02/25/2024', 14, 1196, 3279, 'Expanding through Santa Cruz and to the South!10838162005'),\n",
|
||||
" ('01/01/2024', 14, 1056, 3105, 'Start of this year'),\n",
|
||||
@ -178,7 +191,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -223,7 +236,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -240,7 +253,8 @@
|
||||
" 'done': [rounded(m * p / 100) for m, p in zip(F['miles'], F['pct'])],\n",
|
||||
" 'pct': [pretty_pct(p) for p in F['pct']], \n",
|
||||
" 'badge': [badge(float(p)) for p in F['pct']],\n",
|
||||
" 'to next badge': [to_go(p, m) for p, m in zip(F['pct'], F['miles'])]\n",
|
||||
" 'to next badge': [to_go(p, m) for p, m in zip(F['pct'], F['miles'])],\n",
|
||||
" 'to big badge': [to_go(p, m, {25: .25, 90: .50}) for p, m in zip(F['pct'], F['miles'])]\n",
|
||||
" })\n",
|
||||
"\n",
|
||||
"def pretty_pct(pct) -> str:\n",
|
||||
@ -253,13 +267,16 @@
|
||||
" return f'{badge}%'\n",
|
||||
" return 'none'\n",
|
||||
"\n",
|
||||
"def to_go(pct, miles, targets=(0.02, 0.1, 0.2, 1, 2, 25, 50, 90, 99)):\n",
|
||||
"bonuses = {0.02: 0, 0.1: 0, 0.2: 0, 1: 0, 2: 0, 25: .25, 50: .05, 75: .10, 90: .50, 99: .10}\n",
|
||||
"\n",
|
||||
"def to_go(pct, miles, bonuses=bonuses) -> str:\n",
|
||||
" \"\"\"Describe next target to hit to get a badge.\"\"\"\n",
|
||||
" done = pct * miles / 100\n",
|
||||
" return next((f'{rounded(target / 100 * miles - done):>5} mi to {target}%' \n",
|
||||
" for target in targets\n",
|
||||
" if done < target / 100 * miles), \n",
|
||||
" '')\n",
|
||||
" for b in bonuses:\n",
|
||||
" if done < b / 100 * miles:\n",
|
||||
" delta = b / 100 * miles - done\n",
|
||||
" return f'{rounded(delta):>5} mi to {b}% ({rounded(bonuses[b] * miles + delta)} points)'\n",
|
||||
" return ''\n",
|
||||
" \n",
|
||||
"def rounded(x: float) -> str: \n",
|
||||
" \"\"\"Round x to 3 spaces wide (if possible).\"\"\"\n",
|
||||
@ -281,7 +298,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -324,7 +341,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
@ -3,103 +3,107 @@ name,miles,county,pct
|
||||
#,,, San Mateo County = SMC
|
||||
#,,,
|
||||
Atherton,56.3,SMC,100
|
||||
Bay Area Ridge Trail,395.6,SMC,28.68
|
||||
Belmont,98.1,SMC,88.39
|
||||
Brisbane,40.9,SMC,50.4
|
||||
Bay Area Ridge Trail,395.6,SMC,29.02
|
||||
Belmont,98.1,SMC,90.43
|
||||
Brisbane,40.9,SMC,49.62
|
||||
Broadmoor,8.8,SMC,38.26
|
||||
Burleigh Murray Park,2.1,SMC,95.08
|
||||
Burlingame,88.4,SMC,56.88
|
||||
Burlingame Hills,6,SMC,71.5
|
||||
Butano State Park,15.2,SMC,30.1
|
||||
Coal Creek Preserve,3.9,SMC,66.7
|
||||
Colma,13.7,SMC,66.24
|
||||
Daly City,148.1,SMC,28.27
|
||||
East Palo Alto,48.3,SMC,99.95
|
||||
El Corte de Madera OSP,34.54,SMC,26.88
|
||||
El Granada,49.2,SMC,43.6
|
||||
Emerald Lake Hills,24.6,SMC,99.96
|
||||
Foster City,150,SMC,99.4
|
||||
Half Moon Bay,68,SMC,34.0
|
||||
Half Moon Bay State Beach,4.4,SMC,52.4
|
||||
Hillsborough,85.3,SMC,53.1
|
||||
Burlingame,88.4,SMC,56.50
|
||||
Burlingame Hills,6,SMC,71.45
|
||||
Butano State Park,15.2,SMC,29.28
|
||||
Coal Creek Preserve,3.9,SMC,68.74
|
||||
Colma,13.7,SMC,64.79
|
||||
Daly City,148.1,SMC,28.42
|
||||
East Palo Alto,48.3,SMC,99.97
|
||||
El Corte de Madera OSP,34.54,SMC,26.85
|
||||
El Granada,49.2,SMC,53.71
|
||||
Emerald Lake Hills,24.6,SMC,100
|
||||
Foster City,150,SMC,99.14
|
||||
Half Moon Bay,68,SMC,50.56
|
||||
Half Moon Bay State Beach,4.4,SMC,65.89
|
||||
Hillsborough,85.3,SMC,53.12
|
||||
Kensington Square,0.6,SMC,100
|
||||
Ladera,8.1,SMC,100
|
||||
Long Ridge Preserve,11.0,SMC,45.1
|
||||
Long Ridge Preserve,11.0,SMC,45.10
|
||||
Los Trancos OSP,0.3,SMC,100
|
||||
Los Trancos Woods,5.3,SMC,100
|
||||
Menlo Oaks,3.5,SMC,100
|
||||
Menlo Park,139.5,SMC,99.9
|
||||
Millbrae,65,SMC,51.3
|
||||
Montara,27.8,SMC,60.2
|
||||
Moss Beach,19.7,SMC,43.69
|
||||
Menlo Park,139.5,SMC,99.97
|
||||
Millbrae,67.8,SMC,52.05
|
||||
Montara,27.8,SMC,61.15
|
||||
Moss Beach,19.7,SMC,59.66
|
||||
North Fair Oaks,26.7,SMC,100
|
||||
Pacifica,150.9,SMC,33.2
|
||||
Pacifica,150.9,SMC,36.80
|
||||
Palomar Park,4,SMC,100
|
||||
Portola Redwoods SP,2.9,SMC,74.3
|
||||
Portola Valley,48.2,SMC,99.93
|
||||
Purisima Creek Preserve,16.5,SMC,39.0
|
||||
Redwood City,240.5,SMC,99.73
|
||||
Russian Ridge Preserve,12.2,SMC,59.5
|
||||
San Bruno,114,SMC,34.9
|
||||
San Carlos,99,SMC,99.50
|
||||
San Mateo,256,SMC,54.6
|
||||
San Mateo Highlands,18,SMC,93.5
|
||||
Portola Redwoods SP,2.9,SMC,74.07
|
||||
Portola Valley,48.2,SMC,100
|
||||
Purisima Creek Preserve,16.5,SMC,39.09
|
||||
Redwood City,240.5,SMC,99.66
|
||||
Russian Ridge Preserve,12.2,SMC,59.66
|
||||
San Bruno,114,SMC,36.42
|
||||
San Carlos,99,SMC,99.51
|
||||
San Mateo,256,SMC,54.64
|
||||
San Mateo Highlands,18,SMC,92.36
|
||||
Sequoia Tract,11,SMC,100
|
||||
Sky Londa,11.8,SMC,99.7
|
||||
Skyline Ridge OSP,0.8,SMC,76.4
|
||||
South San Francisco,185.3,SMC,30.98
|
||||
West Menlo Park,11.2,SMC,99.75
|
||||
Sky Londa,10.42,SMC,98.49
|
||||
Skyline Ridge OSP,0.8,SMC,75.41
|
||||
South San Francisco,185.3,SMC,30.97
|
||||
West Menlo Park,11.2,SMC,100
|
||||
Windy Hill Preserve,4.1,SMC,100
|
||||
Woodside,75.2,SMC,99.83
|
||||
Woodside,75.2,SMC,99.08
|
||||
#,,,
|
||||
#,,, Santa Clara County = SCC
|
||||
#,,,
|
||||
Branham,44,SCC,33.2
|
||||
Campbell,119,SCC,30.3
|
||||
Communications Hill,27.8,SCC,39.5
|
||||
Cupertino,172,SCC,54.42
|
||||
Edenvale,30,SCC,47.7
|
||||
Branham,44,SCC,33.21
|
||||
Campbell,119,SCC,30.48
|
||||
Communications Hill,27.8,SCC,35.31
|
||||
Cupertino,172,SCC,76.32
|
||||
Edenvale,30,SCC,47.65
|
||||
Foothills OS Preserve,1.1,SCC,100
|
||||
Gardner,23.4,SCC,47.2
|
||||
Gilroy,188.9,SCC,26.4
|
||||
Los Altos,138.2,SCC,99.89
|
||||
Los Altos Hills,91.3,SCC,99.78
|
||||
Los Gatos,148,SCC,52.04
|
||||
Gardner,23.4,SCC,46.93
|
||||
Gilroy,188.9,SCC,26.88
|
||||
Los Altos,138.2,SCC,99.87
|
||||
Los Altos Hills,91.3,SCC,99.46
|
||||
Los Gatos,148,SCC,52.05
|
||||
Loyola,18.3,SCC,99.94
|
||||
Milpitas,224,SCC,36.7
|
||||
Monte Sereno,20.4,SCC,52.4
|
||||
Mountain View,208.1,SCC,99.81
|
||||
Palo Alto,297.2,SCC,99.51
|
||||
Parkview,42.5,SCC,33.7
|
||||
San Francisco Bay Trail,260.8,SCC,68.47
|
||||
San Jose,2618.7,SCC,28.62
|
||||
San Martin,35.3,SCC,31.85
|
||||
Santa Clara,348,SCC,34.8
|
||||
Saratoga,180,SCC,53.7
|
||||
Stanford,82.53,SCC,99.13
|
||||
Seven Trees,40.9,SCC,34
|
||||
Spartan Keyes,64.3,SCC,36.8
|
||||
Sunnyvale,357,SCC,55.3
|
||||
Willow Glen,81.6,SCC,36
|
||||
Willow Glen South,63.3,SCC,30.9
|
||||
Milpitas,224,SCC,37.36
|
||||
Monte Sereno,20.4,SCC,53.04
|
||||
Mountain View,208.1,SCC,99.49
|
||||
Palo Alto,297.2,SCC,99.52
|
||||
Parkview,42.5,SCC,34.07
|
||||
San Francisco Bay Trail,260.8,SCC,67.77
|
||||
San Jose,2618.7,SCC,28.59
|
||||
San Martin,35.3,SCC,31.41
|
||||
Santa Clara,348,SCC,35.26
|
||||
Saratoga,180,SCC,53.84
|
||||
Stanford,82.53,SCC,99.66
|
||||
Seven Trees,40.9,SCC,34.06
|
||||
Spartan Keyes,64.3,SCC,36.59
|
||||
Sunnyvale,357,SCC,58.34
|
||||
Willow Glen,81.6,SCC,36.23
|
||||
Willow Glen South,63.3,SCC,31.02
|
||||
#,,,
|
||||
#,,, Alameda County = ALA
|
||||
#,,,
|
||||
Alameda,206.7,ALA,12.2
|
||||
Albany,42.7,ALA,6.8
|
||||
Ashland,35.1,ALA,36.1
|
||||
Berkeley,260.3,ALA,7.8
|
||||
Castro Valley,192.5,ALA,26.1
|
||||
Cherryland,20.9,ALA,27.8
|
||||
Emeryville,28.1,ALA,7.7
|
||||
Fairview,34.4,ALA,29.2
|
||||
Fremont,780.2,ALA,34.3
|
||||
Hayward,444.5,ALA,33.2
|
||||
Hayward Acres,3.5,ALA,43.3
|
||||
Newark,147,ALA,51.6
|
||||
San Leandro,230.6,ALA,28.1
|
||||
Alameda,206.7,ALA,12.41
|
||||
Albany,42.7,ALA,6.96
|
||||
Ashland,35.1,ALA,36.49
|
||||
Berkeley,260.3,ALA,7.84
|
||||
Castro Valley,192.5,ALA,26.48
|
||||
Cherryland,20.9,ALA,27.97
|
||||
Dublin,225.94,ALA,26.84
|
||||
Emeryville,28.1,ALA,7.72
|
||||
Fairview,34.4,ALA,29.18
|
||||
Fremont,780.2,ALA,35.58
|
||||
Hayward,444.5,ALA,33.24
|
||||
Hayward Acres,3.5,ALA,43.53
|
||||
Livermore,448.52,ALA,5.46
|
||||
Newark,147,ALA,68.00
|
||||
Pleasonton,344.91,ALA,7.52
|
||||
San Leandro,230.6,ALA,28.18
|
||||
San Lorenzo,55.5,ALA,40.95
|
||||
Union City,208.8,ALA,33.37
|
||||
San Ramon,306.46,ALA,9.36
|
||||
Union City,208.8,ALA,33.36
|
||||
#,,,
|
||||
#,,, SF County = SFC
|
||||
#,,,
|
||||
@ -134,38 +138,39 @@ Sutro Heights,7.1,SFC,13.2
|
||||
#,,, Far Away Places
|
||||
#,,,
|
||||
Barangaroo,1.7,NSW,47.3
|
||||
Bodega Bay,28.9,SON,17
|
||||
Bodega Bay,28.9,SON,17.23
|
||||
Cambridge,180.8,MAS,6.2
|
||||
Castle Rock State Park,11.2,SCC,51.2
|
||||
Corte Madera,51,MAR,12.9
|
||||
Dawes Point,1.8,NSW,29.2
|
||||
Forest of Nisene Marks SP,44.0,SCC,30.7
|
||||
Guerneville,22.7,SON,23.6
|
||||
Healdsburg,53.7,SON,17.8
|
||||
Guerneville,22.7,SON,24.08
|
||||
Healdsburg,56.59,SON,6.42
|
||||
Marin Headlands GGNRA,65.7,MAR,31.9
|
||||
Mill Valley,92.2,MAR,9.1
|
||||
Mill Valley,92.2,MAR,13.43
|
||||
Millers Point,3.2,NSW,34.3
|
||||
MIT,9.6,MAS,34.7
|
||||
Mokelumne Hill,14.7,CAL,26.8
|
||||
Mt Tamalpais State Park,31.7,MAR,38.7
|
||||
Mt Tamalpais State Park,31.7,MAR,38.46
|
||||
Mt Tamalpais Watershed,102.87,MAR,22.55
|
||||
Muir Beach,4.6,MAR,37.1
|
||||
Rosie Riveter Park,5.5,CCC,73.2
|
||||
San Rafael,260,MAR,3.7
|
||||
Sausalito,32.7,MAR,12.9
|
||||
Sausalito,32.7,MAR,27.90
|
||||
Stinson Beach,11.2,MAR,32.9
|
||||
#,,,
|
||||
#,,, Counties and Bigger
|
||||
#,,,
|
||||
San Mateo County,2814,---,66.64
|
||||
Santa Clara County,7569,---,35.6
|
||||
Alameda County,5818,---,17.71
|
||||
Marin County,2333,---,10.94
|
||||
San Francisco County,1217,---,9.26
|
||||
Napa County,1609,---,8.9
|
||||
Sonoma County,4895,---,5.12
|
||||
Santa Cruz County,2718,---,7.12
|
||||
Contra Costa County,5945,---,3.8
|
||||
San Mateo County,2826.05,---,68.30
|
||||
Santa Clara County,7690.85,---,36.18
|
||||
Alameda County,5802.83,---,18.93
|
||||
Marin County,2453.18,---,11.79
|
||||
San Francisco County,1234.85,---,10.04
|
||||
Napa County,1677.57,---,8.90
|
||||
Sonoma County,4955.3,---,7.55
|
||||
Santa Cruz County,2700.36,---,10.58
|
||||
Contra Costa County,5905.56,---,4.12
|
||||
#,,,
|
||||
California,377037,---,1.92
|
||||
USA,6406754,---,0.12
|
||||
Earth,41974536,---,0.018
|
||||
California,387818.83,---,0.01995
|
||||
USA,6447239.43,---,0.001269
|
||||
Earth,45515258.11,---,0.0001865
|
||||
|
|
@ -1,10 +1,15 @@
|
||||
date title hours miles feet
|
||||
#
|
||||
# 2024
|
||||
#
|
||||
#
|
||||
Sun, 10/27/2024 Morgan Hill + Newark 5:13:14 72.04 1,591
|
||||
Fri, 10/11/2024 Pacific to Tunitas + 5:32:47 72.17 5,351
|
||||
Fri, 9/20/2024 Santa Rosa + Michael J Fox 6:16:40 93.33 3,628
|
||||
Fri, 9/6/2024 Yet Another Wandrer.earth Update + Canada with David 6:03:23 73.08 2,332
|
||||
Sun, 8/25/2024 Petaluma–Santa Rosa + Napa 5:13:12 84.26 2,966
|
||||
Sun, 8/18/2024 Dumbarton / Niles / Milpitas Loop+ 5:30:39 74.53 1,242
|
||||
Sat, 8/17/2024 Los Gatos 5:00:52 71.06 1,932
|
||||
Fri, 7/19/2024 Belmont 3:22:04 72.97 3,716
|
||||
Fri, 7/19/2024 Belmont 6:22:04 72.97 3,716
|
||||
Sat, 7/13/2024 100K Km + Morning Ride 6:27:14 63.59 2,487
|
||||
Wed, 7/10/2024 Completed Foster City 5:11:12 73.77 927
|
||||
Sat, 6/1/2024 OLH / Old Haul / Loma Mar / Pescadero / Tunitas / Kings 7:50:15 81.70 7,314
|
||||
|
Can't render this file because it has a wrong number of fields in line 4.
|
Loading…
Reference in New Issue
Block a user