baz9

Badges

100 Contributions1,000 Contributions10 Posts

Contributions

Posts

1 Day

12

7 Days

12

4 Weeks

31

All Time

6435

Current Streak

1

Longest Streak

13

Contributions Map

Contributions by Country

Country Contributions Between Climbers Crags Summits Climbs Ascents
1 USA 1507 20th November 2025 – 30th June 2026 47 20 0 87 97
2 Australia 767 27th September 2025 – 29th June 2026 6 38 0 61 33
3 United Kingdom 576 19th November 2025 – 8th July 2026 33 14 0 22 43
4 France 264 6th January 2026 – 28th June 2026 14 3 0 12 31
5 Switzerland 257 24th January 2026 – 10th July 2026 6 3 0 12 33
6 Austria 210 12th November 2025 – 22nd June 2026 5 2 0 8 22
7 Italy 129 18th November 2025 – 29th May 2026 9 3 0 11 10
8 Pakistan 118 11th April 2026 – 26th April 2026 0 0 0 1 7
9 Spain 105 20th February 2026 – 16th May 2026 5 0 0 10 11
10 Germany 103 3rd February 2026 – 26th June 2026 7 0 0 7 10

Recent Contributions

Date Time User Type Name Attribute
3541 10th April 2026 00:27:36 UTC baz9 ascent Jim Herson's ascent of Salathé Wall notes_pretty
Before
<p>A multi-year siege. The final ascent was completed 90 hours before the birth of his son <a href="/climber/1321/connor-herson" rel="noopener noreferrer">Connor Herson</a>.</p> <h3>References</h3> <p>[1] <a href="https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm" rel="noopener noreferrer">https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm</a></p> <p>[2] <a href="https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html" rel="noopener noreferrer">https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html</a></p>
After
<p>A multi-year siege. The final ascent was completed 90 hours before the birth of his son <a href="/climber/1321/connor-herson" rel="noopener noreferrer">Connor Herson</a>.</p> <p>Climbed via the original <a href="/climber/1053/todd-skinner" rel="noopener noreferrer">Todd Skinner</a> and <a href="/climber/1186/paul-piana" rel="noopener noreferrer">Paul Piana</a> pitches (Pitch 19 instead of the Monster Offwidth).</p> <h3>References</h3> <p>[1] <a href="https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm" rel="noopener noreferrer">https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm</a></p> <p>[2] <a href="https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html" rel="noopener noreferrer">https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html</a></p>
3542 10th April 2026 00:27:36 UTC baz9 ascent Jim Herson's ascent of Salathé Wall notes
Before
A multi-year siege. The final ascent was completed 90 hours before the birth of his son [Connor Herson](/climber/1321/connor-herson). ### References [1] [https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm](https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm) [2] [https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html](https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html)
After
A multi-year siege. The final ascent was completed 90 hours before the birth of his son [Connor Herson](/climber/1321/connor-herson). Climbed via the original [Todd Skinner](/climber/1053/todd-skinner) and [Paul Piana](/climber/1186/paul-piana) pitches (Pitch 19 instead of the Monster Offwidth). ### References [1] [https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm](https://web.archive.org/web/20170529112145/http://web.stanford.edu/~clint/yos/longhf.htm) [2] [https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html](https://web.archive.org/web/20180212032339/http://www.jimherson.com/climbing/tr/salathe-free.html)
Diff
--- before

+++ after

@@ -1,4 +1,6 @@

A multi-year siege. The final ascent was completed 90 hours before the birth of his son [Connor Herson](/climber/1321/connor-herson).
+
+Climbed via the original [Todd Skinner](/climber/1053/todd-skinner) and [Paul Piana](/climber/1186/paul-piana) pitches (Pitch 19 instead of the Monster Offwidth).

