Tantek Çelik

Inventor, writer, teacher, runner, coder, more.

💬 👏
  1. a jpg. a jpg. a jpg. Very challenging and fun 5.5 hours of yoga workshops with @A_BridgesYoga yesterday @yogaflowsf! From exploring creative transitions between asanas, to learning new poses (1) during handstand preparations, and attempting handstands in so many ways (far outside my comfort zone), finally barely holding a handstand in our group photo for a few seconds before falling (2).

    #yoga #workshops #yogaflow #yogaflowsf #handstand #handstands #yogi #yogis #latergram #nofilter #2018_265

    on
  2. It was Friday on MUNI that I found myself again reflecting on ever longer term goals, a mostly philosophical exercise that usually terminates with confronting the inevitable heat death of the universe.^1

    But this time I wondered, could humanity (or whatever we evolve into) prevent the heat death of the universe? Is that even on the Kardashev scale?^2

    I looked it up once my MUNI train exited the underground Market street subway offline-zone and the answers were: no, and sort of an extension. No, the original Kardashev scale only goes up to Type III, a civilization controlling energy on the scale of its host galaxy, an insignificant fraction (less than half a trillionth)^3 of the observable universe.

    Yet extensions to the Kardashev scale^4 describe proposals for a Type IV, to refer either to beings who can use or control the entire universe, or to a civilization that can use an extragalactic energy source such as dark energy. If a civilization could control dark energy, they could perhaps redirect it to reduce, avoid, and possibly even reverse the accelerating expansion of the universe.^5 They would only have to manipulate enough dark energy to allow gravity to counteract the accelerating expansion, or if they could invert dark energy’s effects, half that.

    So on the one hand we have the inevitable heat death of the universe (perhaps only ~22 billion years until a hypothetical "Big Rip"^6), and on the other hand, the theory that one or more civilizations (hopefully including ours) may evolve and/or merge, advancing sufficiently to control enough of the universe’s energies to avert that inevitability, and prosper in unimaginable ways.

    That’s a lot to work backwards from, back down to galactic, solar, earth, cultural, and personal lifespan goals. It’s still quite useful for longer term thinking, implying a need for continuously increasing efficiency in both the use of energy sources and the pace of innovation (especially to tap into more sources). The latter, innovation, in particular complex problem-solving, apparently works best with both high levels of collaboration and parallel independent creativity, mixed intermittently.^7

    Both of those civilization-level needs (energy efficiency, innovation efficiency) seem like goals incrementally pursuable (and achievable) both on small (personal, social) and larger (civic, state, national, global cultural) scales.

    Posting just as a long note for now, perhaps worth expanding into a longer blog post later with specific actions, routines, and patterns towards those goals.

    Citations:

    [1] https://en.wikipedia.org/wiki/Heat_death_of_the_universe
    [2] https://en.wikipedia.org/wiki/Kardashev_scale
    [3] https://en.wikipedia.org/wiki/Observable_universe
    [4] https://en.wikipedia.org/wiki/Kardashev_scale#Extensions_to_the_original_scale
    [5] https://en.wikipedia.org/wiki/Accelerating_expansion_of_the_universe
    [6] https://en.wikipedia.org/wiki/Big_Rip
    [7] https://news.harvard.edu/gazette/story/2018/08/collaborate-on-complex-problems-but-only-intermittently/

    #2018_264

    on
  3. Homebrew Website Club SF!

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    17:30: Optional writing hour and quiet socializing
    18:30: IndieWeb demos and hack night!

    Homebrew Website Club retro 1980s-style logo

    Demos of personal website breakthroughs. Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: on the Facebook event or post an indie RSVP on your own site!

    on
  4. ↪ In reply to @iChris’s tweet @iChris lots going on in the #indieweb world for sure!

    For brief weekly summaries to “keep up to date”, see the newsletter:
    https://indieweb.org/this-week-in-the-indieweb
    and/or podcast: https://martymcgui.re/podcasts/indieweb/

    The IRC #indieweb-wordpress folks are very helpful too!

    on
  5. ↪ In reply to jeena.net’s post @Jeena did you see @EddieHinkle’s reply?

    https://eddiehinkle.com/2018/09/20/16/reply/

    I tried sending it via your webmention form, got this error:

     “We're sorry, but something went wrong.

      We've been notified about this issue and we'll take a look at it shortly.”

    on
  6. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg.
    🌄 Completed my first Tam summit this morning! Thanks to @BryanTing for conversation, encouragements, photos (1,3), and guidance (2) to the top.

    #mounttam #mttam #summit #run #trailrun #runner #powerhike #runners #tamsummit #optoutside #getoutside #neverstopexploring #sunrise #latergram #wakeupthesun #sunrise #fromwhereirun #nofilter

    Starting up a steep hill in the dark was a different kind of challenge. Nothing like pushing physical limits outdoors while watching constellations fade from the sky as it turns from black to navy, to ever lighter shades of blue. The horizon lit up with a purple orange yellow gradient, until the sun pierced the cloudcover (4), bathing everything in warm light. Made it to the top (5) with a solid crew (6).

    2500+' climbed in just 3+ miles to the top, then ~6 miles down for ~9 miles total before 09:00.

    on
  7. ↪ In reply to @miekd’s tweet @miekd am usually second to @zeldman; follow him to learn how to crack 5 digits in weekly @SwarmApp points.

    It’s become a personal tracker for me, and convenient cache for original-res photos. I check-in when I take photos to anchor them in spacetime.

    on
  8. Homebrew Website Club SF!

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    17:30: Optional writing hour and quiet socializing
    18:30: IndieWeb demos and hack night!

    Homebrew Website Club retro 1980s-style logo

    Topics for this week:

    Demos of personal website breakthroughs. Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: on the Facebook event or post an indie RSVP on your own site!

    on
  9. RSVP yes to: aaronparecki.com’s post going to the Friday XOXO #indieweb / #mastodon meetup!
    10-12:00 Cup & Bar, 118 NE Martin Luther King Jr Blvd

    Join us for coffee & chat about independent websites, like how to replace #socialmedia use with your personal site!

    #openweb #dweb #fediverse

    on
  10. RSVP yes to: aaronparecki.com’s post went to last night’s #IndieWeb Pre-XOXO Meetup @VEBrewing and caught up with @aaronpk @kevinmarks @mattl Doug and David!

    https://aaronparecki.com/2018/09/05/5/

    on
  11. ↪ In reply to @unblock_list’s tweet @unblock_list what blocklists?

    on
  12. Learned a bunch about shared block lists and unintended consequences & harms.

    @unblock_list follows folks "accidentally / maliciously added to various block lists."

    See: https://twitter.com/unblock_list/following

    Look for red "Blocked" buttons, and Unblock them.
    Fortunately I wasn’t blocking anyone there; never used shared block lists.

    Avoid shared block lists as the potential for harm is much higher than good.

    I have manually blocked 13,329 accounts, mostly for spam, hate/bots, but also years ago for @t mismentions like instead of "at", @-alphabet spams, and "sh@t" mentions.

    If I blocked you and none of those apply to you, please reach out to me through a mutual friend or tantek.com/contact and let me know!

    on
  13. ↪ In reply to tantek.com’s post #Power restored in #SanFrancisco to parts (most?) of #AshburyHeights #UpperHaight #ColeValley. cc: @StephannieDepa @PGE4Me

    During #outage a few businesses on #Haightstreet had power, and #HaightAshbury traffic signal was out.

    #poweroutage #poweroutagesf

    on
  14. ↪ In reply to @StephannieDepa’s tweet Confirmed @StephannieDepa. Power is out here in #SanFrancisco #AshburyHeights #HaightAshbury #UpperHaight #ColeValley.

    #power #outage #poweroutage #poweroutagesf cc: @PGE4Me

    on
  15. ↪ In reply to @mattl’s tweet @mattl are you confusing #OSCON2010 & #FSWS2010 (which was literally the day before #OSCON)?

    #FSWS2010 was the meeting that spurred us (@aaronpk @t) to create the #IndieWeb community. Neither of us went to OSCON that year.
    cc: @aprilaser

    More:
    * https://indieweb.org/timeline
    * 2010-07-18 https://indieweb.org/Federated_Social_Web_Summit#Portland_2010
    * 2010-07-19…23 https://conferences.oreilly.com/oscon/oscon2010 (also in Portland, Oregon)

    on
  16. a jpg. Free soloed some large rocks in #IndianCove @JoshuaTreeNPS 10 days ago. Look out @AlexHonnold! 😂
    📷 @nancyyeh #wallclimbwednesday #joshuatree #climb #boulder #optoutside #getoutside

    While on a long weekend #yogaretreat in Joshua Tree, a few of us ventured out during our mid-day breaks to Joshua Tree National Park. I found nice solid granite rocks to climb, and on Sunday several with just enough grips for hands and (just barely) my Nike Pegasus shoes (wishing I’d thought to bring my #Evolv approach shoes or #FiveTen Dragons). Still made it to the top, then took over twice as long to downclimb.  Grateful for many years of bouldering practice.

    #latergram #nofilter

    on
  17. Interested in web development @Mozilla?

    Check out this position for a "Sr. Full Stack Software Engineer" in Emerging Technologies and @MozDevNet:

    https://careers.mozilla.org/position/gh/1282876/

    #Python #Django #MVC #JavaScript #jQuery #HTML #CSS #Nodejs #MySQL #PostgreSQL #Git

    on
  18. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. Last Saturday’s #run: 20.5 miles & 3570' under, through, and above the clouds. Started with #SFRC, chose a different route, to Cardiac Hill and back. My farthest #trailrun yet.

    #trailtuesdaythrowback #optoutside #getoutside #runner #runners #marin #trails #2018_230 #latergram #nofilter

    1 Looking back down Fox
    2 Just before, Fox trail up into the clouds
    3 Black beetle, saw it moving, paused for the up close shot
    4 Coastal trail down to Muir Beach
    5 Mist shrouded switchbacks I had just ascended
    6 Milk thistle flower
    7 Cardiac Hill view towards a cloud covered Pacific ocean
    8 Snack time, my first @GUEnergyLabs #Stroopwafel
    9 Happy to have made it halfway
    10 Back down to Heather Cutoff switchbacks

    on
  19. Homebrew Website Club SF!

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    17:30: Optional writing hour and quiet socializing
    18:30: IndieWeb demos and hack night!

    Homebrew Website Club retro 1980s-style logo

    Topics for this week:

    Demos of personal website breakthroughs. Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: post an indie RSVP on your own site!

    on
  20. Dense past 2.5 weeks

    #HomebrewWebsiteClub @MozSF
    @W3C #CredWeb f2f @Meedan

    @theSFMarathon half
    @IndieWebCamp #SF / #DWeb #HackersDay
    #DWebSummit browsers panel
    & #indieweb talk
    #DataTransferProject f2f

    16.5mi run
    @W3CAB f2f @MIT
    Joshua Tree yoga retreat

    on
  21. ↪ In reply to tantek.com’s post One "simple" way to do this would be to create a public repo like: https://github.com/w3c/ABpub which would thus have public issues by default.

    on
  22. New issue on GitHub project “AB”

    @W3CAB issues ought to be public by default absent a specific reason to be kept private

    The W3C Advisory Board keeps track of some issues in a private repository in the W3C GitHub org: https://github.com/w3c/AB/issues and in my opinion the AB should move to tracking issues publicly by default instead.

    This requires two things: 1. creating new AB issues in a public forum/repo by default, and 2. analyzing current open issues to see if they can be moved to being public issues.

    I have created the public label in the existing repo to help with the latter, and am attempting to label this issue accordingly as well.

    As background, I created the public W3C AB wiki page five years ago which has served the group and W3C community quite well in practice. I think the AB can similarly benefit from public issues discussion by default.

    Labels: public, enhancement

    on
  23. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. Saturday’s #longrun: 16.5 miles & 2300'+ started with ~12 miles from home to the Tennessee Valley Trailhead, joined friends for a bit more, nearly 14 to the #beach. Climbed up for a view, ran back to the parking lot.

    #optoutside #getoutside #run #trailrun #runner #runners #sf #city #marin #trails #2018_216 #latergram #nofilter

    1. View of the city from SCA trail
    2. Sunrise on the Panhandle park
    3. Crissy Field Marsh
    4. Golden Gate and Bridge
    5. Flowers on the run up to GGB
    6. Rolling hills and the Pacific
    7. Alta trail and forest
    8. Tennessee Beach
    9. 📷 @thats_a_moret #selfie with Kelsey
    10. View from Coastal Fire Road

    on
  24. Gave my lightning talk at the #DWebSummit:

     #IndieWeb. Taking back your content with practical #decentralization steps

    Outline & links: https://indieweb.org/dweb2018

    Great questions everyone! Thanks @benwerd for posts and photo!
    https://twitter.com/benwerd/status/1025134936016076800

    on
  25. Started #IndieWebCamp SF with a brief intro then handed it off to our excellent keynotes:
    * Miriam Avery (evermoreperfecteyes.com, @myravery)
    * Dietrich Ayala (metafluff.com, @dietrich)
    * Ryan Barrett (snarfed.org, @schnarfed)

    on
  26. #IndieWebCamp SF / DWeb Hackers day is TODAY @MozSF!

    https://indieweb.org/2018/SF

    If you’ve RSVP’d already great! We’re expecting you at 10am.

    If you’re just hearing about this, reply or drop by https://chat.indieweb.org/ and say hello!

    on
  27. ↪ In reply to a comment on issue 36 of GitHub project “microformats2-parsing” https://github.com/sknebel yes that is the interpretation I intended, and thanks for the review and suggestion. I have added "explicit" explicitly :)

    http://microformats.org/wiki/index.php?title=microformats2-parsing&diff=66898&oldid=66890

    If with that change we have sufficiently resolved this issue 36, go ahead and close it. Thanks!

    on
  28. a jpg. a jpg. a jpg. Finished @theSFMarathon first half in 2:33:00.

    #TSFM2018 #SF #halfmarathon #runner #runners #overcast #baybridge #nofilter

    It was a muggy and overcast morning (photo 2).

    And I started at the end of the last corral for the #SFM first half marathon (photo 3), due to a series of transport mishaps! Race day bus route changes, cabs ignoring all attempts to hail (losing all sympathy for ride-hail ires).

    After a longer than expected warm-up (2.4 miles!), I finally caught a bus on Market street to the Embarcadero. The last corral for the SFM First half marathon was lining up to start. Took a quick pitstop and walked to the back of the corral.

    Got a good start and set a decent pace up to Aquatic Park and around to the Marina. I walked a bit every couple of miles. Ignoring my pace, I ran with my breath.

    After running by the bridge (under the roadway), down Lincoln to Seacliff, the race directed us on to 26th avenue into the park. Everything felt familiar from my practice run last Sunday, but a bit faster, despite the humidity.

    This new course (without the bridge) felt harder (more vertical climb I’m pretty sure).

    I didn’t see a single November Project person in the course or race. In fact I didn’t see anyone I knew at all. Quite a contrast from last year’s full marathon.

    I finished, just grateful to do so, feeling strong, without injury. That’s 13 half marathons. After walk-jogging home, I stretched, cleaned up, and met November Project friends for brunch in Potrero flats, where they had cheered and handed out water at mile 23 of the full marathon.

    Previously SF first #halfmarathon runs (including GGB)
    * 2016-07-31 2:27:37 tantek.com/2016/221/t2/moments-before-crossing-starting-line
    * 2014-07-27 2:23:45 tantek.com/2014/208/t1/finished-sf-half-marathon

    Previous half marathons-ish:
    * 2018-06-16 3:59:26 tantek.com/2018/168/t1/finished-first-doubledipsea
    * 2018-04-08 2:23:31 tantek.com/2018/098/t1/rock-n-roll-half-marathon-finished
    * 2017-11-11 3:32:20 tantek.com/2017/321/t2/last-saturday-racing-tam-half-marathon
    * 2017-02-05 2:24:58 tantek.com/2017/038/t1/race-time-faster-than-first-reported

    on
  29. ↪ In reply to @csageland’s tweet @csageland open to all curious about anything and everything #dweb #indieweb.
    Please join us!

    on
  30. RSVP yes to: tantek.com’s post co-organizing IndieWebCamp SF / Decentralized Web Hackers Day next Tuesday 2018-07-31 @MozSF, complementary to #DWebSummit 2018!
    <20 spots left!
    Details & RSVP: http://tantek.com/2018/212/e1/indiewebcamp-sf-dweb-hackers-day
    #mozilla #openweb #indieweb #dweb

    on
  31. One year ago today:
    Finished my first #marathon @theSFMarathon #TSFM2017
    http://tantek.com/2017/253/b1/my-first-marathon #2017_204

    on
  32. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. Twin Peaks #hillsforbreakfast in #clouds (1), #sunshine in Glen Canyon (2-3), succulents en route back to Twin Peaks (4), #extravert up Tank Hill (5), Mount Olympus (6), Corona Heights (7-8), Buena Vista (9-10) for 8.9 miles & 2533'

    #optoutside #getoutside #run #trailrun #runner #runners #sf #city #nofilter

    on
  33. Homebrew Website Club SF!

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    17:30: Optional writing hour and quiet socializing
    18:30: IndieWeb demos and hack night!

    Homebrew Website Club retro 1980s-style logo

    Topics for this week:

    Demos of personal website breakthroughs. Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: on the Facebook event or post an indie RSVP on your own site!

    on
  34. IndieWebCamp SF / #DWeb Hackers Day

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    In town for the Decentralized Web Summit August 1-2 and not otherwise busy on July 31st?

    Mozilla invites you to a complementary (and complimentary) all day Decentralized Web Hackers Day and IndieWebCamp SF at our Mozilla San Francisco offices.

    Spend a day creating the web you want collaborating with others doing the same, using the latest in decentralized and indieweb technologies.

    Schedule

    • 10:00 Opening keynotes and lightning intros/demos
    • 11:15 BarCamp breakout session scheduling
    • 12:00 Open hack day and discussion sessions
    • 16:00 Lightning Demos!
    • 17:00 Wrap-up and transit to DWeb pre-party

    We will open the day with a few brief introductory keynotes to set the stage and get your creativity flowing, followed by a round of lightning intros/demos by participants who want to (yes that means you!)

    In our usual BarCamp style, we’ll spend a few minutes having participants propose different discussion/hacking sessions for the day and pick rooms & time slots. Sessions will start promptly after scheduling. Don’t worry if this is your first time participating in a BarCamp, we will explain the process for everyone and especially make sure newcomers get a chance to propose their session ideas.

    Final sessions and hacking will wrap at 16:00 and we will all reconvene in the main room for a round of lightning demos of hacks, insights, whatever you made or thought up.

    Afterwards we’ll direct you to local transit that will take you to the Internet Archive for the Decentralized Web Summit Science Faire and Pre-party (requires separate registration)

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: post an indie RSVP on your own site or add yourself to the wiki (or both!)

    Optional: Facebook POSSE event for your calendaring convenience

    on
  35. ↪ In reply to adactio.com’s post @adactio not “yet prove to be” but rather Santa Cruz has been for almost 7 years already (nearly 6 years at the time of your @adactioJournal post).

    Posted about it at the time: http://tantek.com/2011/228/t4/minority-report-programs-not-precogs-santa-cruz

    #minorityreport #precog #precogs #precrime #ai

    on
  36. ↪ In reply to issue 803 of GitHub project “bridgy” Here is another more recent example:

    http://tantek.com/2018/190/b1/scrollbar-gutter-move-to-css-scrollbars

    New issue, with two labels: css-overflow-4, css-scrollbars-1

    Only the first label was added to the Bridgy Publish POSSE copy:

    https://github.com/w3c/csswg-drafts/issues/2899

    Is this the same problem? I thought perhaps with the switch from GraphQL to the GitHub v3 API a few weeks (months?) ago, this might have been fixed at the same time.

    Whatever the cause is, some labels are still not getting through via publish.

    on
  37. Homebrew Website Club SF!

    When: Where: Mozilla San Francisco Host: Tantek Çelik

    17:30: Optional writing hour and quiet socializing
    18:30: IndieWeb demos and hack night!

    Homebrew Website Club retro 1980s-style logo

    Topics for this week:

    Demos of personal website breakthroughs. Create or update your personal web site!

    Join a community with like-minded interests. Bring friends that want a personal site, or are interested in a healthy, independent web!

    Any questions? Ask in #indieweb Slack or IRC

    More information: IndieWeb Wiki Event Page

    RSVP: on the Facebook event or post an indie RSVP on your own site!

    on
  38. a jpg. a jpg. #TBT to the Rodeo Valley 30k and how good the first half felt, running uphill (1) and downhill (2). Then learning in the second half that I had what it took to endure hours of 90-95°F temperatures to run, jog, and hike to finish a five hour trail race. Race photos 📷 Chris Cleary @insidetrail

    #optoutside #getoutside #run #trailrun #insidetrail #runner #rodeovalley #race #trailtuesdaythrowback #latergram #nofilter #2018_174

    Previously: tantek.com/2018/175/t1/finished-rodeovalley-my-first-30k

    on
  39. ↪ In reply to issue 419 of GitHub project “csswg-drafts” The new CSS Scrollbars 'scrollbar-width' property with a value of 0 (or 'none' if we go that route), has the requested effect for this issue.

    https://drafts.csswg.org/css-scrollbars-1/#scrollbar-width

    That is, hidden scrollbars, but content remaining scrollable.

    label: #css-scrollbars-1

    on
  40. New issue on GitHub project “csswg-drafts”

    scrollbar-gutter should move to CSS Scrollbars 2nd draft

    Once CSS Scrollbars has been resolved and published as a FPWD, the scrollbar-gutter property should be moved from CSS Overflow 4 to CSS Scrollbars.

    This was discussed briefly at the recent f2f in Sydney with general agreement among those discussing that scrollbar-* properties ought to be in the same spec, and @astearns pointed out to me the detail that it would be better to move it after FPWD, since 'scrollbar-gutter' has already been published in a FPWD, and I agree.

    Labels: css-overflow-4, css-scrollbars-1

    on
  41. 👍 to pull request 98 to GitHub project “webmention”

    on
  42. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. a jpg. Beautiful Saturday for a #trailrun in the #Marin #hills at #SFRC! Steady 12 miles, ~2150', 2 beaches, and bones of a beached whale.

    #optoutside #getoustide #run #trails #beach #whalebone #whalebones #latergram #nofilter

    1 panoramic from Horizonal Control Mark Coyote Ridge 2
    2 look back down Miwok
    3 view of Pirates Cove from Coastal Trail
    4 Pirates Cove beach
    5 Pirates Cove looking North
    6 Stepping into the coarse sandy surf at Tennessee Beach
    7 Tennessee Beach looking North
    8 vertical panoramic of sun and mottled clouds over the beach
    9 large whale bone
    10 remaining whale bones and beach looking South

    First long run since my 30k. Quite a sluggish start, took me a few miles to warm-up and get into a good groove. Subsequent hills felt easier than when I ran them two weeks ago. Another bright sunny day with temperatures mostly in the 80s F, much better than the 90s during the 30k!

    Previously: http://tantek.com/2018/175/t1/finished-rodeovalley-my-first-30k

    on