| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | USA | 1526 | 20th November 2025 – 4th November 2026 | 48 | 20 | 0 | 88 | 98 |
| 2 | Australia | 767 | 27th September 2025 – 29th June 2026 | 6 | 38 | 0 | 61 | 33 |
| 3 | United Kingdom | 625 | 19th November 2025 – 4th November 2026 | 34 | 14 | 0 | 24 | 49 |
| 4 | Switzerland | 308 | 24th January 2026 – 4th November 2026 | 6 | 3 | 0 | 14 | 38 |
| 5 | France | 300 | 6th January 2026 – 4th November 2026 | 15 | 3 | 0 | 12 | 34 |
| 6 | Austria | 210 | 12th November 2025 – 22nd June 2026 | 5 | 2 | 0 | 8 | 22 |
| 7 | Italy | 163 | 18th November 2025 – 2nd November 2026 | 9 | 3 | 0 | 12 | 12 |
| 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 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 2581 | 7th May 2026 | 16:29:37 UTC | ben_sandi | list | Birthdays of Climbers | list_description | |
|
Before
Lists the birthdays of each climber on the site. Climbers with non exact birth dates are excluded.
After
Lists the birthdays of each climber on the site. Climbers with non-exact birth dates are excluded.
Diff
--- before
|
|||||||
| 2582 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_type_name | |
|
Before
None
After
Misc.
|
|||||||
| 2583 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_type_id | |
|
Before
None
After
5
|
|||||||
| 2584 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_description_pretty | |
|
Before
None
After
<p>Lists the birthdays of each climber on the site. Climbers with non exact birth dates are excluded.</p>
|
|||||||
| 2585 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_definition | |
|
Before
None
After
with days as (
select
gs::date as day_of_year
,to_char(gs::date, 'MM-DD') as month_day
from
generate_series(
date '2000-01-01'
,date '2000-12-31'
,interval '1 day'
) as gs
), climbers_with_exact_dobs as (
select
c.climber_id
,c.climber_name
,c.date_of_birth_start::date as date_of_birth
,to_char(c.date_of_birth_start::date, 'MM-DD') as month_day
from
climbers c
where
c.deleted_on is null
and c.date_of_birth_start is not null
and c.date_of_birth_start = c.date_of_birth_end
), climber_ascent_counts as (
select
c.climber_id
,count(a.ascent_id) as ascent_count
from
climbers_with_exact_dobs c
left join ascents a
on a.climber_id = c.climber_id
and a.deleted_on is null
group by
c.climber_id
), climbers_ranked_by_day as (
select
c.month_day
,c.climber_id
,c.climber_name
,coalesce(cac.ascent_count, 0) as ascent_count
from
climbers_with_exact_dobs c
left join climber_ascent_counts cac
on c.climber_id = cac.climber_id
)
select
to_char(d.day_of_year, 'FMDD FMMonth') as "Day"
,string_agg(
'<a href="/climber/' || crbd.climber_id::varchar || '">' || crbd.climber_name || '</a>'
,', '
order by crbd.ascent_count desc, crbd.climber_name asc
) as "Climbers"
from
days d
left join climbers_ranked_by_day crbd
on d.month_day = crbd.month_day
group by
d.day_of_year
order by
extract(month from d.day_of_year)
,extract(day from d.day_of_year)
Diff
--- before
|
|||||||
| 2586 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_description | |
|
Before
None
After
Lists the birthdays of each climber on the site. Climbers with non exact birth dates are excluded.
Diff
--- before
|
|||||||
| 2587 | 7th May 2026 | 16:28:14 UTC | ben_sandi | list | Birthdays of Climbers | list_name | |
|
Before
None
After
Birthdays of Climbers
|
|||||||
| 2588 | 7th May 2026 | 14:47:42 UTC | ben_sandi | list | Notable Queer Climbers | list_definition | |
|
Before
(Content not logged as it exceeds the threshold of 10000 characters)
After
(Content not logged as it exceeds the threshold of 10000 characters)
Diff
--- before
|
|||||||
| 2589 | 7th May 2026 | 00:32:16 UTC | ben_sandi | list | Crags Without Coordinates | list_definition | |
|
Before
select
'<a href="' || c.url || '">' || c.crag_name || '</a>' as Crag
,coalesce(cc.cnt_climbs, 0) as Climbs
,c.location_breadcrumb_pretty as Location
,case
when c.ukc_url is not null then '<a href="' || c.ukc_url || '">UKC</a>'
else null
end as UKC
,case
when c.eight_a_nu_url is not null then '<a href="' || c.eight_a_nu_url || '">8a.nu</a>'
else null
end as "8a.nu"
,case
when w.thecrag_url is not null then '<a href="' || w.thecrag_url || '">theCrag</a>'
else null
end as "theCrag"
,case
when w.crags27_url is not null then '<a href="' || w.crags27_url || '">27crags</a>'
else null
end as "27crags"
from
crags c
left join (
select
cl.crag_id
,count(*) as cnt_climbs
from
climbs cl
where
cl.deleted_on is null
group by
cl.crag_id
) cc
on cc.crag_id = c.crag_id
left join (
select
cm.crag_id
,max(case when cm.value ilike '%thecrag.com%' then cm.value end) as thecrag_url
,max(
case
when cm.value ilike '%27crags.com%'
or cm.value ilike '%thetopo.com%'
then cm.value
end
) as crags27_url
from
crag_meta cm
where
cm.crag_meta_key_id = 1
group by
cm.crag_id
) w
on w.crag_id = c.crag_id
where
c.deleted_on is null
and c.group_crag_id is null
and c.latitude is null
and c.longitude is null
order by
coalesce(cc.cnt_climbs, 0) desc
,c.crag_name
After
select
'<a href="' || c.url || '">' || c.crag_name || '</a>' as Crag
,coalesce(cc.cnt_climbs, 0) as Climbs
,case
when c.ukc_url is not null then '<a href="' || c.ukc_url || '">UKC</a>'
else null
end as UKC
,case
when c.eight_a_nu_url is not null then '<a href="' || c.eight_a_nu_url || '">8a.nu</a>'
else null
end as "8a.nu"
,case
when w.thecrag_url is not null then '<a href="' || w.thecrag_url || '">theCrag</a>'
else null
end as "theCrag"
,case
when w.crags27_url is not null then '<a href="' || w.crags27_url || '">27crags</a>'
else null
end as "27crags"
from
crags c
left join (
select
cl.crag_id
,count(*) as cnt_climbs
from
climbs cl
where
cl.deleted_on is null
group by
cl.crag_id
) cc
on cc.crag_id = c.crag_id
left join (
select
cm.crag_id
,max(case when cm.value ilike '%thecrag.com%' then cm.value end) as thecrag_url
,max(
case
when cm.value ilike '%27crags.com%'
or cm.value ilike '%thetopo.com%'
then cm.value
end
) as crags27_url
from
crag_meta cm
where
cm.crag_meta_key_id = 1
group by
cm.crag_id
) w
on w.crag_id = c.crag_id
where
c.deleted_on is null
and c.group_crag_id is null
and c.latitude is null
and c.longitude is null
order by
coalesce(cc.cnt_climbs, 0) desc
,c.crag_name
Diff
--- before
|
|||||||
| 2590 | 7th May 2026 | 00:28:12 UTC | ben_sandi | list | Crags Without Coordinates | list_type_name | |
|
Before
Bouldering
After
Admin
|
|||||||
| 2591 | 7th May 2026 | 00:28:12 UTC | ben_sandi | list | Crags Without Coordinates | list_type_id | |
|
Before
1
After
6
|
|||||||
| 2592 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_type_name | |
|
Before
None
After
Bouldering
|
|||||||
| 2593 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_type_id | |
|
Before
None
After
1
|
|||||||
| 2594 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_description_pretty | |
|
Before
None
After
<p>This is a list of crags that have no location coordinates. </p>
|
|||||||
| 2595 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_definition | |
|
Before
None
After
select
'<a href="' || c.url || '">' || c.crag_name || '</a>' as Crag
,coalesce(cc.cnt_climbs, 0) as Climbs
,c.location_breadcrumb_pretty as Location
,case
when c.ukc_url is not null then '<a href="' || c.ukc_url || '">UKC</a>'
else null
end as UKC
,case
when c.eight_a_nu_url is not null then '<a href="' || c.eight_a_nu_url || '">8a.nu</a>'
else null
end as "8a.nu"
,case
when w.thecrag_url is not null then '<a href="' || w.thecrag_url || '">theCrag</a>'
else null
end as "theCrag"
,case
when w.crags27_url is not null then '<a href="' || w.crags27_url || '">27crags</a>'
else null
end as "27crags"
from
crags c
left join (
select
cl.crag_id
,count(*) as cnt_climbs
from
climbs cl
where
cl.deleted_on is null
group by
cl.crag_id
) cc
on cc.crag_id = c.crag_id
left join (
select
cm.crag_id
,max(case when cm.value ilike '%thecrag.com%' then cm.value end) as thecrag_url
,max(
case
when cm.value ilike '%27crags.com%'
or cm.value ilike '%thetopo.com%'
then cm.value
end
) as crags27_url
from
crag_meta cm
where
cm.crag_meta_key_id = 1
group by
cm.crag_id
) w
on w.crag_id = c.crag_id
where
c.deleted_on is null
and c.group_crag_id is null
and c.latitude is null
and c.longitude is null
order by
coalesce(cc.cnt_climbs, 0) desc
,c.crag_name
Diff
--- before
|
|||||||
| 2596 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_description | |
|
Before
None
After
This is a list of crags that have no location coordinates.
Diff
--- before
|
|||||||
| 2597 | 7th May 2026 | 00:27:46 UTC | ben_sandi | list | Crags Without Coordinates | list_name | |
|
Before
None
After
Crags Without Locations
|
|||||||
| 2598 | 6th May 2026 | 23:41:29 UTC | ben_sandi | list | Notable Queer Climbers | list_definition | |
|
Before
(Content not logged as it exceeds the threshold of 10000 characters)
After
(Content not logged as it exceeds the threshold of 10000 characters)
Diff
--- before
|
|||||||
| 2599 | 6th May 2026 | 23:39:36 UTC | ben_sandi | climber | Taylor Parsons | notes_pretty | |
|
Before
<p>First Australian to climb V15</p>
<p>From Taylors Instagram:</p>
<blockquote>
<p>For most of my life, I pretended to be happy. The truth is, I was far from it.<br>
The journey to womanhood hasn't been easy. I've lost friends. I've lost relationships. But the hardest part has been staying true to myself. </p>
<p>Through it all, I've kept showing up, with honesty and heart. I'm proud of that. </p>
<p>I'm a mum to three beautiful kids.<br>
I've been a professional climber, competing in world cups around the world, making finals and semi finals while representing Australia.<br>
Established what was at the time, some of the hardest rock climbs and boulder problems in the world up to V15.<br>
Stood on the podium at prestigious Arco Rock Master climbing comp in Italy for 3rd place. And the Bloc Master comp in Innsbruck for 2nd place.<br>
I co-authored the Grampians bouldering guide book.<br>
I was An elite-level cyclist. An elite CrossFitter. A Jiu-Jitsu practitioner.<br>
A IRATA level 3 rope access technician working across England, Europe, China, the U.S., Canada, Australia, and the Caribbean. An IRATA Rope Access Instructor.<br>
Manager of Protective Security for Westpac Bank in the corporate sector.<br>
A personal trainer. Route setter. Nurse. Electrician. Plasterer. Pest control tech.<br>
I've built and run my own businesses, a rope access company, a CrossFit gym, a pest control company, a clothing brand.<br>
And now, I've launched a new rope access firm with an amazing and trusted friend! a company we're determined to grow into one of the industry's best. @skytech_projects </p>
<p>This life hasn't been easy. But it's been f*cking real.<br>
And I'm still here. Still growing. Still choosing truth over comfort, every single day.</p>
</blockquote>
<h3>References</h3>
<p>[1] Podcast with <a href="/climber/702/niall-grimes" rel="noopener noreferrer">Niall Grimes</a>, originally recorded in 2021 and then re-released in 2025 <a href="https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z" rel="noopener noreferrer">https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z</a></p>
After
<p>The first Australian to climb V15</p>
<p>From Taylors Instagram:</p>
<blockquote>
<p>For most of my life, I pretended to be happy. The truth is, I was far from it.<br>
The journey to womanhood hasn't been easy. I've lost friends. I've lost relationships. But the hardest part has been staying true to myself. </p>
<p>Through it all, I've kept showing up, with honesty and heart. I'm proud of that. </p>
<p>I'm a mum to three beautiful kids.<br>
I've been a professional climber, competing in world cups around the world, making finals and semi finals while representing Australia.<br>
Established what was at the time, some of the hardest rock climbs and boulder problems in the world up to V15.<br>
Stood on the podium at prestigious Arco Rock Master climbing comp in Italy for 3rd place. And the Bloc Master comp in Innsbruck for 2nd place.<br>
I co-authored the Grampians bouldering guide book.<br>
I was An elite-level cyclist. An elite CrossFitter. A Jiu-Jitsu practitioner.<br>
A IRATA level 3 rope access technician working across England, Europe, China, the U.S., Canada, Australia, and the Caribbean. An IRATA Rope Access Instructor.<br>
Manager of Protective Security for Westpac Bank in the corporate sector.<br>
A personal trainer. Route setter. Nurse. Electrician. Plasterer. Pest control tech.<br>
I've built and run my own businesses, a rope access company, a CrossFit gym, a pest control company, a clothing brand.<br>
And now, I've launched a new rope access firm with an amazing and trusted friend! a company we're determined to grow into one of the industry's best. @skytech_projects </p>
<p>This life hasn't been easy. But it's been f*cking real.<br>
And I'm still here. Still growing. Still choosing truth over comfort, every single day.</p>
</blockquote>
<h3>References</h3>
<p>[1] Podcast with <a href="/climber/702/niall-grimes" rel="noopener noreferrer">Niall Grimes</a>, originally recorded in 2021 and then re-released in 2025 <a href="https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z" rel="noopener noreferrer">https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z</a></p>
|
|||||||
| 2600 | 6th May 2026 | 23:39:36 UTC | ben_sandi | climber | Taylor Parsons | notes | |
|
Before
First Australian to climb V15
From Taylors Instagram:
> For most of my life, I pretended to be happy. The truth is, I was far from it.
> The journey to womanhood hasn't been easy. I've lost friends. I've lost relationships. But the hardest part has been staying true to myself.
>
> Through it all, I've kept showing up, with honesty and heart. I'm proud of that.
>
> I'm a mum to three beautiful kids.
> I've been a professional climber, competing in world cups around the world, making finals and semi finals while representing Australia.
> Established what was at the time, some of the hardest rock climbs and boulder problems in the world up to V15.
> Stood on the podium at prestigious Arco Rock Master climbing comp in Italy for 3rd place. And the Bloc Master comp in Innsbruck for 2nd place.
> I co-authored the Grampians bouldering guide book.
> I was An elite-level cyclist. An elite CrossFitter. A Jiu-Jitsu practitioner.
> A IRATA level 3 rope access technician working across England, Europe, China, the U.S., Canada, Australia, and the Caribbean. An IRATA Rope Access Instructor.
> Manager of Protective Security for Westpac Bank in the corporate sector.
> A personal trainer. Route setter. Nurse. Electrician. Plasterer. Pest control tech.
> I've built and run my own businesses, a rope access company, a CrossFit gym, a pest control company, a clothing brand.
> And now, I've launched a new rope access firm with an amazing and trusted friend! a company we're determined to grow into one of the industry's best. @skytech_projects
>
> This life hasn't been easy. But it's been f*cking real.
> And I'm still here. Still growing. Still choosing truth over comfort, every single day.
### References
[1] Podcast with [Niall Grimes](/climber/702/niall-grimes), originally recorded in 2021 and then re-released in 2025 [https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z](https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z)
After
The first Australian to climb V15
From Taylors Instagram:
> For most of my life, I pretended to be happy. The truth is, I was far from it.
> The journey to womanhood hasn't been easy. I've lost friends. I've lost relationships. But the hardest part has been staying true to myself.
>
> Through it all, I've kept showing up, with honesty and heart. I'm proud of that.
>
> I'm a mum to three beautiful kids.
> I've been a professional climber, competing in world cups around the world, making finals and semi finals while representing Australia.
> Established what was at the time, some of the hardest rock climbs and boulder problems in the world up to V15.
> Stood on the podium at prestigious Arco Rock Master climbing comp in Italy for 3rd place. And the Bloc Master comp in Innsbruck for 2nd place.
> I co-authored the Grampians bouldering guide book.
> I was An elite-level cyclist. An elite CrossFitter. A Jiu-Jitsu practitioner.
> A IRATA level 3 rope access technician working across England, Europe, China, the U.S., Canada, Australia, and the Caribbean. An IRATA Rope Access Instructor.
> Manager of Protective Security for Westpac Bank in the corporate sector.
> A personal trainer. Route setter. Nurse. Electrician. Plasterer. Pest control tech.
> I've built and run my own businesses, a rope access company, a CrossFit gym, a pest control company, a clothing brand.
> And now, I've launched a new rope access firm with an amazing and trusted friend! a company we're determined to grow into one of the industry's best. @skytech_projects
>
> This life hasn't been easy. But it's been f*cking real.
> And I'm still here. Still growing. Still choosing truth over comfort, every single day.
### References
[1] Podcast with [Niall Grimes](/climber/702/niall-grimes), originally recorded in 2021 and then re-released in 2025 [https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z](https://open.spotify.com/episode/5NHG7EfwMMQnphpUyAIm2Z)
Diff
--- before
|
|||||||