### References
3543 10th April 2026 00:15:18 UTC baz9 ascent Dan McManus's ascent of Salathé Wall notes_pretty
Before
<p>Dan was unable to climb the headwall pitch free.</p> <h3>References</h3> <p>[1] <a href="https://danmcmanus.blogspot.com/2014/05/salathe-wall.html">https://danmcmanus.blogspot.com/2014/05/salathe-wall.html</a></p>
After
<p>Dan was unable to climb the headwall pitch free.</p> <h3>References</h3> <p>[1] <a href="https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html" rel="noopener noreferrer">https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html</a></p>
3544 10th April 2026 00:15:18 UTC baz9 ascent Dan McManus's ascent of Salathé Wall notes
Before
Dan was unable to climb the headwall pitch free. ### References [1] [https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
After
Dan was unable to climb the headwall pitch free. ### References [1] [https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
Diff
--- before

+++ after

@@ -2,4 +2,4 @@


### References

-[1] [https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
+[1] [https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
3545 10th April 2026 00:14:28 UTC baz9 ascent James McHaffie's ascent of Salathé Wall notes_pretty
Before
<h3>References</h3> <p>[1] <a href="https://danmcmanus.blogspot.com/2014/05/salathe-wall.html">https://danmcmanus.blogspot.com/2014/05/salathe-wall.html</a></p>
After
<h3>References</h3> <p>[1] <a href="https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html" rel="noopener noreferrer">https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html</a></p>
3546 10th April 2026 00:14:28 UTC baz9 ascent James McHaffie's ascent of Salathé Wall notes
Before
### References [1] [https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
After
### References [1] [https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
Diff
--- before

+++ after

@@ -1,3 +1,3 @@

### References

-[1] [https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
+[1] [https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html](https://web.archive.org/web/20231127161120/https://danmcmanus.blogspot.com/2014/05/salathe-wall.html)
3547 9th April 2026 23:16:34 UTC baz9 climber Jordan Cannon notes_pretty
Before
<p>Yosemite trad climber, notably climbed the <a href="/list/90/el-cap-triple" rel="noopener noreferrer">El Cap Triple</a> in under 24 hours.</p>
After
<p>American big wall climber known for fast ascents and linkups in Yosemite. In 2025, alongside <a href="/climber/3868/michael-vaill" rel="noopener noreferrer">Michael Vaill</a> , he became part of the second team to complete the <a href="/list/90/el-cap-triple" rel="noopener noreferrer">El Cap Triple</a> in under 24 hours, following <a href="/climber/622/alex-honnold" rel="noopener noreferrer">Alex Honnold</a> and <a href="/climber/1304/sean-leary" rel="noopener noreferrer">Sean Leary</a>.</p>
3548 9th April 2026 23:16:34 UTC baz9 climber Jordan Cannon notes
Before
Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours.
After
American big wall climber known for fast ascents and linkups in Yosemite. In 2025, alongside [Michael Vaill](/climber/3868/michael-vaill) , he became part of the second team to complete the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours, following [Alex Honnold](/climber/622/alex-honnold) and [Sean Leary](/climber/1304/sean-leary).
Diff
--- before

+++ after

@@ -1 +1 @@

-Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours.
+American big wall climber known for fast ascents and linkups in Yosemite. In 2025, alongside [Michael Vaill](/climber/3868/michael-vaill) , he became part of the second team to complete the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours, following [Alex Honnold](/climber/622/alex-honnold) and [Sean Leary](/climber/1304/sean-leary).
3549 9th April 2026 23:01:12 UTC baz9 climber Jordan Cannon notes_pretty
Before
<p>Yosemite trad climber, notably climbed the <a href="/list/90/el-cap-triple" rel="noopener noreferrer">El Cap Triple</a> in under 24 hours.</p> <h3>References</h3> <p>[1] <a href="https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/" rel="noopener noreferrer">https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/</a></p> <p>[2] Birthday coming out post <a href="https://www.instagram.com/p/COXoEEDDgTP/" rel="noopener noreferrer">https://www.instagram.com/p/COXoEEDDgTP/</a></p> <p>[3] <a href="https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/" rel="noopener noreferrer">https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/</a></p>
After
<p>Yosemite trad climber, notably climbed the <a href="/list/90/el-cap-triple" rel="noopener noreferrer">El Cap Triple</a> in under 24 hours.</p>
3550 9th April 2026 23:01:12 UTC baz9 climber Jordan Cannon notes
Before
Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours. ### References [1] [https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/](https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/) [2] Birthday coming out post [https://www.instagram.com/p/COXoEEDDgTP/](https://www.instagram.com/p/COXoEEDDgTP/) [3] [https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/](https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/)
After
Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours.
Diff
--- before

+++ after

@@ -1,9 +1 @@

-Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours.
-
-### References
-
-[1] [https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/](https://www.outsideonline.com/culture/essays-culture/professional-climber-jordan-cannon-comes-out-gay/)
-
-[2] Birthday coming out post [https://www.instagram.com/p/COXoEEDDgTP/](https://www.instagram.com/p/COXoEEDDgTP/)
-
-[3] [https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/](https://runoutpodcast.com/index.php/2021/05/03/runout-61-jordan-comes-out/)
+Yosemite trad climber, notably climbed the [El Cap Triple](/list/90/el-cap-triple) in under 24 hours.
3551 9th April 2026 22:50:04 UTC baz9 list Quickest Ascents of Hard Boulder Problems list_definition
Before
select '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade as Grade ,am.value as Sessions ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 and g.order_on >= 42 and amk.key in ('Sessions', 'Sessions (Approx)') and am.value ~ '^[0-9]+$' and am.value::integer < 6 order by g.grade_id desc ,am.value::integer ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
After
select '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade as Grade ,case when amk.key = 'Sessions (Approx)' then am.value || ' (approx)' when amk.key = 'Sessions (Less Than)' then am.value || ' (or less)' else am.value end as Sessions ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 and g.order_on >= 42 and am.value ~ '^[0-9]+$' and ( ( amk.key in ('Sessions', 'Sessions (Approx)') and am.value::integer < 6 ) or ( amk.key = 'Sessions (Less Than)' and am.value::integer <= 6 ) ) order by g.grade_id desc ,case when amk.key = 'Sessions (Less Than)' then am.value::integer else am.value::integer end ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -2,7 +2,11 @@

'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb
,g.grade as Grade
- ,am.value as Sessions
+ ,case
+ when amk.key = 'Sessions (Approx)' then am.value || ' (approx)'
+ when amk.key = 'Sessions (Less Than)' then am.value || ' (or less)'
+ else am.value
+ end as Sessions
,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date"

from
@@ -31,12 +35,23 @@

and asty.ascent_successful
and not a.ascent_type_id = 6
and g.order_on >= 42
- and amk.key in ('Sessions', 'Sessions (Approx)')
and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
+ and (
+ (
+ amk.key in ('Sessions', 'Sessions (Approx)')
+ and am.value::integer < 6
+ )
+ or (
+ amk.key = 'Sessions (Less Than)'
+ and am.value::integer <= 6
+ )
+ )

order by
g.grade_id desc
- ,am.value::integer
+ ,case
+ when amk.key = 'Sessions (Less Than)' then am.value::integer
+ else am.value::integer
+ end
,order_dt(a.ascent_dt_start, a.ascent_dt_end)
3552 9th April 2026 22:46:24 UTC baz9 list Quickest Ascents of Hard Boulder Problems list_definition
Before
with eight_c_plus_cutoff as ( select g.order_on from grades g where g.climb_type_id = 2 and g.grade = '8C+' ), session_meta as ( select a.ascent_id ,min( case when amk.key = 'Sessions' and am.value ~ '^[0-9]+$' and am.value::integer < 6 then am.value::integer when amk.key = 'Sessions (Approx)' and am.value ~ '^[0-9]+$' and am.value::integer < 6 then am.value::integer when amk.key = 'Sessions (Less Than)' and am.value ~ '^[0-9]+$' and am.value::integer <= 6 then am.value::integer - 1 else null end ) as sessions_sort ,string_agg( case when amk.key = 'Sessions' and am.value ~ '^[0-9]+$' and am.value::integer < 6 then amk.key || ': ' || am.value when amk.key = 'Sessions (Approx)' and am.value ~ '^[0-9]+$' and am.value::integer < 6 then amk.key || ': ' || am.value when amk.key = 'Sessions (Less Than)' and am.value ~ '^[0-9]+$' and am.value::integer <= 6 then amk.key || ': ' || am.value else null end ,', ' order by amk.key, am.value ) as session_meta from ascents a inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where amk.key in ('Sessions', 'Sessions (Approx)', 'Sessions (Less Than)') group by a.ascent_id ) select a.ascent_id ,a.ascent_dt_start ,a.ascent_dt_end ,cl.climber_id ,cl.climber_name ,c.climb_id ,c.climb_name ,g.grade ,sm.session_meta ,sm.sessions_sort from ascents a inner join session_meta sm on a.ascent_id = sm.ascent_id inner join climbs c on a.climb_id = c.climb_id inner join climbers cl on a.climber_id = cl.climber_id inner join grades g on c.grade_id = g.grade_id inner join ascent_styles ast on a.ascent_style_id = ast.ascent_style_id where sm.sessions_sort is not null and c.climb_type_id = 2 and ast.ascent_successful = true and a.deleted_on is null and a.exclude_reason is null and c.deleted_on is null and c.exclude_reason is null and cl.deleted_on is null and cl.exclude_reason is null and g.order_on >= ( select ecc.order_on from eight_c_plus_cutoff ecc ) order by sm.sessions_sort ,g.order_on desc ,a.ascent_dt_start
After
select '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade as Grade ,am.value as Sessions ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 and g.order_on >= 42 and amk.key in ('Sessions', 'Sessions (Approx)') and am.value ~ '^[0-9]+$' and am.value::integer < 6 order by g.grade_id desc ,am.value::integer ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -1,114 +1,42 @@

-with eight_c_plus_cutoff as (
- select
- g.order_on
-
- from
- grades g
-
- where
- g.climb_type_id = 2
- and g.grade = '8C+'
-),
-
-session_meta as (
- select
- a.ascent_id
- ,min(
- case
- when amk.key = 'Sessions'
- and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
- then am.value::integer
- when amk.key = 'Sessions (Approx)'
- and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
- then am.value::integer
- when amk.key = 'Sessions (Less Than)'
- and am.value ~ '^[0-9]+$'
- and am.value::integer <= 6
- then am.value::integer - 1
- else null
- end
- ) as sessions_sort
- ,string_agg(
- case
- when amk.key = 'Sessions'
- and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
- then amk.key || ': ' || am.value
- when amk.key = 'Sessions (Approx)'
- and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
- then amk.key || ': ' || am.value
- when amk.key = 'Sessions (Less Than)'
- and am.value ~ '^[0-9]+$'
- and am.value::integer <= 6
- then amk.key || ': ' || am.value
- else null
- end
- ,', '
- order by amk.key, am.value
- ) as session_meta
-
- from
- ascents a
- inner join ascent_meta am
- on a.ascent_id = am.ascent_id
- inner join ascent_meta_keys amk
- on am.ascent_meta_key_id = amk.ascent_meta_key_id
-
- where
- amk.key in ('Sessions', 'Sessions (Approx)', 'Sessions (Less Than)')
-
- group by
- a.ascent_id
-)
-
select
- a.ascent_id
- ,a.ascent_dt_start
- ,a.ascent_dt_end
- ,cl.climber_id
- ,cl.climber_name
- ,c.climb_id
- ,c.climb_name
- ,g.grade
- ,sm.session_meta
- ,sm.sessions_sort
-
+ '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
+ ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb
+ ,g.grade as Grade
+ ,am.value as Sessions
+ ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date"
+
from
- ascents a
- inner join session_meta sm
- on a.ascent_id = sm.ascent_id
- inner join climbs c
- on a.climb_id = c.climb_id
- inner join climbers cl
- on a.climber_id = cl.climber_id
- inner join grades g
- on c.grade_id = g.grade_id
- inner join ascent_styles ast
- on a.ascent_style_id = ast.ascent_style_id
-
+ ascents a
+ inner join climbers c
+ on a.climber_id = c.climber_id
+ inner join climbs cl
+ on a.climb_id = cl.climb_id
+ inner join grades g
+ on cl.grade_id = g.grade_id
+ inner join ascent_styles asty
+ on a.ascent_style_id = asty.ascent_style_id
+ inner join ascent_meta am
+ on a.ascent_id = am.ascent_id
+ inner join ascent_meta_keys amk
+ on am.ascent_meta_key_id = amk.ascent_meta_key_id
+
where
- sm.sessions_sort is not null
- and c.climb_type_id = 2
- and ast.ascent_successful = true
- and a.deleted_on is null
- and a.exclude_reason is null
- and c.deleted_on is null
- and c.exclude_reason is null
- and cl.deleted_on is null
- and cl.exclude_reason is null
- and g.order_on >= (
- select
- ecc.order_on
-
- from
- eight_c_plus_cutoff ecc
- )
-
+ a.deleted_on is null
+ and c.deleted_on is null
+ and cl.deleted_on is null
+ and a.exclude_reason is null
+ and c.exclude_reason is null
+ and cl.exclude_reason is null
+ and cl.climb_type = 2
+ and asty.ascent_successful
+ and not a.ascent_type_id = 6
+ and g.order_on >= 42
+ and amk.key in ('Sessions', 'Sessions (Approx)')
+ and am.value ~ '^[0-9]+$'
+ and am.value::integer < 6
+
order by
- sm.sessions_sort
- ,g.order_on desc
- ,a.ascent_dt_start
+ g.grade_id desc
+ ,am.value::integer
+ ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
3553 9th April 2026 22:45:10 UTC baz9 list Hard Boulder Problem Ascents list_definition
Before
select a.ascent_id as "#" ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade as Grade ,am.value as Sessions ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 and g.order_on >= 42 and amk.key in ('Sessions', 'Sessions (Approx)') and am.value ~ '^[0-9]+$' and am.value::integer < 6 order by g.grade_id desc ,am.value::integer ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
After
select '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and g.order_on >= 42 and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 order by g.grade_id desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -1,9 +1,7 @@

select
- a.ascent_id as "#"
- ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
+ '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb
- ,g.grade as Grade
- ,am.value as Sessions
+ ,g.grade
,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date"

from
@@ -16,10 +14,6 @@

on cl.grade_id = g.grade_id
inner join ascent_styles asty
on a.ascent_style_id = asty.ascent_style_id
- inner join ascent_meta am
- on a.ascent_id = am.ascent_id
- inner join ascent_meta_keys amk
- on am.ascent_meta_key_id = amk.ascent_meta_key_id

where
a.deleted_on is null
@@ -28,16 +22,11 @@

and a.exclude_reason is null
and c.exclude_reason is null
and cl.exclude_reason is null
+ and g.order_on >= 42
and cl.climb_type = 2
and asty.ascent_successful
- and not a.ascent_type_id = 6
- and g.order_on >= 42
- and amk.key in ('Sessions', 'Sessions (Approx)')
- and am.value ~ '^[0-9]+$'
- and am.value::integer < 6
+ and not a.ascent_type_id = 6

order by
g.grade_id desc
- ,am.value::integer
- ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
-
+ ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
3554 9th April 2026 22:42:55 UTC baz9 list Hard Boulder Problem Ascents list_definition
Before
select '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and g.order_on >= 42 and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 order by g.grade_id desc ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
After
select a.ascent_id as "#" ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber ,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb ,g.grade as Grade ,am.value as Sessions ,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date" from ascents a inner join climbers c on a.climber_id = c.climber_id inner join climbs cl on a.climb_id = cl.climb_id inner join grades g on cl.grade_id = g.grade_id inner join ascent_styles asty on a.ascent_style_id = asty.ascent_style_id inner join ascent_meta am on a.ascent_id = am.ascent_id inner join ascent_meta_keys amk on am.ascent_meta_key_id = amk.ascent_meta_key_id where a.deleted_on is null and c.deleted_on is null and cl.deleted_on is null and a.exclude_reason is null and c.exclude_reason is null and cl.exclude_reason is null and cl.climb_type = 2 and asty.ascent_successful and not a.ascent_type_id = 6 and g.order_on >= 42 and amk.key in ('Sessions', 'Sessions (Approx)') and am.value ~ '^[0-9]+$' and am.value::integer < 6 order by g.grade_id desc ,am.value::integer ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
Diff
--- before

+++ after

@@ -1,7 +1,9 @@

select
- '<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
+ a.ascent_id as "#"
+ ,'<a href="/climber/' || cast(c.climber_id as varchar) || '">' || c.climber_name || '</a>' as Climber
,'<a href="/climb/' || cast(cl.climb_id as varchar) || '">' || cl.climb_name || '</a>' as Climb
- ,g.grade
+ ,g.grade as Grade
+ ,am.value as Sessions
,pretty_dt(a.ascent_dt_start, a.ascent_dt_end) as "Ascent Date"

from
@@ -14,6 +16,10 @@

on cl.grade_id = g.grade_id
inner join ascent_styles asty
on a.ascent_style_id = asty.ascent_style_id
+ inner join ascent_meta am
+ on a.ascent_id = am.ascent_id
+ inner join ascent_meta_keys amk
+ on am.ascent_meta_key_id = amk.ascent_meta_key_id

where
a.deleted_on is null
@@ -22,11 +28,16 @@

and a.exclude_reason is null
and c.exclude_reason is null
and cl.exclude_reason is null
- and g.order_on >= 42
and cl.climb_type = 2
and asty.ascent_successful
- and not a.ascent_type_id = 6
+ and not a.ascent_type_id = 6
+ and g.order_on >= 42
+ and amk.key in ('Sessions', 'Sessions (Approx)')
+ and am.value ~ '^[0-9]+$'
+ and am.value::integer < 6

order by
g.grade_id desc
- ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
+ ,am.value::integer
+ ,order_dt(a.ascent_dt_start, a.ascent_dt_end)
+
3555 9th April 2026 16:46:40 UTC baz9 climb Wavelength notes
Before
None
After
55-degree, overhung, wave-like sandstone feature.
Diff
--- before

+++ after

@@ -1 +1 @@

-
+55-degree, overhung, wave-like sandstone feature.
3556 9th April 2026 16:46:40 UTC baz9 climb Wavelength notes_pretty
Before
None
After
<p>55-degree, overhung, wave-like sandstone feature.</p>
3557 9th April 2026 15:35:02 UTC baz9 ascent Jordan Cannon's ascent of Lurking Fear Partner
Before
None
After
3868
3558 9th April 2026 15:34:42 UTC baz9 ascent Michael Vaill's ascent of Lurking Fear Partner
Before
None
After
1299
3559 9th April 2026 15:34:20 UTC baz9 media https://www.instagram.com/reel/DKttE1YNfkN/ missing_right_to_reproduce
Before
None
After
false
3560 9th April 2026 15:34:20 UTC baz9 media https://www.instagram.com/reel/DKttE1YNfkN/ dt_pretty
Before
None
After

< Page 178 >